29 lines
853 B
Markdown
29 lines
853 B
Markdown
|
Verilog Guidelines:
|
||
|
===================
|
||
|
|
||
|
These are some guidlines extracted from: Verilog Nonblocking Assignments With Delays,
|
||
|
Myths & Mysteries
|
||
|
http://www.sunburst-design.com/papers/CummingsSNUG2002Boston_NBAwithDelays.pdf
|
||
|
|
||
|
|
||
|
* 1 When modeling sequential logic, use nonblocking assignments.
|
||
|
|
||
|
* 2 When modeling latches, use nonblocking assignments.
|
||
|
|
||
|
* 3 When modeling combinational logic with an always block, use blocking
|
||
|
assignments.
|
||
|
|
||
|
* 4 When modeling both sequential and combinational logic within the same always
|
||
|
block, use nonblocking assignments.
|
||
|
|
||
|
* 5 Do not mix blocking and nonblocking assignments in the same always block.
|
||
|
|
||
|
* 6 Do not make assignments to the same variable from more than one always block.
|
||
|
|
||
|
* 7 Use $strobe to display values that have been assigned using nonblocking
|
||
|
assignments.
|
||
|
|
||
|
* 8 Do not make assignments using #0 delays.
|
||
|
|
||
|
|