In the code example from “testbench-configuration”, the handle name of wb_config is m_cfg
However, later in the example it is named:
if (m_config == null)…
class wb_m_bus_driver extends uvm_driver #(wb_txn, wb_txn);
...
local virtual wb_m_bus_driver_bfm m_bfm; // Virtual Interface
wb_config m_cfg;
function void build_phase( uvm_phase phase );
if (m_config == null)
if( !uvm_config_db #( wb_config )::get( this , "" , "wb_config" , m_cfg ) ) begin
`uvm_fatal(...)
end
m_bfm = m_cfg.wb_drv_bfm; // set local virtual if property
...
endfunction
function void connect_phase( uvm_phase phase );
super.connect_phase( phase );
m_bfm.set_m_id(m_config.m_wb_master_id); //Set config value in BFM
endfunction
function void end_of_elaboration();
set_report_verbosity_level_hier(m_config.m_wb_wb_verbosity);
endfunction
...
endclass