Connecting vip to interface in uvm

Please show me the uvm_config_db::get() calls in the master agent, driver and monitor. I’m assuming that top_tb.u0_T_wrapper.u0_apb_master_if is the hierarchical path in your RTL from the top-level module.
If your get/set calls look like this:


class apb_master_agent extends uvm_component;
...
  master_driver mst_drv;
  master_monitor mst_mon;
...
  uvm_config_db#(virtual apb_master_if)::get(this,"","mst_if",mst_if);
  uvm_config_db#(virtual apb_master_if)::set(this,"mst_drv","drv_if",mst_if);
  uvm_config_db#(virtual apb_master_if)::set(this,"mst_mon","mon_if",mst_if);
...
endclass

class master_driver extends uvm_driver;
...
  uvm_config_db#(virtual apb_master_if)::get(this,"","mst_if",mst_if);
...
endclass

class master_monitor extends uvm_component;
...
  uvm_config_db#(virtual apb_master_if)::get(this,"","mst_if",mst_if);
...
endclass

then you should be in reasonably good shape.