Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
467 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...