Cannot pass struct through uvm_config_db

param.sv

trype def struct {
bit enable =1;
} param_struct;

base_class.sv

`include param.sv
task run_phase(uvm_phase phase);
param_struct p_s;
super.run_phase(phase);
if abc
p_s = 1;
  uvm_config_db#(param_struct)::set(null, "*","top_param", p_s);
endtask

top_class.sv

`include base_class.sv

task run_phase(uvm_phase phase);
param_struct p_s;
super.run_phase(phase);
if(!!uvm_config_db#(param_struct)::get(null, “*”, $sformatf(“top_param”), p_s))begin
`uvm_error(“top_test”,“did not receive p_s”)
end
endtask

Why is child class (top_class.sv) not receiving p_s set in parent class (base_class.sv)

Would appreciate any pointers

something to do with include.

tried declaring a local variable
int a=20;
and passing that works, except for passing this struct

Do not use `include. Put the typedef in a package and import the package. Please read the article mentioned in the post mentioned above.