スポンサーサイト

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

[SystemVerilog] generate記述

Verilog HDLにもありますが、generate文書いたことなかったので、書いてみました。

  • サンプルコード

  •  1|module hoge(
     2|    input             clk
     3|  , input             reset_n
     4|  , input  logic[3:0] in
     5|  , output logic[4:0] out
     6|);
     7|
     8|  always_ff @(posedge clk, negedge reset_n) begin
     9|    if(~reset_n) out <= 0;
    10|    else         out <= out + in;
    11|  end
    12|
    13|endmodule
    14|
    15|module testbench ();
    16|
    17|  logic      clk     = 0;
    18|  logic      reset_n = 1;
    19|  logic[3:0] in[3];
    20|  logic[4:0] out[3];
    21|
    22|  always  #10 clk = ~clk;
    23|  initial begin
    24|    #10; reset_n = 0;
    25|    #50; reset_n = 1;
    26|    #300; $finish(2);
    27|  end
    28|
    29|  genvar i;
    30|  generate begin
    31|    for(i=0; i<3; i++) begin : dut
    32|      hoge uhoge(
    33|          .clk(clk)
    34|        , .reset_n(reset_n)
    35|        , .in(in[i])
    36|        , .out(out[i])
    37|      );
    38|    end : dut
    39|  end
    40|  endgenerate
    41|
    42|endmodule: testbench
  • 結果

  • 20130527_1.png

というような感じで、複数モジュールインスタンスできます。


合わせて読みたい

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

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