Verilog では、マクロは次のように定義されます。
'define TESTEQ1 4'b1101
定義されたマクロは、次のように参照されます。
if (request == 'TESTEQ1)
'ifdef
および 'endif
文は、次を実行します。
- マクロが定義されているかどうかを判断します。
- 条件付きコンパイルを定義します。
'ifdef
で呼び出されたマクロが定義されている場合、そのコードはコンパイルされます。
- マクロが定義されていない場合は、
'else
コマンドに続くコードがコンパイルされます。 -
'else
は必須ではありませんが、条件文の最後に'endif
が必要です。
Verilog マクロは、Verilog マクロ コマンド ライン オプションを使用して定義または再定義します。
- Verilog マクロを使用すると、HDL ソース コードを変更せずにデザインを変更できます。
- Verilog マクロは、IP コアの生成およびフロー テストに有益です。