とりあえず、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対応のファイルを同梱しておく。