目的:
SystemCの環境をインストールする。導入契機:
verilator 導入にあたり、シミュレーションには SystemC を使用した方が良いとの記事を見かけた為、インストールしておくこととした。
いづれは、SystemC も使用できるようにしたいと思う。
インストール手順:
- Accelleraホームページから"CoreSystemCLanguageandExamples(tar.gz)"をダウンロード (
ダウンロードページ
)
( systemc-2.3.3.tar.gz をダウンロード した ) - ダウンロードしたファイルを適当なディレクトに格納する。
- ファイルを解凍する
tar xvf systemc-2.3.3.tar.gz - 展開された systemc-2.3.3 ディレクトリに移動する
cd systemc-2.3.3 - objdirを作成する
mkdir objdir - objdirに移動する
cd objdir - インストール先のディレクトリを作成する。
ここでは、"/usr/local/systemc/2.3.3" とする。
sudo mkdir /usr/local/systemc
sudo mkdir /usr/local/systemc/2.3.3 - g++のバージョンを確認
g++ --version
(もし、g++が無いようならビルド環境のインストールが必要) - 環境変数CXXにg++を設定する。
export CXX=g++ - インストール先を指定して configure を実行する。
../configure --prefix=/usr/local/systemc/2.3.3 - make実行
make - インストール実行
sudo makeinstall - 念のため、チェック実行
make check - 環境変数 SYSTEMC_HOME, LD_LIBRARY_PATH にインストール先, ライブラリ所在を設定する。
~/.bashrc に次の2行を追加し、source する。
export SYSTEMC_HOME=/usr/local/systemc/2.3.3source ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYSTEMC_HOME/lib-linux64
テスト:
- 次の内容のサンプルプログラムを作成する。
(ファイル名:hello.cpp)
#include <systemc.h>
int sc_main(int argc, char *argv[]){
printf("Hello world\n");
return 0;
} - コンパイル/リンクを実行する
g++ -I. -I$SYSTEMC_HOME/include -L. -L$SYSTEMC_HOME/lib-linux64 -o hello hello.cpp -lsystemc -lm
→ オブジェクト "hello" が生成される。
尚、各オプションは、以下の通り。
-I:#includeファイルの検索パスを追加する。
-c:コンパイルのみ。リンクはしない。
-L:ライブラリ検索パスを追加する。
-o:出力ファイルの名前を指定する。
-L:リンク時に指定したライブラリを検索する。 - 以下のようにhelloを実行し、"Hello world" が表示されれば、OK
./hello
(結果)
SystemC 2.3.3-Accellera --- Nov 20 2022 08:46:27
Copyright (c) 1996-2018 by all Contributors,
ALL RIGHTS RESERVED
Hello world
0 件のコメント:
コメントを投稿