// Setting this static variable causes uvm_config_db::get() to print info about// matching configuration settings as they are being applied.staticbitprint_config_matches;//----------------------------------------------------------------------------// Group: Objection Interface//----------------------------------------------------------------------------//// These methods provide object level hooks into the <uvm_objection> // mechanism.// //----------------------------------------------------------------------------// Function: raised//// The ~raised~ callback is called when this or a descendant of this component
// and other methods in the <Recording Interface>. // Default is <uvm_coreservice_t::get_default_tr_database>.uvm_tr_databasetr_database;externvirtualfunctionuvm_tr_databasem_get_tr_database();//----------------------------------------------------------------------------// PRIVATE or PSUEDO-PRIVATE members// *** Do not call directly ***// Implementation and even existence are subject to change. //----------------------------------------------------------------------------// Most local methods are prefixed with m_, indicating they are not// user-level methods. SystemVerilog does not support friend classes,// which forces some otherwise internal methods to be exposed (i.e. not// be protected via 'local' keyword). These methods are also prefixed// with m_ to indicate they are not intended for public use.//// Internal methods will not be documented, although their implementa-// tions are freely available via the open-source license.//----------------------------------------------------------------------------
uvm_bitstream_tvalue);if(!m_config_deprecated_warned)begin`uvm_warning("UVM/CFG/SET/DPR","get/set_config_* API has been deprecated. Use uvm_config_db instead.")m_config_deprecated_warned=1;enduvm_config_int::set(this,inst_name,field_name,value);endfunction//// set_config_string//functionvoiduvm_component::set_config_string(stringinst_name,stringfield_name,stringvalue);if(!m_config_deprecated_warned)begin`uvm_warning("UVM/CFG/SET/DPR","get/set_config_* API has been deprecated. Use uvm_config_db instead.")m_config_deprecated_warned=1;
bitrecurse=0);staticbithave_been_warned;if(!have_been_warned)beginuvm_report_warning("deprecated","uvm_component::print_config_settings has been deprecated. Use print_config() instead");have_been_warned=1;endprint_config(recurse,1);endfunction// print_config_with_audit// -----------------------functionvoiduvm_component::print_config_with_audit(bitrecurse=0);print_config(recurse,1);endfunction
externfunctionvoidprint_config(bitrecurse=0,bitaudit=0);//@uvm-compat provided for compatibility with 1.1dexternfunctionvoidprint_config_settings(stringfield="",uvm_componentcomp=null,bitrecurse=0);// Function -- NODOCS -- print_config_with_audit//// Operates the same as print_config except that the audit bit is// forced to 1. This interface makes user code a bit more readable as// it avoids multiple arbitrary bit settings in the argument list.//// If ~recurse~ is set, then configuration information for all// children and below are printed as well.externfunctionvoidprint_config_with_audit(bitrecurse=0);
// 0 which may be overwritten by set_print_config_matches()//// @uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2staticfunctionbitget_print_config_matches();returnprint_config_matches;endfunction// Function: set_print_config_matches//// static function void set_print_config_matches(bit val)//// Sets the value of the internal static variable print_config_matches to val// (see get_print_config_matches)//// @uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2staticfunctionvoidset_print_config_matches(bitval);print_config_matches=val;endfunction
uvm_tr_databasetr_database;// @uvm-ieee 1800.2-2020 auto 13.1.7.12externvirtualfunctionuvm_tr_databaseget_tr_database();// @uvm-ieee 1800.2-2020 auto 13.1.7.11externvirtualfunctionvoidset_tr_database(uvm_tr_databasedb);//----------------------------------------------------------------------------// PRIVATE or PSUEDO-PRIVATE members// *** Do not call directly ***// Implementation and even existence are subject to change. //----------------------------------------------------------------------------// Most local methods are prefixed with m_, indicating they are not// user-level methods. SystemVerilog does not support friend classes,// which forces some otherwise internal methods to be exposed (i.e. not// be protected via 'local' keyword). These methods are also prefixed// with m_ to indicate they are not intended for public use.//// Internal methods will not be documented, although their implementa-// tions are freely available via the open-source license.
// @uvm-ieee 1800.2-2020 auto 13.1.6.14externvirtualfunctionbitget_recording_enabled();// Function: set_recording_enabled //// | function void set_recording_enabled(bit enabled)//// In addition to the functionality described in IEEE 1800.2, this// library implements a call to set_recording_enabled in build_phase// when a config_db access of the form // uvm_config_db #(uvm_bitstream_t)::get(this, "", "recording_detail", x)// or // uvm_config_db #(int)::get(this, "", "recording_detail", x)// returns a non-zero value for x// @uvm-ieee 1800.2-2020 auto 13.1.6.13externvirtualfunctionvoidset_recording_enabled(bitenabled);// @uvm-ieee 1800.2-2020 auto D.2.3externvirtualfunctionvoidset_recording_enabled_hier(bitenabled);
endfunctionfunctionbituvm_component::get_recording_enabled();return(uvm_verbosity'(recording_detail)!=UVM_NONE);endfunctionfunctionvoiduvm_component::print_config_settings(stringfield="",uvm_componentcomp=null,bitrecurse=0);print_config(recurse,1);endfunctionfunctionvoiduvm_component::set_recording_enabled(bitenabled);if(get_recording_enabled()!=enabled)beginrecording_detail=enabled?UVM_LOW:UVM_NONE;end// else don't change another recording_detail value that maps to enabledendfunctionfunctionvoiduvm_component::set_recording_enabled_hier(bitenabled);set_recording_enabled(enabled);foreach(m_children[c])m_children[c].set_recording_enabled_hier(enabled);