Process是模拟的核心,在SystemC 中三种定义process的方法
该宏定义在sc_modeul.h中,首先我们来看一下其源代码的定义。
最终的实现只有两种 method 和thread。method的实现方式为直接的函数调用,而thread的实现方式为quickthread是实现的轻量级线程。
以下对method的调
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调试器在receiver.cpp::entry()处设置断点。以下对method的调