SystemC ファイルのコンパイル時間を短縮するために、何人かの顧客はSystemCテストベンチを独立した部分で分割しそれぞれコンパイルします。本アプリケーションノートでは、Riviera-PROで使用される別々の独立したオブジェクトファイルにSystemC ファイルをコンパイルし、1つの共有オブジェクトにそれらを一緒にリンクする方法について説明します。
プロジェクトディレクトリに次の3つのSystemC ファイルを使用していることを前提とします:testbench.cpp, test.cpp, testcase1.cpp
testbench.cpp およびtest.cpp は、テストベンチ・コンポーネントです。 testcase1.cpp はテストケースファイルです。
新しいテストを追加する際に別々のテストケースをコンパイルすることが出来ます。その結果、コンパイル時間を節約するために個別にテストベンチ、およびテストケースをコンパイルする方が良い場合があります。
テストベンチ・コンポーネントをコンパイル
gcc -c -fPIC -O2 -I "$aldec/systemc/interface" $ProjectDir/testbench.cpp $ProjectDir/test.cpp -o testbench.o
テストケース1をコンパイル
gcc -c -fPIC -O2 -I "$aldec/systemc/interface" $ProjectDir/testcase1.cpp -o testcase1.o
前述のコンパイルされたオブジェクトファイルをリンク
ccomp -scv testbench.o testcase1.o -o sharedobject.so
work ディレクトリに共有オブジェクトを追加
addsc sharedobject.so –work work
全てのHDLファイルをコンパイル
vcom -work work -o $ ProjectDir /src/*.vhd
シミュレーションの実行
vsim -lib work testbench
Note.
上記のステップとコマンドは、Riviera-PROのGUIまたはコンソールモードで実行できます。たとえばOSシェル
上記のステップは、トップレベルがHDL(VHDLまたはVerilog)またはSystemCかには依存しません