スポンサーサイト

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

SystemVerilog パラメータ class

module と同じような感じで、classにもパラメータを渡すことができます。
C++で言うとテンプレートみたいな感じです。

  • サンプルコード
  •  1|class hoge #(int width = 1);
     2|
     3|  logic [width-1:0] l_a;
     4|
     5|  function void show();
     6|    $display("--- a = %3d", l_a);
     7|  endfunction
     8|
     9|endclass
    10|
    11|module testbench;
    12|
    13|  hoge #(4) cl_4hoge = new;
    14|  hoge #(8) cl_8hoge = new;
    15|
    16|  initial begin
    17|    cl_4hoge.l_a =  3; cl_4hoge.show();
    18|    cl_8hoge.l_a = 10; cl_8hoge.show();
    19|    cl_4hoge.l_a = 20; cl_4hoge.show();
    20|    $finish;
    21|  end
    22|
    23|endmodule
  • 実行結果
  • # --- a =   3
    # --- a =  10
    # --- a =   4

というような感じで書けます。

関連記事

コメントの投稿

非公開コメント

プロフィール

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
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。