新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

IVI をインストール

IVI だが結局 galileo にはインストールできなかった。3つあるうちの
net.sourceforge.ivi.cver.tools.linux_installer_1.0.2_1.zip
インストールがうまくいかなかった。仕方が無いので一つ前の europa(オイロパ)を使うことにした。こちらにはインストールできた。IVI 自体は verilog のパーサーは無いので cver をインストールする必要がある。話が前後するが、、、

gplcver は Verilog HDLのシミュレータ。verilog のソースをコンパイルし波形を作ってくれるプログラムだ。その形式が VCD というフォーマット。VCD を google でさがすと Video CD にひかかってどういうフォーマットかさっぱりわからない。どうも IEEE で決まっているらしい(IEEE Std 1364-2001)。Value Change Dump で検索すると GHDL のヘルプにその記述があった。「VCD (value change dump)は verilog 標準で決められは波形記述のフォーマットです」だそうだ。

gplcver は sourceforge からダウンロードできる。

http://sourceforge.net/projects/gplcver/files/

gplcver の商用版が Pragmatic C Software の CVC 。

http://www.pragmatic-c.com/

これは verilog のソースを Linuxx86 アセンブラコードに落とせるとうたっている。

gplcver で生成した .vcd ファイルを見ようと思うとビューワーが必要だ。IVI はその一つで、eclipse のプラグインとして提供されている。そのほかに GTK Wave とか wavevcd などがあるようだ。(どちらも使ったことが無い)
http://www.iss-us.com/wavevcd/index.htm
で、結局、cygwin に cver をさらに europa に IVI を導入してまぁ見事波形の出力を得ることが出来た。

system-c をインストールする。

まずは、OSCI(The Open SystemC Initiative)から systemc-2.2.0.tgz をダウンロード(http://www.systemc.org/downloads/standards/) 。configure があるので、基本的には configure と make 一発で通るはず、、、、

FreeBSD の場合は簡単だ。/usr/ports/cad/systemc で make install で一発で入った。ところが ubuntu に入れようとするとconfigure はとおるものの make すると sc_utils_ids.cpp でエラー。getenv と strcmp が無いといわれる。libc の関数だし、無理やり自分でパッチを入れてもいいが、、、FreeBSD はコンパイルできるから不思議。どうやらコンパイラの違いらしい。ubuntu の方は g++ 4.3.3 で/usr/include/c++/3.4/bits/stl_algobase.hには cstddef しかインクルードされていない。一方 FreeBSD のは 3.4 で同じ stl_algobase.h には cstdlib と cstring が入っている。理由がわかったので自分でパッチを当てる。単純に sc_utils_ids.cpp に #include と #include を入れただけ。

*** systemc-2.2.0.orig/src/sysc/utils/sc_utils_ids.cpp  2006-12-16 05:31:39.000000000 +0900
--- systemc-2.2.0/src/sysc/utils/sc_utils_ids.cpp       2009-09-24 22:53:41.000000000 +0900
***************
*** 59,64 ****
--- 59,66 ----
  //

  #include "sysc/utils/sc_report.h"
+ #include <cstring>
+ #include <cstdlib>


  namespace sc_core {

めでたくコンパイルできました。しかし今度は make install で失敗。fft の example でうまくいっていない。うわー今度は configure がうまくいっていない。(うーまさに日記だ) configure --prefix=/usr/local として再度 configure を実行。make するもやはり example でエラー。このさい example はインストールできなくても良いので、、、う〜ん FreeBSD ではコンパイル、インストールできているが、、、、FreeBSD のまねをして objdir をつくってみる。できた sudo make install もうまくいった。。なんだよ。でもって /usr/local/example のしたはディレクトリだけ出来て何もなし。なんだこりゃ。