スポンサーサイト

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

[SystemVerilog] <-> 演算子

第12回 SystemVerilog読書会 にて知った演算子なのですが、「<->」があります。


LRMでは、「P229 - 11.4.7 Logical operators」にて記載があります。
ちょっと記載してみました。

  • サンプルコード
  •  1|module testbench;
     2|
     3|  int a, b;
     4|  bit c = 0;
     5|  logic d = 1;
     6|
     7|  initial begin
     8|    a = -'d12 / 4;
     9|    b = -'d12 / 3;
    10|    $display("a = %0d, b = %0d", a, b);
    11|    $display("a = %0x, b = %0x", a, b);
    12|
    13|    c = 0; d = 0;
    14|    if (=== d) $display("equal");
    15|    else         $display("not equal");
    16|    c = 0; d = 1;
    17|    if (=== d) $display("equal");
    18|    else         $display("not equal");
    19|    c = 0; d = 'x;
    20|    if (=== d) $display("equal");
    21|    else         $display("not equal");
    22|    c = 0; d = 'z;
    23|    if (=== d) $display("equal");
    24|    else         $display("not equal");
    25|
    26|    c = 0; d = 0;
    27|    if (<-> d) $display("equal");
    28|    else        $display("not equal");
    29|    c = 0; d = 1;
    30|    if (<-> d) $display("equal");
    31|    else        $display("not equal");
    32|    c = 0; d = 'x;
    33|    if (<-> d) $display("equal");
    34|    else        $display("not equal");
    35|    c = 0; d = 'z;
    36|    if (<-> d) $display("equal");
    37|    else        $display("not equal");
    38|    #100 $finish;
    39|  end
    40|endmodule:testbench
  • 実行結果
  •  $ ./main
    # a = 1073741821, b = 1431655761
    # a = 3ffffffd, b = 55555551
    # equal
    # not equal
    # not equal
    # not equal
    # equal
    # not equal
    # not equal
    # not equal


ちなみに、「<->」は、「Associativity」が「Right」になってます。
これは、右からの評価するという認識です。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
04 | 2017/05 | 06
- 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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。