引言
TLM里的各种port、export、imp连接时必须要严格配对使用,下面通过对UVM中源代码的分析来印证这条结论。
UVM源代码溯源
uvm_block_get_port必须要连接到实现了get算法的imp上去,并且调用的通信算法必须是get(task),因为源代码里对类uvm_block_get_port里面的通信方法已经规定死了,如下图所示:
下图为port相关的几个类的定义

UVM_PORT_COMMON宏的定义:


UVM_BLOCKING_PUT_IMP宏的定义:


可以看到对应的port中定义了put方法,并且调用该put方法时会去调用该port连接的imp所在类里的put方法(一般会被重写,除非是uvm标准

文章详细分析了UVM中port和imp的配对使用规则,强调了get和put方法的对应性,并指出initiator和target角色决定了通信方法的选择。源代码的约束确保了通信的正确性。
最低0.47元/天 解锁文章
788

被折叠的 条评论
为什么被折叠?



