@tfitz
I am facing a similar Problem in my environment what is being discussed here, but i am not able to understand this behavior.
I am setting a object in the base_test.sv in the build_phase using
uvm_resource_db::set
uvm_resource_db #(uvm_object)::set(scope, “my_agent”, my_agent, this);
in my extended base_test my_base_test extends base_test.sv
i am setting the same instance name in the build_phase.
uvm_config_db #(uvm_object)::set(this, “my_env”, “my_agent”, this.new_agent);
it is never taking the instance new_agent which i am setting from the my_base_test.sv in build phase.
i also tried to do this in the start_of_simulation phase in my_base_test.sv
// func: start_of_simulation_phase
virtual function void start_of_simulation_phase(uvm_phase phase);
super.start_of_simulation_phase(phase);
`uvm_info(“mai_base_test”, “Setting arf_agent config from start_of_simulation”, UVM_NONE);
uvm_config_db #(uvm_object)::set(this, “my_env”, “arf_agent”, this.new_agent);
endfunction : start_of_simulation_phase
its not picking new_agent still,
uvm_resource_db setting in base_test is overriding all other settings , even last write is not taking affect here.
The way only i got this working was using uvm_config_db::set in the base_test.sv but this base_test.sv is not managed be my, i am trying just to re-use form other tb.
it seems that if someone is using a uvm_resource_db setting in the base_test.sv,
we are not able to override this in the extended my_base_test.sv
i didn’t find any description related resolving multiple uvm_resource_db setting or uvm_config_db setting.
Thanks for your Help