スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[SystemVerilog] wait_order

昨日の eventの続きで、wait_order があります。
これは、eventの順序を見てくれます。(たぶん)


※SystemVerilog読書会にて知ったことです


  • 一応書いたコード
    未サポートなのかしら?
  •  1|module testbench ();
     2|
     3|  event  ev_a;
     4|  event  ev_b;
     5|  event  ev_c;
     6|
     7|  initial begin
     8|    #10; ->ev_a;  // @ 10ps
     9|    #30; ->>ev_b; // @ 40ps
    10|    #30; ->ev_c;  // @ 70ps
    11|    #300; $finish(2);
    12|  end
    13|
    14|  initial begin
    15|    @(ev_a); $display("@ %0tps:event a assert", $time);
    16|  end
    17|
    18|  initial begin
    19|    @(ev_b); $display("@ %0tps:event b assert", $time);
    20|  end
    21|
    22|  initial begin
    23|    wait(ev_c.triggered); $display("@ %0tps:event c assert", $time);
    24|  end
    25|
    26|  ///////////////////////////////////////////////
    27|  initial begin
    28|    wait_order(ev_a, ev_b, ev_c) $display("@ %0t:event sequence a->b->c assert", $time);
    29|  end
    30|
    31|  initial begin
    32|    wait_order(ev_b, ev_c, ev_a) else $display("Not event sequence b->c->a assert");
    33|  end
    34|  ///////////////////////////////////////////////
    35|
    36|endmodule: testbench
  • 実行結果(こうなる予定)
    # @ 10ps:event a assert
    # Not event sequence b->c->a assert
    # @ 40ps:event b assert
    # @ 70ps:event c assert
    # @ 70ps:event sequence a->b->c assert
    

    ※出力結果修正しました。

ここにも例が書いてありますね。


本日 22:00~ SystemVerilog読書会あります。未知の構文へレッツゴー!


関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。