#0时延
时间:10-02
整理:3721RD
点击:
initial begin
for(int i=0;i<3;i++)fork$write(i);join_none
#0 $display("\n");
end
因为#0时延,最后打印出来“3 3 3 ”
如果去掉#0,打印出来“1 2 3 ”
#0时延阻塞了所有进程的调度,等到所有进程创建完才执行。
我理解这些了,就是还想前辈们指点下#0时延,在verilog中,#1代表演示1个时间单位,没见过#0
for(int i=0;i<3;i++)fork$write(i);join_none
#0 $display("\n");
end
因为#0时延,最后打印出来“3 3 3 ”
如果去掉#0,打印出来“1 2 3 ”
#0时延阻塞了所有进程的调度,等到所有进程创建完才执行。
我理解这些了,就是还想前辈们指点下#0时延,在verilog中,#1代表演示1个时间单位,没见过#0
最近发了好多求助帖,问的都是很基础的东西,多谢前辈们的指点,我也要继续学习阿。
两者的意义不一样,不能等而视之。分开来理解就好了,不要把#1的意义再混到#0来理解,这样就搞混了。
看下SystemVerilog 标准的4. Scheduling semantics ,里面介绍了time slot和time region的概念,然后就可以理解#0的意义了。
时延 相关文章: