[SystemVerilog] 配列/bit幅に「-」値指定

第四回 SystemVerilog読書会において、bit幅に「-(マイナス)」値を
使った表記がありました。
私自身書いたことがなかったので、試しに書いてみました。

  • サンプルコード

  •  1|module testbench;
     2|
     3|  int tmp[-2:5];
     4|  int data;
     5|
     6|  initial begin
     7|    for(int i=-2; i<5; i++) begin
     8|      tmp[i] = data + 1;
     9|      data++;
    10|    end
    11|    for(int i=-2; i<5; i++) begin
    12|      $display("tmp[%2d] = %0d", i, tmp[i]);
    13|    end
    14|  end
    15|
    16|endmodule 
  • 実行結果

  • # tmp[-2] = 1
    # tmp[-1] = 2
    # tmp[ 0] = 3
    # tmp[ 1] = 4
    # tmp[ 2] = 5
    # tmp[ 3] = 6
    # tmp[ 4] = 7
    

ちなみに、こちらの記述は Verilog-HDL(2001)から出来るようです。
私は IEEE1364-2005にて確認しました。
便利か見づらいコードになるか分かれそう。。。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
09 | 2017/10 | 11
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
アクセス人数