请教一个verilog的问题

initial
begin
      a= 1'b0;
      b=#10 1'b1;
      c=#5 1'b0;
      d=#20 {a,b,c};
  end
如果将上面的代码改成非阻塞赋值,两者之间的区别是什么?
谢谢!
我也来说两句 查看全部回复

最新回复

  • mafan88 (2008-8-26 20:50:34)

    如果用非阻塞的语句的话,那就表示几个赋值的延时都是从0开始的,他们都是相对于0来说的。
    而阻塞的语句则是顺序执行的,延时也是语句间的相对延时。
    我表达能力差,不知道说没说明白!
  • remnant (2008-8-26 20:55:33)

    阻塞赋值 - 规规矩矩排队,一个一个来。
    非阻塞赋值 - 看上去在排队,其实没一个老实的。
  • Elvis1228 (2008-8-26 21:54:54)

    但在initial里没必要搞非阻塞
  • songchao01 (2008-8-27 09:11:44)

    哈哈,这个经典
    “阻塞赋值 - 规规矩矩排队,一个一个来。
    非阻塞赋值 - 看上去在排队,其实没一个老实的。”
    强!!
  • lightzhou (2008-9-16 11:13:15)

    回复好经典
  • chwang (2008-9-16 19:46:30)

    归纳经典,太有才了。
  • chwang (2008-9-16 19:49:03)

    这个自己在modelsim里面写着仿真下吧。同时把begin end 改为fork join看看。这样你会理解的更好的。
  • lg20025779 (2008-9-16 19:57:58)

    没必要死套语法哈
  • onewrong (2008-9-16 20:18:55)

    initial里没有阻塞不阻塞的,按时间来的
  • getwkg (2008-9-17 20:42:49)

    QUOTE:

    原帖由 songchao01 于 2008-8-27 09:11 发表
    哈哈,这个经典
    “阻塞赋值 - 规规矩矩排队,一个一个来。
    非阻塞赋值 - 看上去在排队,其实没一个老实的。”
    强!!
    同意!非阻塞赋值 - 看上去在排队,其实没一个老实的