アダルト・ヴァイオリン May the force be with you..

2009年3月26日

続:SystemCへの合成

Filed under: Weblog — い~ぐる @ 11:50 AM

とりあえず、m8のSystemCシミュレーションは、Verilogと同じ結果を出すようになったので、最低限のことはできていそうだ。

SystemCでは、ヘッダファイルのコンストラクタの部分にサブモジュールの情報も必要となるため、入出力信号のプロトタイプだけ先にあればよい、SFLやVHDLと違い、モジュールの記述順序にクリチカルである。

呼び出される側のモジュールは、必ず、呼び出す側よりも先に書く必要がある。

これに注意さえしておけば(まぁ、他にも予約語の違いなどいろいろとあるにはあるが)、比較的簡単にテストベンチは作成できた。

20090326版のsfl2vlおよび、LiveCygwinで、この(m8をコンパイル・シミュレーションできる)バージョンを提供する(ベータ版)。

LiveCygwinのパッケージには、新に、SystemC-2.2.0のコンパイル環境と対応するm8のパッケージを追加した。LiveCygwinを起動して、

cd m8
make scgtk

と打つと、SystemCに変換した後、コンパイル・実行・波形表示まで行う。

m8/SIM/main.cpp

がテストベンチである。SystemCのまともなテストベンチを作成したのは、今回が初なので、効率悪いことをしていると思うが、ご勘弁願いたい。

m8単独のパッケージにもSystemC対応のファイルを同梱しておく。

SFLからSystemCへの合成

Filed under: Weblog — い~ぐる @ 1:20 AM

ベータ版のsfl2vlでサポートを始めたSystemCへの合成だが、今までは、小さな例題だけしか試していなかったので、m8をコンパイルする例題サンプルを作ろうと着手した。

ところが、これが、結構苦戦。

SystemCはVHDLなみに型のチェックが厳しく(C++だから当たり前だが)、boolとintとか、intとuintに互換性がない問題にことごとく嵌る。

しばらくバタバタしていたが、ようやく収束の兆しが見えてきた。
まだ、HPのパッケージをアップデートする段階ではない(そこまで安定していない)が、今週中くらいには何とかなるんじゃないかなぁ。。

Powered by WordPress