UVM环境集成

UVM继承不同模块验证环境的思路:

  • 方案一:复用底层模块验证环境的组件,顶层环境需要新建一个scoreboard ;

  • 方案二:直接复用底层模块的验证环境,要在顶层环境的build_phase阶段,对各个模块环境中不需要产生激励的agent配置为UVM_PASSIVE。这种方式不需要新建scoreboard,可以间接使用模块环境中的scoreboard 。

两种方式的对比

  • 方案一需要新建一个scoreboard,而方案二直接复用模块环境中的scoreboard

  • 如果顶层设计没那么复杂,重新实现一个顶层的scoreboard其实复杂度是可以控制的;但如果顶层环境很复杂,那么直接复用模块环境scoreboard就比较省事

    例如:uvm_config_db#(int) ::set( this,“chnl_e1.reg_cfg”,“is_active”,UVM_PASSIVE );

    注意在build_phase中先配置,再例化

  • 相同点是:都需要新建一个virtual sequencer 和virtual sequence用来生成顶层的测试序列

UVM带来的环境复用,相比于SV验证环境的优势

  • 各个模块的验证环境是独立封装的,对外不需要保留数据端口,因此便于环境的进一步集成复用。

    而在SV中不行,例如例化driver就需要generator提供帮助,否则编译报错

  • 由于UVM自身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小verifier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值