UVM中(TB 环境)不同组件参数类型的要求

本文总结了UVM设计中TLM端口连接的注意事项:(1)TLM端口参数类型必须一致;(2)sequencer和driver参数类型需一致;(3)sequence和sequencer参数类型可不同,但需满足继承关系;(4)参数类型不一致时,driver需处理后再驱动interface。

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

本文的目的在于总结,总结在应用中可以不注意的点,导致出现意想不到的错误,下面暂时给出下面几条总结

(1)TLM 端口的参数类型必须一致才可以试下连接,两边类型不一样,即使是一边是parent_class,一边是child_class,发生连接时也会报错

(2)sequencer和driver的参数类型必须一致,本质上是TLM端口的连接

(3)sequence和sequencer的参数类型可以出现不一致的情况,但是要满足parent_class,child_class的关系,因为在sequencer中将sequence发过来的transaction存放至内部的参数化类的FIFO中前,会进行$cast转换,在RAL模型就有使用场景中,uvm_reg_map中进行do_bus_write时,调用的sequence是默认是sequence,默认的参数类型是uvm_seqeunce_item,而sequencer的参数类型是bus_item.

(4)当sequence和sequencer的参数类型不一致时,可能需要在driver中取得item的时候,先进行处理,比如动态转化,再去驱动interafce或者做别的操作。

先总结到这,后续有相关总结的也会放在这篇文章中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值