在SystemVerilog中fork.join

时间:2017-08-13 12:59:42

标签: system-verilog fork-join

我正在尝试使用fork..join来实现req ## [3:5] ack。我能够为req ## [5] ack运行逻辑。但我无法竞争req ## [3:5] ack。

我正在尝试 -

wait(req)
    fork:check_ack
        begin
        wait(ack)
        $display("Ack passed");
        end

        begin
        repeat(5)
        @(posedge clk);
        $display("Ack failed");
        end

        begin
        repeat(3)
        @(posedge clk);
        $display("Ack failed");
        end
    join_any
    disable check_ack;

我还需要在3个周期之后继续检查。

1 个答案:

答案 0 :(得分:1)

您需要创建一个状态位,指示您何时在范围内。

val: nil
Optional<String>
val is nil: true