微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UVM:10.5.2 聚合参数的优势与问题

1.使用聚合参数后,可以将此参数类的指针放在virtual sequencer中:


2.当sequence 要动态改变验证平台某个变量时,如下:



3.甚至可以将interface 也放入聚合参数:



4.这样,无论是driver 还是monitor 中,都可以直接用cfg.vif,不必在使用config_db 来得到interface:


1)因为interface 藏在cfg 里。

2)如果cfg 赋给sequencer,那么10.3.1 的sequencer 也不必使用get 得到接口。


5.my_config一个object,不是component。使用get时,get_full_name 得到的结果是例化的名字。所以base_test中cfg 的名字要与top_tb中config_db::set一直。如:


或者


6.最方便如下:



7.聚合参数大大方便验证平台的搭建。将这个指针赋给任意的component, 这些components 再也不需要config_db::get。当某个组件要增加一个参数时,只要

1)在聚合类加入此参数。

2)在测试用例中直接为其赋值。

3)然后在验证平台中直接使用。



8.加入不使用聚合类,而是config_db,设置:


driver:


1)减少set,出错概率降低。

2)不完美,成员变量对所有components 可见。

3)降低可重用性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐