デフォルト引数

SystemVerilogでは、functionやtaskの引数にデフォルト値を指定することができます。

例えば、

task read_bus( input int addr , input int size=4, output int data);

のように、引数の後に '=4'とすることで、size引数が指定されないときにはデフォルト値として4を使います。

read_bus( 'h1000, , data );

read_bus( .addr('h1000), .data(data) );

のように、size引数に値を指定しないと、デフォルト値の4がsize変数の値になります。

read_bus( 'h1000, 4, data );

read_bus( .addr('h1000), .size(4), .data(data) );

と同じです。

引数の方向としては、input、inout、refにはデフォルト値を設定できますが、outputにはデフォルト値は設定できません。

また、デフォルト値が指定できるのは、引数の宣言部をANSIスタイルにする必要があります。