[SC]SystemC中常用的宏和小工具

SystemC中常用的宏和小工具

       摘要:SystemC 除了最常见的 SC_MODULE(模块定义)以外,还提供了一系列宏和小工具来大幅减少样板代码,主要分为:

  1. 模块/进程注册
  2. 时钟/复位/事件控制
  3. 调试、断言、报告
  4. 时间单位、波形捕捉
  5. 动态加载

下面一一列举,并给出简短示例。


1. 模块/进程注册

  • SC_HAS_PROCESS(YourMod)

手写构造函数时(不用 SC_CTOR)必须声明这一宏,才能在模块里注册进程。

struct BusyWait : sc_module {
  sc_event ev;  
  SC_HAS_PROCESS(BusyWait);
  BusyWait(sc_module_name n): sc_module(n) {
    SC_THREAD(consumer);
  }
  void consumer() { /*…*/ }
};
  • SC_CTOR(YourMod)

等价于

YourMod(sc_module_name nm): sc_module(nm) { /*…*/ }

并自动隐含 SC_HAS_PROCESS。

  • SC_METHOD(f)SC_THREAD(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值