1、在env里面set对应的指针
class a_env extends uvm_env;
a_cfg cfg;
`uvm_component_utils_begin(a_env )
`uvm_component_utils_end
function new(string name="a_en",uvm_parent parent= null);
super.new(name,parent);
endfunction
function void build_phase(uvm_phase phase);
super.build_phase(phase);
cfg = new("cfg");
void'(cfg.randomize());
uvm_config_db#(a_cfg)::set(this,"*","cfg",cfg);
endfunction
endclass
2、在module里面get对应的指针
module();
a_cfg cfg;
initial begin
if(!uvm_config_db#(a_cfg)::get(uvm_root::get(),"uvm_test_top.env.","cfg",cfg))
$display("failXXXX");
end
endmodule
注意:在env后面必须有一个".",应该module没有component hierarchy结构,在component结构里面get,自动会通配*号。