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)降低可重用性。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...