查看: 717|回复: 0

明德扬Verilog语法初学者关心的问题汇总贴

[复制链接]
  • TA的每日心情
    开心
    2023-1-4 10:25
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2022-3-29 08:42:34 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 mdyfpga 于 2022-3-29 08:45 编辑

        VerilogHDL是一种硬件描述语言(HDL:Hardware Description Language),是芯片及FPGA设计的基本编程语言,与C语言的风格类似,容易被电路设计人员接受使用。但与C语言又有诸多差别,如何简单、快速掌握Verilog基本语法,使用Verilog编程语言开展芯片、FPGA设计工作,是每一个初学者关心的问题!

        在学习的过程中问题也是很多的,针对同学们提出的问题明德扬整理了下面记录的Verilog语法到的一些问题答疑进行汇总,需要更多学习问题的同学可以复制链接:http://www.mdy-edu.com/wentijieda/20210409/1258.html也欢迎提出你的问题和解答!
    **
    [url=http://www.mdy-edu.com/wentijieda/20210409/1258.html]也欢迎提出你的问题和解答!
    **
    资源多而零散,缺乏系统性,严重影响学习热情;并且**资源质量参差不齐,很有可能学到一些错误的知识。无人教你、无人指导、无人请教...有些问题难住你,有可能百度都百度不到针对这些问题,明德扬专门汇总了问题答疑,只需您找到对应的Verilog语法问题进行解答即可, 如果同学们的问题我们帖子里面没有的请第一时间联系我们对新问题进行补充!



    【问题0】:关于阻塞赋值“=”和非阻塞赋值“<=”的讨论。:请看此帖子[/url]http://www.mdy-edu.com/zhijian/2021/0409/1255.html


    【问题1】:关于 data[31 -cnt0*8 -:8]的含义。
    答:MDY常用的数据选择语句  http://www.mdy-edu.com/wentijieda/20210409/1256.html

    【问题2】:关于数组的含义,即reg[7:0]  data[3:0]的含义。
    答:Verilog中数组的表示 http://www.mdy-edu.com/wentijieda/20210409/1257.html


    【问题3】:VERILOG中正负数、小数的表示方法。答:FPGA中正负数和定点小数的表示方法http://www.mdy-edu.com/zuixinyuanchuang/2019/1213/642.html


    【问题4】:在设计文件中,如何确定信号是什么类型的?答:【技巧分享】在设计文件中,如何确定信号是reg型还是wire型?http://www.mdy-edu.com/wentijieda/20210408/1196.html另外,对于没有定义的信号,默认为1比特wire型。


    【问题5】:我设计了一个模块,并且模块命名为latch,为什么软件会提示错误。  答:latch是VERILOG关键词,不能用于自己设计的模块命名或者信号名。所以要注意关键词。


    【问题6】左移和右移,空出的位置是补0吗?答:是的。左移就是低位补0,右移就是高位补0。


    【问题7】在verilog中到底应不应该用for循环?答:在硬件描述语言中for语句的使用较C语言等软件描述语言有较大的区别。在Verilog中除了在Testbench中使用for语句外,在RTL级编码中是却很少使用for循环语句。主要原因就是for循环会被综合器展开为所有变量情况的执行语句,每个变量独立占用寄存器资源,每条执行语句并不能有效的复用逻辑资源,造成巨大的资源浪费。简单来说:for循环几次,就是将相同的电路复制几次,因此循环次数越多,占用面积越大,综合就越慢。

    【问题8】在Verilog中想要给一个信号赋值的位宽是可变的,应该怎么做?答:可以使用下面这个赋值方法:{WID{1'b1}}举例:din <= {WID{1'b1}},当WID为8的时候,din <= 8'b1111_1111,通过修改WID的值,可使赋值的位宽发生变化。


    【问题9data[b+7:b]<=rx[a+7:a]老师我想用for循环动态给data的区间赋值,但是报错说b不是常量怎么办?答:verilog中不支持位宽选择时 上边界和下边界均为变量。另外:不要用软件的思维来做FPGA设计


    【问题10】问能不能在适中的下降沿采集数据呢,比如写成always@(negedge clk)答:整体系统中,建议都使用时钟上升沿,不要使用下降沿,否则不符合设计规范,造成系统的不稳定。FPGA系统会对全部路径进行路径分析,会计算两个D触发器之间的延时,确保这个时钟上升沿发出的数据,在下一个时钟上升沿能采到。假如上升沿发数据,下降沿来采集(或者下降沿发数据,上升沿采集),相当于时钟周期减半了,时序要求更高了。


       Verilog语法问题汇总,需要更多的问题汇总请点击链接明德扬官网进行查找:http://www.mdy-edu.com/wentijieda/20210424/1359.html,希望对的学习有所帮助内容会不断更新。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-6-2 03:41 , Processed in 0.102069 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.