在Systemverilog搭建的验证平台中,需要对各组件进行参数配置,但是配置各组件必须得在各组件实例化之后才能配置参数,例如test中必须得执行env = new();才能配置env.i_agt.drv.pen_num = 10;。再比如接口指针,需要就需要为每个组件设定设定set_interface();方法,非常繁琐。
而UVM提供的config_db机制可在组件实例化前就设定好配置信息,这样就可在tb的initial块中就进行设定了。真正将这些配置信息落实在各component,是在testbench运行过程build_phase中。
1. component的路径索引 uvm_component::get_full_name();
在UVM:类库中提到了UVM树和各component路径索引的概念,此处再强调一下,config_db机制需要写明路径。

component路径索引就是UVM树中从树根到对应component的路
本文详细介绍了UVM的config_db机制,它允许在组件实例化前进行参数配置,简化了数字IC验证过程中的参数设置。讨论了component的路径索引,uvm_config_db的set和get方法,多重set的处理原则,接口配置,以及config_db的聚合参数使用。还探讨了config_db的工作原理,揭示其基于“键键值”型关联数组的存储方式。
订阅专栏 解锁全文





