为什么 uvm_tlm_fifo 需要 put_export 和 get_peek_export?

Why do we need put_export and get_peek_export for uvm_tlm_fifo?

IEEE UVM 的 12.2.8 部分讨论了 uvm_tlm_fifo 类。我想知道为什么我们需要导出 put_exportget_peek_export?

同样的putget方法可以直接在fifo上使用,为什么我需要使用接口方法?

提前致谢:)

使用 TLM 导出的要点是在建立连接时消除依赖性。 uvm_tlm_fifo 组件的 putget 是方法实现,而导出只是接口。

当您将 fifo 嵌入到另一个组件中时,您可以直接调用实现,而无需进行任何连接作为快捷方式。但是如果你想让另一个组件建立连接,TLM 原则抽象出 FIFO 的存在,让你连接到一个通用的 put 或 get export。