Applistar

5. 2. 4 コンストラクタ(SC_CTOR)

TOP > 5 SystemC入門 > 5. 2 モジュール > 5. 2. 4 コンストラクタ(SC_CTOR)
  5. 2. 4 コンストラクタ(SC_CTOR)  

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 の方を使います。

モジュールをパラメータ化するとは、 引数を使って内部構成を可変にすることをいいます。 それについては次の項で見ます。

  5. 2. 4 コンストラクタ(SC_CTOR)  
TOP > 5 SystemC入門 > 5. 2 モジュール > 5. 2. 4 コンストラクタ(SC_CTOR)