|
|
|
|
|
|
---|
名称 | 記号 | 定義 | 優先順位 |
---|---|---|---|
算術演算 | + | 加算(プラス符号) | 3(符号1) |
- | 減算(マイナス符号) | 3(符号1) | |
* | 乗算 | 2 | |
/ | 除算 | 2 | |
% | 剰余 | 2 | |
ビット演算 | ~ | ビットごとの論理反転 | 1 |
& | ビットごとのAND | 7 | |
| | ビットごとのOR | 8 | |
^ | ビットごとのEX-OR | 7 | |
~^ | ビットごとのEX-NOR | 7 | |
リダクション演算 | & | 各桁ビットのAND(単項演算) | 1 |
~& | 各桁ビットのNAND(単項演算) | 1 | |
| | 各桁ビットのOR(単項演算) | 1 | |
~| | 各桁ビットのNOR(単項演算) | 1 | |
^ | 各桁ビットのEX-OR(単項演算) | 1 | |
~^ | 各桁ビットのEX-NOR(単項演算) | 1 | |
論理演算 | ! | 論理値のNOT | 1 |
&& | 論理値のAND | 9 | |
|| | 論理値のOR | 10 | |
等号演算 | == | 論理等号(全ビット不定なら結果は不定) | 6 |
!= | 論理不等号(全ビット不定なら結果は不定) | 6 | |
=== | ケース等号(X,Zも一致) | 6 | |
!== | ケース不等号(X,Zも一致) | 6 | |
関係演算 | < | 左辺が小さい(全ビット不定なら結果は不定) | 5 |
<= | 左辺が小さいか等しい(全ビット不定なら結果は不定) | 5 | |
> | 左辺が大きい(全ビット不定なら結果は不定) | 5 | |
>= | 左辺が大きいか等しい(全ビット不定なら結果は不定) | 5 | |
シフト演算 | << | 右オペランド分左シフト(空いたビットは0) | 4 |
>> | 右オペランド分右シフト(空いたビットは0) | 4 | |
条件演算 | ?: | 条件?真の場合の結果:偽の場合の結果 | 11 |
連接 | {,} | 二つ以上のオペランドをひとつのビット表現にまとめる |
// Verilog-HDL の Module の説明 |
書式 | $display(format, ...); | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
説明 | C言語のprintf()に相当。 オブジェクトの値を指定したフォーマットで標準出力に出力する。
| ||||||||||||
使用例 | $display("a=%b", a); | ||||||||||||
書式 | $monitor(time, ? , format, ...); | ||||||||||||
説明 | 指定したオブジェクトの値が変化する度に、 オブジェクトの値を指定したフォーマットで標準出力に出力する。 | ||||||||||||
使用例 | $monitor($time, , "a=%b", a); | ||||||||||||
書式 | integer $fopen(filename); | ||||||||||||
説明 | filenameで指定されたファイルのオープン。(出力用) 戻り値はオープンされたファイルへのポインタ(か?)。 | ||||||||||||
使用例 | fp = $fopen("foo.log"); | ||||||||||||
書式 | $fclose(integer fp); | ||||||||||||
説明 | fpで指定されたファイルを閉じる。 | ||||||||||||
使用例 | $fclose(fp); | ||||||||||||
書式 | $fdisplay(integer fp, format, ...); | ||||||||||||
説明 | C言語のfprintf()に相当。 オブジェクトの値を指定したフォーマットでファイルfpに出力する。 | ||||||||||||
使用例 | $fdisplay(fp, "a=%b", a); | ||||||||||||
書式 | $fmonitor(integer fp, time, ? , format, ...); | ||||||||||||
説明 | 指定したオブジェクトの値が変化する度に、 オブジェクトの値を指定したフォーマットでファイルfpに出力する。 | ||||||||||||
使用例 | $fmonitor(fp, $time, , "a=%b", a); | ||||||||||||
書式 | $readmemb(filename, memname); | ||||||||||||
説明 | filenameで指定した2進数フォーマットのファイル内容をメモリmemnameへ読み込む。 メモリmemnameが reg [7:0] memname [0:7]; と定義されてある場合、 ファイルfilenameの内容は次のようになってある必要がある。
| ||||||||||||
使用例 | $readmemb("foo.dat", mem); | ||||||||||||
書式 | $readmemh(filename, memname); | ||||||||||||
説明 | filenameで指定した16進数フォーマットのファイル内容をメモリmemnameへ読み込む。 メモリmemnameが reg [7:0] memname [0:7]; と定義されてある場合、 ファイルfilenameの内容は次のようになってある必要がある。
| ||||||||||||
使用例 | $readmemh("foo.dat", mem); | ||||||||||||
書式 | $dumpfile(filename); | ||||||||||||
説明 | filenameで指定したファイルへダンプファイルを出力する。 次の $dumpvars とあわせて用いる。 拡張子は Cadence Verilog-XL + SignalScan (or SimWaves) … *.dump Icraus Verilog + GTKWave … *.vcd (Value Change Dump) とするようだ。 | ||||||||||||
使用例 | $dumpfile("foo.vcd"); | ||||||||||||
書式 | $dumpvars(?, modulename); | ||||||||||||
説明 | modulenameで指定したモジュールまたはインスタンスをダンプの対象とする。 | ||||||||||||
使用例1 | $dumpfile(5, foo); | ||||||||||||
使用例2 | $dumpfile(0, foo.u0.reg1); | ||||||||||||
書式 | $finish; | ||||||||||||
説明 | 終了しOSのプロンプトへ戻る | ||||||||||||
使用例 | $finish; | ||||||||||||
書式 | $stop; | ||||||||||||
説明 | 終了しシミュレータのプロンプトへ戻る | ||||||||||||
使用例 | $stop; |