スポンサーサイト

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

[Verilog][SystemVerilog] 複数インスタンスの書き方

複数のインスタンス記述にて、驚きがあったのでメモ。

module sub_mm();
  initial begin
    #2;
    $display("%m");
  end
endmodule

module sub_m(input reg[3:0] in);
  sub_mm hogehoge();
  initial begin
    #1;
    $display("%m");
    #3;
    $display(in);
  end
endmodule

module testbench ();

  reg[3:0] tmp=10;

  sub_m hoge(.in(tmp));
  sub_m mumumu(.in(tmp));

  initial begin
    #100;
    $finish(1);
  end

endmodule: testbench
  • 実行結果
  • # testbench.hoge
    # testbench.mumumu
    # testbench.hoge.hogehoge
    # testbench.mumumu.hogehoge
    # 10
    # 10
    

さて、sub_m をインスタンスしている記述として、

  sub_m hoge(.in(tmp));
  sub_m mumumu(.in(tmp));

と書いていたのですが、以下の書き方でも問題ないらしいです。

  sub_m hoge(.in(tmp)),
        mumumu(.in(tmp));

っと書いたところで、LRM(IEEE1800-2012)の記述ミス発見。
p674の部分ですね。

関連記事

コメントの投稿

非公開コメント

プロフィール

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