sc_time sc_in<data_type> sc_out<data_type> sc_inout<data_type> sc_bigint<data_type> sc_bv<W> SC_EXPORT signal process Counter example Concurrency wait sc_event_queue SC_METHOD SC_THREAD SC_CTHREAD sensitive dont_initialize TLM 参考 Introduction 首先是不同的抽象级别,在跟业界的人交流时...
信号用于模块间通信,而值分配通常发生在增量延迟之后,以模拟逻辑因果关系。图2-1展示了SystemC中的一个简单模块实例。该模块包含两个输入端口(sc_in类型),两个输出端口(sc_out类型)以及一个共享端口(sc_inout类型)。模块还包含两个SC_METHOD类型的进程,以及一个子模块实例。在SystemC中,描述...
SystemC中端口类型主要有sc_in<type>、sc_out<type>和sc_inout<type>,type中为端口的类型,可以使用C++自带的一些类型,也可以使用SystemC中的数据类型。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 sc_out<sc_int<WIDTH*2>>vec_o; 例如上面为一个输出端口例子,该输出端口名称为vec_o,类型为SystemC...
图2-1展示了一个简单的module。它有两个输入端口,定义为sc_in,和两个输出端口,定义为sc_out,和一个inout端口,定义为sc_inout。module有两个SC——METHOD类型的进程和包含另一个模块的实例化。Signals, 定义为sc_signal,用于互连两个进程和子模块。
对于(1)中提出的基本端口类型sc_in、sc_out以及sc_inout,可以调用的接口方法仅有write ( )和read ( ),但对于事务级建模,这些端口已经不能够满足需求。比如,当端口与总线接口或存储器接口相连时,需要同时提供地址和数据,事务级模型需要执行与数据读写无关的一些操作如复位操作等。
sc_inout data_value; //需要传递的数据 sc_port bus_port; //通信总线模块接口 /*返回给Core1/Core2 的应答信号,表明CORE1/Core2 获得了共享存储区的访问权,并 且可以继续执行下一个周期的操作*/ sc_inout ackCore1, ackCore2; /*随着isCore1/isCore2 请求一起接收下来的请求信息,包括指令编码、请求...
SC_MODULE(类名){端口声明: sc_in sc_out sc_inout 在内部链接可能需要使用的信号 声明需要使用的一般函数 声明需要使用的进程函数或者线程函数 子模块的声明或者其指针的声明 数据变量的声明// 构造函数SC_CTOR(类名){注册进程或者线程函数 声明敏感量列表}}; ...
主要概念 - **模块(Module)**:使用`SC_MODULE`宏定义,是SystemC中的基本构建块。模块可以包含端口、信号、进程等。 - **端口(Port)**:用于模块之间的连接。有输入端口(`sc_in`)、输出端口(`sc_out`)和双向端口(`sc_inout`)等类型。 - **信号(Signal)**:用于在模块之间传递数据。可以是布尔型、整型...
SystemC的类库中预先定义的端口包括sc_in(输入端口),sc_out(输出端口),sc_inout(双向端口)。 SystemC允许通过对基本端口类型sc_port扩展生成更复杂的端口。模块的信号模块的信号 一个顶层模块可能有几个模块组成,这些模块需要信号相互连接。 SystemC用sc_signal来定义信号。端口和信号的绑定端口和信号的绑定 位置...