モジュール
モジュールはソースコードの最上位コンポーネントの1つです。モジュールはオーバーライド可能なパラメータ、接続ポート、内部ロジックを持ちます。
オーバーライド可能なパラメータは #()
内で宣言できます。それぞれのパラメータ宣言は param
キーワードで始まり、識別子、:
、パラメータの型、デフォルト値で構成されます。
接続ポートは ()
内で宣言できます。それぞれのポート宣言は識別子、:
、ポートの方向、ポートの型で構成されます。利用可能なポート方向は以下の通りです。
input
:入力ポートoutput
:出力ポートinout
:双方向ポートmodport
:インターフェースのmodport
module ModuleA #(
param ParamA: u32 = 0,
param ParamB: u32 = 0,
) (
a: input logic,
b: input logic,
c: input logic,
x: output logic,
) {
always_comb {
if c {
x = a;
} else {
x = b;
}
}
}