スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[SystemVerilog] task/function の初期値を与えた引数の記述は自由

第15回 SystemVerilog読書会 にて知ったのですが、
task/functionの引数に初期値を与える部分はどこでもいいみたいです。


task read(int j = 0, int k, int data = 1 );

例えば、こういう場合は右詰めするものだと思ってました。

つまり、

task read(int k, int j = 0, int data = 1 );

といったぐあいに。

宣言時の場合には、以下のようにするようです。

LRM引用:

read( , 5 );     // is equivalent to read( 0, 5, 1 );
read( 2, 5 );    // is equivalent to read( 2, 5, 1 );
read( , 5, );    // is equivalent to read( 0, 5, 1 );
read( , 5, 7 );  // is equivalent to read( 0, 5, 7 );
read( 1, 5, 2 ); // is equivalent to read( 1, 5, 2 );
read( );         // error; k has no default value
read( 1, , 7 );  // error; k has no default value

たぶん、こんな風には書かずに、必要なものを左側から書いていくかな。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。