您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制SystemC-sc_port 正文
SystemC-sc_port

SystemC-sc_port

点击数:7113 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   电脑-单片机-自动控制
      端口与特定的通道接口相连,或者同父模块的端口相连。进程通过特定的端口调用通道的接口提供的方法。对于基本的端口类型,可以调用的接口方法有write()和read(),但这些在有些情况下是不能够满足我们的要求的。比如:

      当端口与总线接口或者存储器接口相连的时候,需要同时提供地址和数据。

      进程可能需要了解通道的状态信息。例如一个FIFO通道,需要了解FIFO中当前的数据数量,还可以存储的数据数量。

      高层次建模中与数据读写无关的一些操作如复位操作。

      高层次建模中的进程的动态敏感,如wait_for_response()、wait_for_request()。

      在SystEMC2.2中,一个端口可以同时连接到一个或者多个实现了同一接口的通道上。端口必须在模块中使用,端口的定义方法如下:

      sc_port<InterfaceType, ChannelNumber = 1>

      InterfaceType是端口所要连接的通道的接口类型,ChannelNumber代表端口所要连接的最大通道数,默认值是1。当连接数目未定时可以使用0,它代表一个端口可以连接无穷多个通道。

      假设我们已经定义了接口ram_if, 则下面的端口定义都是合法的:

      sc_port< ram_if > ram_port1;  //连接到一个RAM上
      sc_port< ram_if, N > ram_portN;  //可以连接到N个RAM上
      sc_port<ram_if, 0 > ram_port0;  //不限制所连接的RAM数量

      设计中端口所实际连接的通道的数目可以通过size()方法来访问。如可以通过ram_port0.size()来得到实际连接到ram_port0的通道RAM的数量。

      一个模块的端口能够连接到零个、一个或者多个通道,或者零个、一个或者多个父模块的端口,但必须至少连接到1个通道或者父模块的端口上。


本文关键字:暂无联系方式电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制

上一篇:一个sc_port实例