Tuesday, February 2, 2010

Blocking and Non-Blocking

There is very little difference between non-blocking and blocking in speed and no errors if done correctly either way.
Blocking and Non-Blocking are procedural assignments, Where Blocking performs sequential execution and  Non- blocking executes the statements
in  parallel.
If a variable is given value by a blocking assignment statement then this new value is used in evaluating all subsequent statements in block.
 
Synthesized blocking statements:
always@ (posedge clk)
begin
Q1 = D;
Q2 = Q1;
end