Verilog HDL コンパイラ (Icarus Verilog Compiler)
学生実験で用いている Verilog-XL シミュレータはインタープリタですが、
Icarus Verilog Compilerは名前のとおりコンパイラです。そのため、
Verilog HDLのソースから実行形式のコマンドを生成し、その実行コマンド
実行することでシミュレーションを行います。
波形ビューア(gtkwave)は VCD (Value Change Dump) 形式のファイルを波形として
表示するので、VCDファイルを出力できるようにテストベンチの書き換えが必要
です。
以下のように、テストベンチの波形出力制御を変更します。
initial
begin
// $shm_open("waves.shm"); // Verilog-XL の場合
// $shm_probe("as"); // Verilog-XL の場合
$dumpfile("vcdファイル名.vcd");
$dumpvars(0, トップモジュールのインスタンス名 );
end
このように、$shm_open, $shm_probe の代わりに、$dumpfile, $dumpvars を使
用します。
コンパイルは、以下のように実行します。これにより、a.out が作成されます。
"-o 実行ファイル名" オプションを使用すれば、"実行ファイル名" として、実
行ファイルが作成されます。
$ iverilog file1.v file2.v ... file_n.v ← ファイルを並べる場合
$ iverilog -cfilelist ← filelist にファイルを記述している場合
実行は、
$ ./a.out
です。これで、"トップモジュール名.vcd" ファイルが作成されます。