• 青玉白露
    置顶
    2022-08-06 来自湖北
    感觉大家很吃力,做了一个关于Verilog的初学者笔记,里面包含在线学习网站https://zhuanlan.zhihu.com/p/550710744

    作者回复: 6666 感谢分享

    
    16
  • 肖水平
    2022-08-03 来自湖北
    思考题: 根本原因就是专用芯片运算速度比GPU快,GPU运算速度比CPU快,而软件实现的算法是运行在CPU上的。 具体原因如下: 1、指令数多:软件实现的算法最终要编译成CPU可执行的机器指令,中间还会有很多控制指令; 2、CPU指令执行步骤多:CPU执行一条指令需要经过取指、译码、执行、访存、写回步骤; 3、多位运算需要拆分:比如128位的运算在32/64位CPU上执行编译后会拆分成多条指令; 4、将算法硬件化后可以直接执行运算,不需要通过指令来控制,多位运算也可以实现多位运算模块来直接运算; 总之软件实现的算法在CPU消耗的时钟数要多很多,而CPU也只擅长控制,不擅长运算。

    作者回复: 是的 你学到了

    
    12
  • 爱酱大胜利
    2022-08-04 来自湖北
    思考题: 1.设计的目的 CPU属于“通用性”设计 一个CPU能运行这个算法也能运行那个算法 改改代码就可以 代价就是翻译过程因为通用性所带来的迁就 而硬件化的算法属于“专用性”设计 也就是说它只能做着一件事所以怎么设计方便怎么来 反正以后不用为了实现其他算法再改电路了 这也是软硬件实现的区别之一 2.运行效率 还是由于上一条的设计理念 导致软件的运行依赖于CPU实现的特定指令集 原本算法中一个硬件周期的动作可能被转化为多条指令 而每条指令可能会依赖多个运行周期 即使运行会得到优化 也远远比不上一个周期来的快 而且CPU为了通用性很可能不会将这种特殊性动作添加到一个不常用CISC里

    作者回复: 66666

    
    8
  • peter
    2022-08-01 来自湖北
    请教老师几个问题: Q1:代码转化后的逻辑电路,只是电子版的“设计电路”,并不是实际的电路,对吗? 文中有这样一句:“把一份电路用代码的形式表示出来,然后由计算机把代码转换为所对应的逻辑电路。”,此处,“转换后的逻辑电路”并不是实际的电路,应该只是“设计电路”。 Q2:“cnt_r <=4'b000;”? 此处应该是四个0吧,为什么写成三个0?笔误吗? Q3:芯片中的模拟电路是用什么设计的? Q4:芯片前端设计的代码,就是用verilog写的代码,对于一个芯片来说,一般规模多大?比如十万行代码?

    作者回复: Q1:对 Q2:是笔误 Q3Q4:是的 只会更多

    共 3 条评论
    8
  • 泡泡龙
    2022-08-01 来自湖北
    思考题我认为,软件实现要在通用的硬件上执行就势必要执行一些逻辑上的模拟或者转换。而专用的硬件则没有这些转换过程,并且可以针对性的优化执行路径,所以要快许多。

    作者回复: 是的

    
    5
  • LockedX
    2022-08-01 来自湖北
    老师,有个问题一直没有想明白 reg [3:0] cnt_r;     wire [1:0] cout_w; reg和wire的声明,冒号前面是数字代表位宽,冒号后面的0含义是什么?

    作者回复: 是0到3 4个bit 0到1 2个bit

    共 2 条评论
    3
  • Geek_21cfda
    2022-08-01 来自湖北
    FPGA编程和今天讲得编程有什么区别吗?

    作者回复: 有

    
    2
  • 可爱因子1/n
    2022-08-06 来自湖北
    针对我自己的理解,打个比喻:在性能和单位时间以及油门相同的情况下,我开着一辆车的发动机的转速和一个直接裸的发动机的转速比较,裸的发动机的转速按常理来说应该会更快一点,不知道我的比喻是否准确?

    作者回复: 你说呢

    
    1
  • 111
    2022-08-02 来自湖北
    关于思考题: 我的理解是 Verilog更多面向的是硬件,通过它设计完成之后,可以直接参照其代码流程组合相关硬件,在针对特定算法的设计后,组合出来的就是该算法最“合身”的底层电路模型。 而对于一些软件语言的实现,更多的是业务层面的实现,业务实现之后还要面临“翻译”,翻译成计算机能够执行的指令集,这一步就已经开始出现了效率损耗,同时因为“翻译”动作,也就可能出现为了实现某一功能,底层指令可能要绕一些“弯路”才能实现,毕竟不能像Verilog那样,做到“完美贴切”的电路设计

    作者回复: 对的

    
    1
  • nmg
    2022-08-01 来自湖北
    是因为用硬件实现是算法最优化电路设计,而软件实现可能是芯片现有资源的组合,不是最优电路,所以会慢吗?

    作者回复: 是的

    
    1