在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机制需要写明路径。