複数のSystemCライブラリのコンパイル

はじめに

SystemC ファイルのコンパイル時間を短縮するために、何人かの顧客はSystemCテストベンチを独立した部分で分割しそれぞれコンパイルします。本アプリケーションノートでは、Riviera-PROで使用される別々の独立したオブジェクトファイルにSystemC ファイルをコンパイルし、1つの共有オブジェクトにそれらを一緒にリンクする方法について説明します。

プロジェクトディレクトリに次の3つのSystemC ファイルを使用していることを前提とします:testbench.cpp, test.cpp, testcase1.cpp
testbench.cpp およびtest.cpp は、テストベンチ・コンポーネントです。 testcase1.cpp はテストケースファイルです。

新しいテストを追加する際に別々のテストケースをコンパイルすることが出来ます。その結果、コンパイル時間を節約するために個別にテストベンチ、およびテストケースをコンパイルする方が良い場合があります。

スクリプトの例

  1. テストベンチ・コンポーネントをコンパイル

    gcc -c -fPIC -O2 -I "$aldec/systemc/interface" $ProjectDir/testbench.cpp $ProjectDir/test.cpp -o testbench.o

  2. テストケース1をコンパイル

    gcc -c -fPIC -O2 -I "$aldec/systemc/interface" $ProjectDir/testcase1.cpp -o testcase1.o

  3. 前述のコンパイルされたオブジェクトファイルをリンク

    ccomp -scv testbench.o testcase1.o -o sharedobject.so

  4. work ディレクトリに共有オブジェクトを追加

    addsc sharedobject.so –work work

  5. 全てのHDLファイルをコンパイル

    vcom -work work -o $ ProjectDir /src/*.vhd

  6. シミュレーションの実行

    vsim -lib work testbench

Note.



Printed version of site: support.aldec.com/jp/support/resources/documentation/articles/1176