「Icarus Verilog」+「IVI」の使い勝手を試す ――波形表示GUI付きのフリー・シミュレータ

竹本 悟

tag: 組み込み

技術解説 2005年6月24日

● 論理合成とSystemVerilogへの対応について

 前項の4)で使用したTV80のソース・コードを使って,Icarus Verilogの論理合成機能を試してみました.論理合成はiverilogコマンドのSオプションで行い,EDIF形式のネットリストが生成できるようです.しかし筆者が試した範囲では,記述に問題があるというエラーが出て,うまくいきませんでした.if文の解釈がうまくいかないようなのです.このコードはすでにASICとして実績があるものなので,コード側の問題とは考えにくいのですが....Icarus Verilogの合成時のコードの解釈のしかたに相違があるように思われます.エラーが出ているのは一部のコードだけなので,その部分の記述のしかたを修正すれば合成できるようになるものと思われます.おそらく,iverilogの合成のくせをつかめばいいのでしょうが,それに関するドキュメントは存在せず,今のところお手上げの状態です.

 Icarus VerilogはVerilog 1995,Verilog 2001,System Verilogの三つのバージョンに対応しているので,System Verilogのテストもしてみようと思いましたが,手ごろなSystemVerilogのサンプル・コードが入手できず,断念しました.

 なお,バージョンの選択はiverilogコマンドでコンパイルするときにオプションとして指定します.デフォルトの状態ではSystemVerilogが選択されます.SystemVerilogはVerilog 2001のスーパセットであり,Verilog 2001はVerilog 1995とほとんど上位互換なので,わざわざバージョンを指定してシミュレーションする必要はなさそうです.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日