In reply to mperyer:
Hi
What you interpreted is correct.
1) I did the connections of the four interfaces of type signals_interface
signals_interface m1_intf;
signals_interface m2_intf;
signals_interface m3_intf;
signals_interface m4_intf;
2)I have put them into the config_db
uvm_config_db #(virtual signals_interface)::set(null,"uvm_test_top","m1_intf",m1_intf);
uvm_config_db #(virtual signals_interface)::set(null,"uvm_test_top","m2_intf",m2_intf);
uvm_config_db #(virtual signals_interface)::set(null,"uvm_test_top","m3_intf",m3_intf);
uvm_config_db #(virtual signals_interface)::set(null,"uvm_test_top","m4_intf",m4_intf);
3)In the environment, I get the virtual interface handles
if(!(uvm_config_db #(virtual signals_interface)::get(null,"uvm_test_top","m1_intf",m1_intf))
`uvm_fatal("cfg not found")
uvm_config_db #(virtual signals_interface)::set(null,"m1_env.agent_h.config_h","m1_intf",this.m1_intf);
//putting into config of each agent
I have repeated the above for the other three interfaces
Is point 3 the right way of doing it?