总结如下:
1,时序电路建模时,用非阻塞赋值。
2,锁存器电路建模时,用非阻塞赋值。
3,用 always块写组合逻辑时,采用阻塞赋值。
4,在同一个 always块中同时建立时序和组合逻辑电路时,用非阻塞赋值。
5,在同一个 always块中不要 同时使用非阻塞赋值和阻塞赋值。
6,不要在多个 always 块中为同一个变量赋值。
7,用 $strobe 系统任务来显示用非阻塞赋值的变量值。
8,在赋值时不要使用 #0 延迟。
结论: 遵循以上,有助于正确的编写可综合硬件,并且可以消除90 —100%在仿真时可能产生的竞争冒险现象。
-----------------------------------------------------------------------------------------------