SystemCのコンパイルエラー

SystemC 2.0.1で作成していたプロジェクトをSystemC 2.3.1でコンパイルしようとすると、いろいろとエラーが出てしまいました。新しいバージョンでサポートされなくなった記述や、引数が変わったメソッドがあるようで、若干のコード修正が必要でした。具体的には、次の修正を行いました。

コンパイルエラーとコードの修正

1. SC_CTHREADのリセット信号

SC_CTHREADのリセット信号の指定で次のようなエラーが発生しました。

リセット信号の指定方法が変わったようなので、async_reset_signal_isに書き換えました。

2. sc_start

シミュレーション時間を指定するsc_startで次のようなエラーが発生しました。

タイムスケールを指定する必要があるようなので、次のように修正しました。

3. クロック指定

これはコンパイル時ではなく実行時ですが、次のような内容が表示されました。

sc_clockの記述が古いようなので、次のように修正しました。

4. sc_startのマイナス値

これもコンパイル時ではなく実行時ですが、意図した通りにシミュレーションが実行されませんでした。具体的には、全くシミュレーション時間が進みませんでした。以前のSystemCでは、sc_startを引数-1で呼ぶことで無制限(最大値)の時間でシミュレーションが行えたのですが、新しいバージョンでは全くシミュレーション時間が進まないようです。-1の部分を1000といった十分大きい値に修正すると、意図した通りにシミュレーション時間が進むようになりました。

スポンサーリンク
広告大
広告大
  • このエントリーをはてなブックマークに追加
スポンサーリンク
広告大