我们通常需要analysis_export
才能将数据从analysis_port
转移到analysis_imp
。它们用作从端口到实现的数据传输对象,因为我们无法将analysis_imp
连接到另一个analysis_imp
。
但是analysis_port
- s可以连接到其他analysis_port
- s。
所以我的问题是,为什么我们需要analysis_export
,而不是analysis_export
我们只能使用analysis_port
?
答案 0 :(得分:1)
看起来意图可能是导出接口仅用于连接目的,端口接口用于发送数据 - port.write(data); [导出无需实现写入功能]
但是analysis_export和analysis_port似乎在实现上非常相似。 它看起来也可以互换。唯一的区别是MASK / type位表示它是哪种类型的接口 - export / port。其他接口实现看起来是相同的。
主要区别在于连接接口(连接功能)时,可以对连接方式进行检查。 port-to-port,port-to-export,port-to-imp,export-to-export,export-to-imp。 这些可能用于确保我们使用export来传播接口并最终将它们连接到某个实现。 但是从当前的实现看,端口和导出都具有可以调用的写函数,即使是连接也可以互换使用。
唯一的问题是,一旦端口连接到导出,它只能连接到其他导出,并且必须在实现中终止。 [由于某种原因,只有端口 - 端口连接不会产生任何运行时间]
也有可能在过去的某个时候他们可能会有不同的实现[只是推测,一个跟随UVM历史的人可以回答这个问题。 ]