[UVM源代码研究] TLM里的各种port、export、imp使用研究

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

引言

TLM里的各种port、export、imp连接时必须要严格配对使用,下面通过对UVM中源代码的分析来印证这条结论。

UVM源代码溯源

uvm_block_get_port必须要连接到实现了get算法的imp上去,并且调用的通信算法必须是get(task),因为源代码里对类uvm_block_get_port里面的通信方法已经规定死了,如下图所示:
下图为port相关的几个类的定义

添加图片注释,不超过 140 字(可选)

UVM_PORT_COMMON宏的定义:

添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)

UVM_BLOCKING_PUT_IMP宏的定义:

添加图片注释,不超过 140 字(可选)
在这里插入图片描述
可以看到对应的port中定义了put方法,并且调用该put方法时会去调用该port连接的imp所在类里的put方法(一般会被重写,除非是uvm标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值