【问题标题】:When I simulate for non blocking assignement in verilog, simulation time is not advancing?当我在verilog中模拟非阻塞分配时,模拟时间没有提前?
【发布时间】:2021-04-15 17:55:10
【问题描述】:
module blocking( );
reg a,c,d,e,f ;
reg b = 'b0;
always 
begin 
a <= #10 b ;
c <= #10 a; 
end 

always
begin
#100;
$stop;
end
always
#10 b = ~b;

endmodule

【问题讨论】:

  • if keep always @(*) 那么只有它模拟,如果我使用阻塞语句,那么它也模拟但是对于上面的代码,时间没有提前。
  • 谢谢,但我正在寻找它在没有@(*) 的情况下无法工作的原因?
  • 不建议在 SO 中只编写没有必要描述的代码。请仔细阅读stackoverflow.com/help/how-to-ask

标签: verilog system-verilog


【解决方案1】:

第一个always 块的进程没有延迟。所有总是阻止贪得无厌的循环程序线程。使用always_comb,它将等待bc 的变化成为它的循环。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 2015-04-20
  • 2014-04-29
  • 2011-06-06
  • 2011-09-02
相关资源
最近更新 更多