モジュールへ接続される入出力ポートの宣言は以下のように行います。 module モジュール名( endmodule 入出力ポートの宣言時に使うパラメータを宣言することもできます。 module モジュール名 #( parameter パラメータ名 = 値,
parameter パラメータ名 = 値 ) ( input ポート名, ); // 内部信号や処理の記述 endmodule 以下に例を示します。 // 入出力ポートの宣言 module Counter (out, in, clk, rst); // パラメータの宣言 parameter WIDTH_COUNTER = 2; // 入出力ポートの宣言 input [WIDTH_COUNTER - 1: 0] in; input clk, rst; output [WIDTH_COUNTER - 1: 0] out; // レジスタの宣言 reg [WIDTH_COUNTER - 1: 0] out;
以下にパラメータを同時に指定する例を示します。 module Counter #( // パラメータの宣言 parameter WIDTH_COUNTER = 2 ) ( // 入出力ポートの宣言 output reg [WIDTH_COUNTER - 1: 0] out, input [WIDTH_COUNTER - 1: 0] in, input rst, clk ); // 内部信号、処理やサブモジュールの宣言 // 入出力ポートを再宣言する必要はない |