Differences between blocking and Non-blocking statements in
Verilog?
Answers were Sorted based on User's Feedback
Answer / amit malik
cp mistake in 1st one.
-----------------------------------
Blocking statements are executed on after another
represented by '='
Ex. lets take two variables
reg A:0;
reg B:1;
initial
begin
A = B;
B = A;
end
Ans
A = 1
B = 1
Non Blocking
instructions are executed concurrently
represented by '<='
Ex. lets take two variables
reg A:0;
reg B:1;
initial
begin
A <= B;
B <= A;
end
Ans
A = 1
B = 0
Is This Answer Correct ? | 66 Yes | 1 No |
Answer / appu
@ Remya,
With non-blocking statements as shown above, A will always
get the OLD/previous value of B, and B will always get the
OLD/previous value of A.
Because, in a non-blocking statement assignment, the right
hand side of the statement gets evaluated right away, but
doesn't get assigned to the left hand side of the statement
until at the end of the time step.
Is This Answer Correct ? | 20 Yes | 1 No |
Answer / amit malik
Blocking statements are executed on after another
represented by '='
Ex. lets take two variables
reg A:0;
reg B:1;
initial
begin
A = B;
B = A;
end
Ans
A = 1
B = 1
Non Blocking
instructions are executed concurrently
represented by '=>'
Ex. lets take two variables
reg A:0;
reg B:1;
initial
begin
A = B;
B = A;
end
Ans
A = 1
B = 0
Is This Answer Correct ? | 35 Yes | 18 No |
Answer / darshan
DURING BLOCKING STATEMENTS, PREVIOUS VALUES GETS STORED TO
THE LHS.
WHERE AS IN NON BLOCKING STATEMENT, SINCE IT IS EXECUTING IN
PARALLEL 1ST SIMULATOR READS AND STORES IN TEMPORARY
REGISTER INTERNALLY IN SIMULATOR. THEN AT THE END OF THE
TIME UNIT IT IS ASSIGNED TO THE LHS.
ANYWAYS FROM MY POINT OF VIEW A OR B DONT GET THE PREV/OLD
VALUE
Is This Answer Correct ? | 7 Yes | 2 No |
Answer / remya
Yes,the explanation is ok but after a particular time
units,the value of B must be equal to 1 no?
Is This Answer Correct ? | 6 Yes | 9 No |
A circuit has 1 input X and 2 outputs A and B. If X = HIGH for 4 clock ticks, A = 1. If X = LOW for 4 clock ticks, B = 1. Draw a state diagram for this Spec?
If an/ap = 0.5, an/ap = 1, an/ap = 3, for 3 inverters draw the transfer characteristics?
How does a pn junction works?
Are you familiar with the term MESI?
What are set up time & hold time constraints? What do they signify?
What is look up table in vlsi?
what is body effect?
Mention what are three regions of operation of mosfet and how are they used?
Tell me how MOSFET works.
How do you detect a sequence of "1101" arriving serially from a signal line?
In Verilog code what does “timescale 1 ns/ 1 ps” signifies?
Explain various adders and diff between them?