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