SystemC分析(2)Method运行机制分析

本文详细分析了SystemC中sc_method定义的process调用机制。通过Bt命令,可以观察到调用路径从sc_core::sc_simcontext::simulate开始,经过crunch、run_process和semantics,最终执行到用户自定义的entry函数,以此循环直至模拟结束。
摘要由CSDN通过智能技术生成
Process是模拟的核心,在SystemC 中三种定义process的方法
SC_METHOD
SC_THREAD
SC_CTHREAD

该宏定义在sc_modeul.h中,首先我们来看一下其源代码的定义。
define SC_CTHREAD(func, edge)                                                \
    declare_cthread_process( 
#define SC_METHOD(func)                                                       \
    declare_method_process( 
#define SC_THREAD(func)                                                       \
declare_thread_process( 

最终的实现只有两种 method 和thread。method的实现方式为直接的函数调用,而thread的实现方式为quickthread是实现的轻量级线程。

1. sc_method定义的process的调用

这里使用了systemC 源代码例子中的pkt_switch,从自带的例子来学习一个新的语言是一个不错的选择。在configure时加入 –enable-debug选项,使得编译时能够加上-g,方便之后的调试。使用gdb调
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值