スポンサーサイト

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

SystemVerilog class の this

SystemVerilog「this」を使ってみましょう。というお話です。

  • サンプルコード
  •  1|class base;
     2|  int a;
     3|
     4|  virtual function void set_a(int in);
     5|    a = in;
     6|  endfunction
     7|
     8|endclass
     9|
    10|class hoge extends base ;
    11|
    12|  int a;
    13|
    14|  function void set_a(int in);
    15|    this.= in;
    16|    $display("--- this.a = %3d, super.a = %3d", this.a, super.a);
    17|  endfunction
    18|
    19|endclass
    20|
    21|module testbench;
    22|
    23|  hoge cl_hoge = new;
    24|
    25|  initial begin
    26|    cl_hoge.set_a(10);
    27|    $finish;
    28|  end
    29|
    30|endmodule
  • 実行結果
  • # --- this.a =  10, super.a =   0

解説


base そしてそれを継承した hogeに対してそれぞれ変数 aというものが存在します。
その際にthisを使うことにより、hoge自身の変数 aに代入していることがわかります。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

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