Set_inst_override for same component with different parameter values in UVM. Isn't possible ? or Is there any issue in the code?

In reply to desperadorocks:

Hello !

I tried the option provided by @Dave from the below link, it doesn’t give any overriding error, but I don’t see the values being overridden.
Overriding Parameters

All I tried was…

  1. Created a common_v_driver as given below.

class common_v_driver extends uvm_driver #(drv_seq_item)

  1. Created the parameterized driver as shown below

typedef struct {
  int hello;
} drv_struct_s;
 
parameter drv_struct_s drv_struct_default = '{hello=2};
 
class v_driver #(
 parameter type ABC = logic,
 parameter drv_struct_s vd = drv_struct_default
) extends common_v_driver;  
...
`uvm_component_param_utils_begin(v_driver#(ABC, vd))
...
endclass: v_driver

  1. In the base test tried the following,

parameter drv_struct_s drv_struct_d0 = '{hello=5};
parameter drv_struct_s drv_struct_d1 = '{hello=8};
 
uvm_object_wrapper v_driver_proxy[int] = '{
                 0:v_driver#(integer, drv_struct_d0)::get_type(),
                 1:v_driver#(int, drv_struct_d1)::get_type()
             };


set_inst_override_by_type("dummy_env.v_agt[0].v_drv", common_v_driver::get_type(), v_driver_proxy[0]);

Am I missing any of the glue logic here ? Share in your thoughts/ideas ! THanks in adv !