Hi Friends,
I have created 8 interfaces for 8 agents.
top.sv (code) :
//Flit interface instances
flit_intf flit_if_0(i_we_clk,rstn);
flit_intf flit_if_1(i_we_clk,rstn);
flit_intf flit_if_2(i_we_clk,rstn);
flit_intf flit_if_3(i_we_clk,rstn);
flit_intf flit_if_4(i_we_clk,rstn);
flit_intf flit_if_5(i_we_clk,rstn);
flit_intf flit_if_6(i_we_clk,rstn);
flit_intf flit_if_7(i_we_clk,rstn);
initial begin
//put in the database the interface used by FLIT Slave agent0
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_slv_agnt[0]", "slv_if", flit_if_0);
//put in the database the interface used by FLIT Slave agent1
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_slv_agnt[1]", "slv_if", flit_if_1);
//put in the database the interface used by FLIT Slave agent2
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_slv_agnt[2]", "slv_if", flit_if_2);
//put in the database the interface used by FLIT Slave agent3
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_slv_agnt[3]", "slv_if", flit_if_3);
//put in the database the interface used by FLIT Master agent0
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_mst_agnt[0]*", "mst_if", flit_if_4);
//put in the database the interface used by FLIT Master agent1
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_mst_agnt[1]*", "mst_if", flit_if_5);
//put in the database the interface used by FLIT Master agent2
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_mst_agnt[2]*", "mst_if", flit_if_6);
//put in the database the interface used by FLIT Master agent3
uvm_config_db#(virtual flit_intf)::set(null, "uvm_test_top.env.flit_mst_agnt[3]*", "mst_if", flit_if_7);
end
When i am trying to get flit_if_4 in master driver class it is giving below fatal error.
FATAL ERROR:
UVM_FATAL …/…/…/…/…/tb/UVM/inoc_flit_agent/master_driver.sv(22) @ 0: uvm_test_top.env.flit_mst_agnt0.inoc_flit_master_driver_inst [uvm_test_top.env.flit_mst_agnt0.master_driver_inst] No virtual interface named flit_intf in the environment
Master Driver code :
virtual flit_intf inoc_flit_vif;
function void build_phase(uvm_phase phase);
super.build_phase(phase);
if(!uvm_config_db #(virtual flit_intf)::get(this,"","mst_if",inoc_flit_vif))
`uvm_fatal(get_full_name(), "No virtual interface named flit_intf in the environment")
endfunction // build_phase
Agents creation Code in build_phase task(env.sv):
foreach(flit_mst_agnt[i]) begin
flit_mst_agnt[i] = inoc_flit_master_agent::type_id::create ($sformatf("flit_mst_agnt%0d",i), this);
end
Can some one help me to fix this issue.
Regards,
Rajani