5. 2. 4 コンストラクタ(SC_CTOR)
を使って、次のような形でモジュールを定義する時に、 SC_CTOR (モジュール名)と書き、その後に コンストラクタの内容を記述します。
SC_MODULE(cpu) {
// ポート、プロセス、内部データ 等
SC_CTOR(cpu) {
// 初期化(コンストラクタ SystemcConstructor)
// プロセスの宣言, 起動条件 ([[Sensitivity]])) 等
}
};
SC_CTOR は、 モジュールの定義の中で初期化を記述する部分です。この部分は C++ や SystemC の用語ではコンストラクタと言います。
SC_MODULE のコンストラクタを記述するには、 SC_CTOR を使う方法と、 SC_HAS_PROCESS を使う方法があります。 通常はこのうちの SC_CTOR を使います。 しかし、 初期化部分を書く時に、 引数を追加して、モジュールをパラメータ化したり、 sc_module 以外のものも継承するときには、 SC_HAS_PROCESS の方を使います。
モジュールをパラメータ化するとは、 引数を使って内部構成を可変にすることをいいます。 それについては次の項で見ます。
