TOP > SystemC > SystemCファイル構成[ヘッダーファイル編] |
ヘッダーファイルの記述
ヘッダーファイルにモジュールの概要を記述する。具体的には、入出力のポートとプロセスの宣言を行う。
クラスを宣言する際、マクロのSC_MODULEを使いコンストラクタでは、SC_CTORを使う。
クラス内で定義するもの
クラス内では、以下のものを定義する必要がある。
接続ポート
接続ポートは各モジュール間の接続を定義する。以下のように定義をする。
[主な接続ポート]
※typeはデータ型
プロセス宣言
プロセス宣言は、モジュールの処理を行うメソッドの事である。ヘッダー内に宣言をし、インプリメンテーションファイル内で実装させる。
プロセスの宣言は引数も戻り値も全てvoidで宣言する
(例)void Func(void);
イベントの定義
モジュール内のイベントの通知を定義する
(書式)sc_event EventName;
プロセスのタイプ
上記で宣言したプロセスのタイプをコンストラクター内で指定する。プロセスタイプは以下の3種類がある
(例)SC_METHOD(FUNC);
(例)SC_THREAD(FUNC);
(例)SC_CTHREAD(FUNC, CLK.pos());
センシティビティ・リスト
プロセス実行のトリガを指定する。センシティビティ・リストに表記できるのは、以下のもの。
モジュールヘッダーファイルの例
/*! ******************************************************************************* * \file module.h * \brief モジュールヘッダーファイルの例 * ******************************************************************************* */ /*! ******************************************************************************* * \class MODULEA * \brief モジュールAクラス * ******************************************************************************* */ SC_MODULE(MODULEA)//モジュール名を記述 { public: //ポートの定義 sc_in<bool> IN; sc_out<bool> OUT; //プロセスの宣言 void FUNC(void); //コンストラクター SC_CTOR(MODULEA) { //プロセスのタイプ SC_METHOD(FUNC); //センシティビティ・リスト sensitive << IN; } }; |
Copyright 2007 ためになるホームページ All Rights Reserved. |