通信管道- TLM-fifo、analysis tlm port

UVM TLM_FIFO组件内部包含一个不限大小的Mailbox,用于数据读写。它有三个参数,其中size默认为1。uvm_tlm_analysis_fifo是其子类,增加了分析端口和write()函数,适用于checker,允许一对多的数据传递。在高层次环境中,可以将多个monitor的analysis_port连接到checker的uvm_tlm_analysis_fifo,实现数据聚合。另一方面,uvm_tlm_req_rsp_channel和uvm_tlm_transport_channel提供双向通信,内部使用mailbox处理请求和响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Uvm _tlm_fifo是一个组件类(一端对一端),继承于uvm_component,且内置了多个端口,内部内置了一个Mailbox,该mailbox没有尺寸限制,Uvm _tlm_fifo的多个端口都是利用该mailbox进行数据读写。

Uvm _tlm_fifo有三个参数,继承于component的两个,name 和 parent ,还有一个size,可以自己修改,默认为1,存一个数。

 

uvm_tlm_analysis_fifo 是一个新的组件,继承于uvm_tlm_fifo ,所以既有面向单一tlm端口的数据缓存特性,还具有一个uvm_analysis_imp 端口uvm_analysis_port端口和write()函数。(即实现一对一,又实现一对多)

uvm_tlm_analysis_fifo一般用于checker里,

3b540d68eced47b3a7685a1632797fe5.png

这样的话在顶层env层就可以把各个monitor 的analysis_port连接到checker上对应的uvm_tlm_analysis_fifo

(多个port可以连接到同一个export或imp,像reg_agent 总线的monitor的analysis_port还得跟predictor的bus_in 连接)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值