阻塞赋值和非阻塞赋值
Posted achangchang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻塞赋值和非阻塞赋值相关的知识,希望对你有一定的参考价值。
为尽量避免在综合布局布线后的仿真中出现冒险竞争现象,在编写Verilog代码时必须牢记以下8个原则:
1,时序电路建模时,用非阻塞赋值。
2,锁存器电路建模时,用非阻塞赋值。
3,用always块建立组合逻辑模型时,用阻塞赋值。
4,在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。
5,在同一个always块中不要既用非阻塞赋值又用阻塞赋值。
6,不要在一个以上的always块中为同一个变量赋值。(新手几乎都会犯的错误,Vivado在综合时会报critical warning: multiple-driver)
7,用$strobe系统任务来显示用非阻塞赋值的变量值。
8,在赋值时不要使用 #0 延迟。
参考《Verilog数字系统设计教程 第四版 夏宇闻》
以上是关于阻塞赋值和非阻塞赋值的主要内容,如果未能解决你的问题,请参考以下文章