モジュールの接続

# このページは,学生実験用資料として筑波大学リコンフィギュラブルコンピューティングシステム研究室のwebページで公開されていたものを,許可を得て転載したものです.


モジュールと他のモジュールとを接続するためには、モジュール内(moduleとendmoduleの間)に以下のように記述します。

 
モジュール名 インスタンス名 (
  .ポート名(信号名),
  .ポート名(信号名),
...
  .ポート名(信号名)
);
    

以下のように接続することで、parameterの変更も行うことができます。

 
モジュール名 #(
  .パラメータ名(値),
  .パラメータ名(値),
...
  .パラメータ名(値)
) インスタンス名 (
  .ポート名(信号名),
  .ポート名(信号名),
...
  .ポート名(信号名)
);
    

モジュールへ接続することができる信号の種類は以下の通りです。

下はモジュール接続の例です。

 
module SuperModule();
// counterへ接続する信号の宣言
reg [1: 0] in;
reg clock, reset;
wire [1: 0] out;
...

Counter counter (
  // ポートの接続
  .out(out),
  .in(in),
  .rst(reset),
  .clk(clock)
);
endmodule

module SuperModule2001();
// counterへ接続する信号の宣言
reg [1: 0] in;
reg clock, reset;
wire [1: 0] out;
...
Counter2001 #(
  // パラメータの上書き
  .WIDTH_COUNTER(8)
) counter_2001 (
  // ポートの接続
  .out(out), .in(in), .rst(reset), .clk(clock)
);
endmodule
    

戻る