複数の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.

  • 上記のステップとコマンドは、Riviera-PROのGUIまたはコンソールモードで実行できます。たとえばOSシェル

  • 上記のステップは、トップレベルがHDL(VHDLまたはVerilog)またはSystemCかには依存しません

Ask Us a Question
x
Ask Us a Question
x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.
We use cookies to ensure we give you the best user experience and to provide you with content we believe will be of relevance to you. If you continue to use our site, you consent to our use of cookies. A detailed overview on the use of cookies and other website information is located in our Privacy Policy.