みねっちょのマイコン関係ブログ

組込開発系フリーソフトやハードの情報発信ブログ

Windows でも動く、無償の Verilog HDL シミュレータ、Icarus Verilog

サイト内 Google 検索:


最終更新: 2023-04-11

【こちらの別記事】に、サイクルベース シミュレータ Verilator と共に、Windows 10 の WSL 上 Ubuntu-20.04 でのインストール手順と、Icarus Verilog と Verilator のどちらもに利用可能なテストベンチと、簡単なサンプル回路の Verilog HDL 記述例を示した実行手順を記載しています。合わせて御覧ください。

また、【こちらの別記事】では、無償で利用可能な ARM Cortex-M0 CPU コア単体を Incarus Verilog で動かすテストベンチの Verilog HDL 記述を紹介し、GTKwave で波形を閲覧可能な VCD ダンプも出力しています。

目次:


 


Verilog HDL とは:

Verilog HDL はハードウェア記述言語で、論理回路の動作を記述する言語の1つです。論理合成で回路を自動生成する前に、HDL (Hardware Description Language) でシミュレーションを行って動作を検証します。元々は Cadence 社の Verilog-XL という CAD ツール用に開発されたものですが、その後 IEEE 1364 として標準化が行われ、現在に至っています。

IEEE 1364 の2005年版の仕様書 PDF は、こちらのバックネル大学の方のサイトの直接リンクより、こっそりとダウンロード可能だったりします。 (大学なので、大きな負荷を掛けるのはやめましょう)

HDL として有名な物には他に VHDL が有ります。VHDL は装置製造業界において、Verilog HDL は主に半導体業界において、シェアが高いと言われています。とは言え HDL の一番のユーザーは半導体関係者ですから、Verilog HDL が優位な立場にあります。


【広告】


無償の HDL シミュレータ、Icarus Verilog

さて、無償の Verilog HDL シミュレータは幾つか有るのですが、Icarus Verilog という物が有名です。次のサイトが本家の説明書です。ソースコードからビルドする前提で記載されていますが、後述の通り Windows 用のバイナリが別サイトに有ります。

steveicarus.github.io

Icarus Verilog は、Verilog-XL のインタープリタ型とは違い、コンパイル型のシミュレータです。HDL ソースコードからコンパイル済のオブジェクトを実行する事によりシミュレーションが動作します。イメージとしては、コンパイル済の C 言語のバイナリを実行するのと同様です。従って、高速ですが、インタラクティブな操作は出来ません。

コンパイル型の Verilog HDL シミュレータには、Cadence 社の Incisive (旧 NC-Verilog)、Synopsys 社の VCS、Mentor Graphics 社の ModelSim といった大手 CAD ベンダーの商品も有りますが、非常に高価です。唯一個人で入手可能なのは、Mentor Graphics 社製 ModelSim の FPGA 専用パッケージ辺りです。

Icarus Verilog は、元々は Linux 用に開発されています。

尚、無償の Verilog シミュレータは Icarus Verilog 以外にも有り、ubuntu Linux では Icarus Verilog (iverilog) の他に Verilator と言う サイクルベース専用の Verilog HDL シミュレータが標準レポジトリからインストール可能です。MinGW-w64 用の Verilator 標準パッケージも有る様です。


 


Windows 用の Icarus Verilog

さて、ここから本題ですが、無償の Verilog HDL シミュレーター Icarus VerilogWindows においても、MinGW を使用して移植が行われています。

Windows 用の Icarus Verilog のバイナリは、こちらのサイトからダウンロード可能です。インストールすると、かなり本格的な HDL シミュレーションが行えます。

bleyer.org

 

また、本家とは別に次のサイトで MinGW を使った Windows への移植方法が公開されています。

iverilog.fandom.com

MinGW-w64 用の標準レポジトリにも、Incarus Verilog は公開されています。

Package: mingw-w64-x86_64-iverilog - MSYS2 Packages

 

尚、最新の Icarus Verilog は Version 1.2 ですが、安定版 Version 1.1 のソースコードが、こちらの本家の github サイト に公開されており、ビルドして移植する為の詳細な手順まで記載されています。

github.com


 


無償の波形ビューワー、GTKwave:

論理回路のシミュレーションをした後は、動作波形を見たくなるものです。Icarus Verilog は波形ファイルとして標準の VCD (Value Change Dump) ファイルを出力できます。

VCD ファイル用のビューワーで無償のものの内、有名な物としては GTKwave が有ります。次のサイトが本家になります。

gtkwave.sourceforge.net

次の SourceForge のサイトから、Windows ネイティブ で動くバイナリをダウンロード可能です。32ビット Windows 用も64ビット Windows 用も有ります。大きな VCD ファイルを開くならば、64ビット用を使った方が良いでしょう。

sourceforge.net


 


【論理回路設計の目次へ戻る】   【MinGW 関係の目次へ戻る】