SC_MODULE
どうもSC_MODULEの書き方が気持ち悪かったのが解決。(p59)
SC_MODULE module_a; ならわかる。もしくは、SC_MODULE("module_a")でしょ。
なんで、SC_MODULE(module_a)なんだとずっと気になっていました。
SC_MODULEはsc_module.hでこう定義されていました。
#define SC_MODULE(user_module_name) \
struct user_module_name : sc_module
なので、SC_MODULE(module_a)というのは、
struct module_a : sc_module
に「マクロで」展開されます。要するにsc_moduleを継承したstructを定義している。なんか微妙。
(p70を見るとEDAツールの都合もあるみたい)
続いて、p64には、コンストラクタで引数を与えたい場合は、SC_CTORマクロを使わずに
書く方法が乗っている。
ちなみにSC_CTORの定義も、sc_module.hの中に。
#define SC_CTOR(user_module_name) \
typedef user_module_name SC_CURRENT_USER_MODULE; \
user_module_name( sc_module_name )
そのときは、SC_HAS_PROCESSを使うと。
« SystemC メモ | Main | 今日の読書 »
The comments to this entry are closed.


Comments