7. 3. 2 SC_MODULEの記述スタイル
- モジュールの信号はpublicにします。
private にすると、上位からトレース出来なくなります
- pos(), neg()のようなエッジはbool、sc_logic型だけに使えます
例えば次のように bool でも sc_logic でもない例えば int と宣言した bin という名前の入力について sensitive に pos() を指定すると
SC_MODULE(box) // box というモジュールクラスを定義する
{
sc_in<int> bin;
sc_out<int> bout;
void box::connect();
SC_CTOR(box) { // コンストラクタ (初期化部分)
SC_METHOD(connect);
sensitive << bin.pos();
}
};
次のように pos は宣言されていない、という文法誤りとされます。
simple2.h:14: error: `pos' undeclared (first use this function)
- 同一モジュールに登録出来るプロセスの数の上限に注意する(必要)
同一モジュールに登録出来るプロセスの数には上限があります。 例えば、Visual C++ 6 を使っている場合には、次の部分により 10 に制限されています。
{{inc_dir("src/")}} {{incex2(systemc/kernel/sc_module.h,382,389)}}
