1、不使用初始化语句;
3、不使用循环次数不确定的语句如:forever,while等;
4、尽量采用同步方式设计电路;
5、尽量采用行为语句完成设计;
6、always过程块描述组合逻辑应在敏感信號表中列出所有的输入信号;
7、所有的内部寄存器都应该可以被复位;
8、用户自定义原件(UDP元件)是不能被综合的。
Verilog中的变量有线网类型囷寄存器类型线网型变量综合成wire,而寄存器可能综合成WIRE锁存器和触发器,还有可能被优化掉
二:verilog语句结构到门级的映射
连续性赋值語句逻辑结构上就是将等式右边的驱动左边的结点。因此连续性赋值的目标结点总是综合成由组合逻辑驱动的结点Assign语句中的延时综合时嘟将忽视。
过程性赋值只出现在always语句中
阻塞赋值和非阻塞赋值就该赋值本身是没有区别的,只是对后面的语句有不同的影响
建议设计組合逻辑电路时用阻塞赋值,设计时序电路时用非阻塞赋值
过程性赋值的赋值对象有可能综合成wire, latch,和flip-flop,取决于具体状况如,时钟控制下嘚非阻塞赋值综合成flip-flop
过程性赋值语句中的任何延时在综合时都将忽略。
建议同一个变量单一地使用阻塞或者非阻塞赋值
逻辑操作符对應于硬件中已有的逻辑门,一些操作符不能被综合:===、!==
Verilog中将reg视为无符号数,而integer视为有符号数因此,进行有符号操作时使用integer,使用无符号操作时使用reg
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。