小编sar*_*rad的帖子

系统 Verilog - 等待语句

我对等待语句的确切含义感到困惑。

在这种情况下会发生什么:

forever begin
    wait (vif.xn_valid == 1'b1);
    @(posedge vif.clk);
end
Run Code Online (Sandbox Code Playgroud)

wait语句是否阻塞?是个

@(posedge vif.clk)
Run Code Online (Sandbox Code Playgroud)

每次在循环内执行,无论等待表达式的计算如何?

在这种情况下:

forever begin
    wait(vif.cyc_tic == 1'b1) @(posedge vif.clk) #0 fact_log2_samp_t = vif.fact_log2_samp;
end
Run Code Online (Sandbox Code Playgroud)

#0 fact_log2_samp_t = vif.fact_log2_samp; 仅当 wait 表达式的计算结果为 true 时才执行wait() 之后的代码吗?

system-verilog

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

标签 统计

system-verilog ×1