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 |
Explain what is the use of defpararm?
Suppose you have a combinational circuit between two registers driven by a clock. What will you do if the delay of the combinational circuit is greater than your clock signal? (You can't resize the combinational circuit transistors)
Let A & B be two inputs of the NAND gate. Say signal A arrives at the NAND gate later than signal B. To optimize delay, of the two series NMOS inputs A & B, which one would you place near the output?
What is the difference between synchronous and asynchronous reset?
what is charge sharing?
Tell me the parameters as many as possible you know that used to character an amplifier?
What happens to delay if we include a resistance at the output of a CMOS circuit?
What is the depletion region?
What types of CMOS memories have you designed? What were their size? Speed?
Explain the concept of a Clock Divider Circuit? Write a VHDL code for the same?
Explain CMOS Inverter transfer characteristics?
What are the two types of noise of MOSFET, how to eliminate them?(Thermal and Flicker).