デフォルト引数
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スタイルにする必要があります。