小编ji8*_*8in的帖子

Verilog 中的事件调度

我正在学习verilog分层事件队列。我对非活动事件有一个小小的疑问。我知道它们是在当前模拟时间完成所有活动事件后执行的。但我编写了一个简单的代码来更好地理解这个概念,但得到的结果让我感到困惑。这是我写的代码:

module main;

    int x; 

    initial begin 

       $monitor("x is %0d",x); 

       #0 x = 5; // inactive event 
       x = 3; // active event 
     end 

endmodule
Run Code Online (Sandbox Code Playgroud)

结果:x 为 3。

据我所知,#0 延迟会创建一个非活动事件,因此结果应该是 x 为 5。但我对这个概念的理解可能在某个地方是错误的。任何帮助将不胜感激。谢谢。

verilog system-verilog

5
推荐指数
1
解决办法
8153
查看次数

标签 统计

system-verilog ×1

verilog ×1