In reply to Rogers:
This is the construct you are pointing to
if( !uvm_config_db #( MONITOR_BFM_BIND_T )::get( null , UVMF_VIRTUAL_INTERFACES , interface_name , monitor_bfm ) ) begin
$stacktrace;
`uvm_fatal("CFG" , $sformatf("uvm_config_db #( MONITOR_BFM_BIND_T )::get cannot find monitor bfm resource with interface_name %s",interface_name) )
end
This construct is in a function.
The get function should look like this wrt to the 1st 2 arguments:
::get(this, "", .....)
The 1st argument means ‘this is a relative path’ and the 2nd argument means: exactly in the place where you are calling the get.
I’d try
if( !uvm_config_db #( MONITOR_BFM_BIND_T )::get(this, "", interface_name, monitor_bfm ) ) begin
$stacktrace;
`uvm_fatal("CFG" , $sformatf("uvm_config_db #( MONITOR_BFM_BIND_T )::get cannot find monitor bfm resource with interface_name %s",interface_name) )
end