bambooflow Note

HelloWorld

最終更新:

Bot(ページ名リンク)

- view
メンバー限定 登録/ログイン

SystemC HelloWorld - 始めの一歩

SystemCライブラリのインストールが完了したら、とりあえず実行できるか確認してみる。
「Hello, SystemC!!!」を表示するプログラム。

ここでは、Linuxインストールで/user/local/systemc-2.2/にインストールしたとする。



プログラム内容

  • main.cpp
#include <systemc.h>
 
int sc_main( int argc, char* argv[] )
{
    cout << "Hello, SystemC!!!" << endl;
 
    return 0; 
}
 
  • "systemc.h"のインクルードする
  • メインは"sc_main"を使用する
sc_mainはSystemCのメイン関数となっている。実際のc++のメイン関数であるmainはライブラリ内に存在する。main関数はsc_main.cppに存在する。ここで、sc_elab_and_simが呼ばれて、その中で、sc_mainが実行される。実行したときに最初にSystemCのバージョン等が表示される。これはsc_elab_and_sim内でplnにより表示されている。
SystemCのバージョンv2.2では、インクルードで".h"を抜いた書き方ができる。
その場合は以下のようになる。
#include <systemc>
using namespace sc_core;
using namespace sc_dt;
using namespace std;
 

サンプル

hello.tgz
  • main.cpp
  • Makefile

コンパイル/実行

$ make
g++ -Wall -I. -I/usr/local/systemc-2.2/include -c main.cpp
g++ -Wall -I. -I/usr/local/systemc-2.2/include -L. -L/usr/local/systemc-2.2/lib-linux -o run.x main.o -lsystemc -lm
$ ./run.x

  • 結果表示
             SystemC 2.2.0 --- Jun 28 2008 10:19:12
        Copyright (c) 1996-2006 by all Contributors
                    ALL RIGHTS RESERVED
Hello, SystemC!!!

まとめ

ここでは、SystemCのインストールがうまくいったかどうかとコンパイルが正しくできるかを確認した。
SystemCを理解するためには次を覚える。
  • モジュール定義方法
  • 信号の定義と接続方法
  • プロセス(並列処理)の定義方法
  • スレッド間の同期について
  • システム時間とシミュレーション時間について
  • シミュレーションの開始と終了
添付ファイル
記事メニュー
ウィキ募集バナー