関数呼び出し
関数は function_name(argument)
の形式で呼び出すことができます。$clog2
のような SystemVerilog のシステム関数も使えます。
package PackageA {
function FunctionA (
a: input logic,
b: input logic,
) {}
}
module ModuleA {
let _a: logic = PackageA::FunctionA(1, 1);
let _b: logic = $clog2(1);
}
名前付き引数
多くの引数を持つ関数では、名前付き引数による関数呼び出しが便利です。名前付き引数と位置引数を混在させることはできません。
module ModuleA {
function FunctionA (
a: input logic,
b: input logic,
c: input logic,
d: input logic,
) {}
let _a: logic = FunctionA(
a: 1,
b: 1,
c: 1,
d: 1,
);
// 位置引数と名前付き引数の混在はエラー
//let _a: logic = FunctionA(
// 1,
// 2,
// a: 1,
// b: 1,
//);
}