求助!verilog语言怎么写才能避免锁存器的生成?
时间:10-02
整理:3721RD
点击:
看了一些锁存器的坏处,但不知道用verilog写代码的时候怎么不生成锁存器?
求各位大侠指点!
求各位大侠指点!
在if或者case等分支语句中,给reg赋值的时候,不要漏了,在每一个选项中都给它赋值就可以了。
我理解你是想写组合电路,避免latch的产生。
可以用Verilog2001的风格:
always @*
或者用SystemVerilog的always_comb语句, 现在综合器都支持
受教了,
以后自己也要注意了
严格遵守代码规范
把应该写的分支都写全了,敏感列表全了就行。注意先有硬件后有代码
关键要避免组合逻辑反馈。
组合逻辑case,if 要写全,注意加default
锁存器
组合逻辑中,每种情况都要写全,比如if要有else情况,case要有default情况.
对于真正的寄存器,应该不存在所谓的锁存器
在写组合逻辑电路的always块中,要注意always块中要使用的输入信号在always后面的敏感信号表中不能有遗漏,组合逻辑电路设计时不能有反馈。其他的就是上面说的if、else;case等语句要完全。
学了
学习了.你可以看QUARTUS II使用手册
