分类: C/C++
2009-02-04 10:34:49
典型的SystemC Module 写法:
SC_MODULE(module_test) {
public:
SC_CTOR(module_test) {}
};
但是如果Constructor要传入不同变量的时后必须换另一种写法
class module_test: public sc_module {
public:
module_test(sc_module_name nm, ....): sc_module(nm) {....}
};
但是在这这种情况下, 如果module里面要宣告Process
例如SC_METHOD, SC_THREAD, SC_CTHREAD 就会有问题,
因为Process 会用到 SC_CTOR这个macro所定义到的一些东西
所以要用下面这种写法
class module_test: public sc_module {
public:
SC_HAS_PROCESS(module_test)
module_test(sc_module_name nm, ....): sc_module(nm)
{
SC_CTHREAD(....);
}
};