1.除了PORT,EXPORT,IMP外,还有analysis_port 和analysis_export,都用于传递transaction,区别是:

1)一个analysis_port 可以连接多个IMP,也就是一对多通信。put 和get 是一对一(除非实例化new时制定数量)。

2)analysis_port 和analysis_export 没有阻塞和非阻塞的区分。本身就是广播,像是非阻塞?


2.IMP 的类型是uvm_analysis_imp,否则会报错。

3.只有write 一种操作。在analysis_imp 所在的component,必须定义名字为write的函数。

4.实现下图:

UVM:4.3.1 UVM 中的analysis 端口_一对一


5.A:

UVM:4.3.1 UVM 中的analysis 端口_一对一_02


6.B:

UVM:4.3.1 UVM 中的analysis 端口_非阻塞_03


7.C:和B 一样。

8.my_env:

UVM:4.3.1 UVM 中的analysis 端口_一对一_04


9.analysis_export 和IMP也可以相连。analysis_port只和analysis_export 相连也会错,后面一定要有uvm_analysis_imp。