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…
- Created a common_v_driver as given below.
class common_v_driver extends uvm_driver #(drv_seq_item)
- 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
- 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 !