类sc_port<IF,N>是所有端口的基类,它是一个模板类。IF是接口类型,N是所连接的同一类型的通道数目,也就是接口数,它的缺省值是1。sc_port<IF,N>是sc_port_b<IF>的子类,而sc_port_b<IF>是sc_port_base的子类,它们都是SystEMC内核中的重要类,本书在这里不做详细讨论。
下面是sc_port<IF,N>的准代码,列出了它的几个重要成员函数。
重载操作符operator () ( IF& interface )用于将端口与接口捆绑起来,实现端口与通道的接口的互通,这是端口的最基本操作。操作符operator () ( sc_port_b<IF>& port )用于将端口与父模块的端口捆绑起来,使端口支持分层的模块化设计。IF* operator -> ()和const IF* operator -> () const实现接口方法的调用。利用size()可以查询当前端口所连接的同一类型的接口数(也可以认为是所连接的通道数)。当多个接口连接到同一个端口上时,可以利用operator [] ( int index )来调用不同的接口的方法。比如在3.4.2节的例子中,当有多个RAM连接到同一个ram_port上时,可以利用ram_port[n]-> read(address, data),(0<=n<ram_port.size())来调用第n个接口的方法read(address, data)。
本文关键字:暂无联系方式电脑-单片机-自动控制,电子学习 - 基础知识 - 电脑-单片机-自动控制
上一篇:连接到多个接口的端口实例