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 |
For f = AB+CD if B is S-a-1, what r the test vectors needed to detect the fault?
What happens if we delay the enabling of Clock signal?
Implement F = AB+C using CMOS gates?
Draw Vds-Ids curve for a MOSFET. Now, show how this curve changes considering Channel Length Modulation.
What happens if we use an Inverter instead of the Differential Sense Amplifier?
Process technology? What package was used and how did you model the package/system? What parasitic effects were considered?
You have a driver that drives a long signal & connects to an input device. At the input device there is either overshoot, undershoot or signal threshold violations, what can be done to correct this problem?
What are the different measures that are required to achieve the design for better yield?
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)
Factors affecting Power Consumption on a chip?
Explain how MOSFET works?
How can you model a SRAM at RTL Level?