Chinaunix首页 | 论坛 | 博客

  • 博客访问: 474041
  • 博文数量: 86
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 878
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 14:11
文章分类

全部博文(86)

文章存档

2010年(12)

2009年(60)

2008年(14)

我的朋友

分类: 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
(....);
   
}
};

阅读(1303) | 评论(0) | 转发(0) |
0

上一篇:assert() 函数用法

下一篇:内联函数inline

给主人留下些什么吧!~~