Is it possible to write below code using for loop? and how?

uvm_config_db#(virtual ei_can_interface)::set(null,“uvm_test_top.env.agent[0].",“vif”,pif[0]);
uvm_config_db#(virtual ei_can_interface)::set(null,"uvm_test_top.env.agent[1].
”,“vif”,pif[1]);
uvm_config_db#(virtual ei_can_interface)::set(null,“uvm_test_top.env.agent[2].*”,“vif”,pif[2]);

In reply to d_g:

Yes. ;-)

Since the second argument to set() is a string, you can use $sformatf to format the string.


for (int i = 0; i < 3; i++)
  uvm_config_db#(virtual ei_can_interface)::set(null,
                 $sformatf("uvm_test_top.env.agent[%0d'.*",i),"vif",pif[i]);