I need to set the queue value from test and get in scoreboard.
The queue value is the expected data which is bit [63:0] exp_data[$]
Note: This Queue is outside of class test in separate file and included before test
The code in ext_test:
function void build_phase(uvm_phase phase);
super.build_phase(phase);
if (!uvm_config_db #(env)::get(this, "","envh", env))
`uvm_fatal("TB CONFIG", "Cannot get() in test")
foreach (Exp_data[i]) begin
uvm_config_db#(bit [63:0])::set(uvm_root::get(),"envh.sbh",$sformatf("Exp_data[%0d]",i),Exp_data[i]);
endfunction
The code in scoreboard:
function void build_phase(uvm_phase phase);
for(int i=0; i < 10; i++) begin
if (!uvm_config_db#(bit [63:0])::get(this," ",$sformatf("Exp_data[%0d]",i),exp_data[i])) begin
`uvm_fatal(m_name, " Exp_data not found")
end
endfunction
I am not getting the queue value from database.
FATAL Error: Exp_data not found
Please correct me what I am doing wrong and suggest me with recommended way of doing this logic.