Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
463 views
in Technique[技术] by (71.8m points)

What is the difference between these two codes interms of verilog blocking and non blocking assignments?

Block1:

begin : block1
  X<= #50 10;
  X<= #150 100;
  #50 
  X<= #200 200;
  #500
  X<=#250 250;
end

Block 2:

begin : block2
  X= #50 10;
  X= #150 100;
  #50
  X= #200 200;
  #500
  X=#250 250;
end

I want to know the difference in terms of time delay the X is assigned values, can anybody help me out????

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I can help you figure it out without doing your work for you.

A blocking assignment means the next statement is blocked until the assignment to the variable completes. A non-blocking assignment means the assignment to the variable is schedule in the future, but next statement executes without being blocked.

Assuming block1 and block2 are begin/end blocks that both start at time 0, block1 would reach its end at time 550 and block2 would reach its end at time 1200.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...