gpt4 book ai didi

uvm - uvm_analysis 端口之间的差异

转载 作者:行者123 更新时间:2023-12-02 03:08:27 24 4
gpt4 key购买 nike

您能否帮助理解以下功能和之间的明显区别:

  1. uvm_analysis_export
  2. uvm_analysis_port
  3. uvm_analysis_imp

我在网上查了一下,有一些解释,比如:

但我仍然觉得需要更多解释。有人可以帮忙吗?

最佳答案

uvm_analysis_port是发布者,他们广播交易

uvm_analysis_imp 是订阅者,它们接收事务并调用定义它们的类中名为“write”的函数。

uvm_analysis_export可能更令人困惑,它们用于在层次结构的更高级别公开“imp”端口。例如,如果您有一个代理,其中包含带有analysis_imp 的组件,并且您希望使该“imp”在代理的接口(interface)级别可用。在这种情况下,您在代理类中声明并实例化analysis_export,然后在connect_phase中将代理的analysis_export连接到内部组件的analysis_imp。

值得注意的是,导出是针对订阅端的,但在发布端可以以相同的方式使用常规 uvm_analysis_port。因此,代理可以实例化analysis_ports并将它们连接到内部组件的analysis_port。

这很好,因为它允许您在连接组件时避免深入到层次结构(这使维护更容易):

坏:

bus_agent.internal_monitor.packet_port.connect(checker.ref_model.packet_imp) 

好:

bus_agent.packet_port.connect(checker.packet_export)

熟悉宏uvm_analysis_imp_decl()也很有好处。它允许您在一个组件中使用多个analysis_imp。

关于uvm - uvm_analysis 端口之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com