[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
イベントカレンダー

カレンダー
05 | 2017/06 | 07
- - - - 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 -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数