베릴로그에서의
Nonblocking Assignments와 Blocking Assignments의 차이
그리고 관련된 Guideline
Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill!
Clifford E. Cummings
http://csg.csail.mit.edu/6.375/papers/cummings-nonblocking-snug99.pdfABSTRACT
One of the most misunderstood constructs in the Verilog language is the nonblocking assignment. Even very experienced Verilog designers do not fully understand how nonblocking
assignments are scheduled in an IEEE compliant Verilog simulator and do not understand when and why nonblocking assignments should be used. This paper details how Verilog blocking and nonblocking assignments are scheduled, gives important coding guidelines to infer correct synthesizable logic and details coding styles to avoid Verilog simulation race conditions.