这两个代码的verilog阻塞和非阻塞分配有什么区别?

时间:2016-10-24 17:20:29

标签: verilog

块1:

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

第2座:

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

我想知道X分配值的时间延迟方面的差异,有人可以帮我解决吗?

1 个答案:

答案 0 :(得分:0)

我可以帮助你弄明白而不为你工作。

阻止分配意味着下一个语句被阻止,直到对变量的赋值完成。 非阻塞分配意味着将来对变量的分配进行调度,但是下一个语句执行而不被阻止

假设block1block2都是begin/end块,它们都是从时间0开始,那么block1将在时间550到达end并且block2将到达其end在时间1200。