Blocking vs non-blocking-race condition


5.2.8. Blocking vs non-blocking-race condition

*      Never mix a description of combinational (blocking) construct with sequential (nonblocking).

*      Blocking: combinational àracing

Since the final outputs depend on the order in which the assignments are evaluated, blocking assignments within sequential block may cause race condition.

*      Nonblocking: sequential àNo race condition

Nonblockng assignments closely resemble hardware as they are order independent.

*      Most of the applications which require data transfer within module required to be written using non-blocking assignment statement.

 
References

[HM] Himanshu Bhatnagar, Advanced ASIC chip Synthesis Using Synopsys Design Compiler, Physical Compiler and PrimeTime, Kluwer Academic Publishers, Second edition, 2002
[DC] Design Compiler® User Guide, Version X-2005.09, September 2005
[RC] Using Encounter® RTL Compiler, Product Version 8.1.202, April 2009
[BH] J. Bhasker, Rakesh Chadha, Static Timing Analysis for Nanometer Designs A Practical Approach, 2009

No comments:

Post a Comment

Your Comments... (comments are moderated)