iverilog
Icarus Verilog はフリーのHDLシミュレーションみたいです。
フリーでシミュレーションができるなんて、感動です。
フリーでシミュレーションができるなんて、感動です。
インストール
ここから最新版をダウンロードしてきます。
verilog-0.8.5.tar.gzをダウンロード。
$ tar xzf verilog-0.8.5.tar.gz $ cd verilog-0.8.5 $ ./configure --prefix=/usr/local $ make # make install
このときmake実行時に下記のようなエラー発生しました。
・・・ sys_lxt.c:24 から include されたファイル中: lxt_write.h:33:19: bzlib.h: そのようなファイルやディレクトリはありません ・・・
このエラーに気づかないまま、make installを実行してシミュレーションを実行しようとしたら、以下のようなメッセージが出てしまいました。
system: Unable to find a `system.vpi' module on the search path.
ここで、verilog-0.8.5/vpi/lxt_write.hの33行目をとりあえず、コメントアウトしました。
33: //#include <bzlib.h>
再び、make; make installを実行。
そうしたら、無事シミュレーションが実行できるようになりました。
そうしたら、無事シミュレーションが実行できるようになりました。
実行
以下にADDERのサンプルを用意しました。

- mod.v 加算器
- tb.v テストベンチ
コンパイルは次のとおり。
$ iverilog -o run tb.v mod.v
すると、実行ファイル"run"が生成されます。
もし、"-o"を付けなかった場合、"a.out"が生成されます。
もし、"-o"を付けなかった場合、"a.out"が生成されます。
実行は次のとおり。
$ vvp run
もしくは、./runでも実行できます。
実行すると、test.vcdファイルが生成されます。
実行すると、test.vcdファイルが生成されます。
test.vcdファイルをgtkwaveで確認してみました。

gtkwaveのインストールは、こちら?を参照してください。
参考ページ
添付ファイル