// The <uvm_component> class is an example of a type that has a unique// instance name.staticbituse_uvm_seeding=1;// Function: reseed//// Calls ~srandom~ on the object to reseed the object using the UVM seeding// mechanism, which sets the seed based on type name and instance name instead// of based on instance position in a thread. //// If the <use_uvm_seeding> static variable is set to 0, then reseed() does// not perform any function. externfunctionvoidreseed();// Group: Identification
// reseed// ------functionvoiduvm_object::reseed();if(use_uvm_seeding)this.srandom(uvm_create_random_seed(get_type_name(),get_full_name()));endfunction// get type// --------functionuvm_object_wrapperuvm_object::get_type();uvm_report_error("NOTYPID","get_type not implemented in derived class.",UVM_NONE);returnnull;endfunction// get inst_id
// Group -- NODOCS -- Seeding//@uvm-compat provided for compatbility with 1.2staticbituse_uvm_seeding=1;// Function -- NODOCS -- get_uvm_seeding// @uvm-ieee 1800.2-2020 auto 5.3.3.1externstaticfunctionbitget_uvm_seeding();// Function -- NODOCS -- set_uvm_seeding// @uvm-ieee 1800.2-2020 auto 5.3.3.2externstaticfunctionvoidset_uvm_seeding(bitenable);// Function -- NODOCS -- reseed//// Calls ~srandom~ on the object to reseed the object using the UVM seeding// mechanism, which sets the seed based on type name and instance name instead// of based on instance position in a thread. //// If <get_uvm_seeding> returns 0, then reseed() does// not perform any function. // @uvm-ieee 1800.2-2020 auto 5.3.3.3externfunctionvoidreseed();// Group -- NODOCS -- Identification
// ------functionvoiduvm_object::reseed();if(get_uvm_seeding())this.srandom(uvm_create_random_seed(get_type_name(),get_full_name()));endfunction// get type// --------functionuvm_object_wrapperuvm_object::get_type();uvm_report_error("NOTYPID","get_type not implemented in derived class.",UVM_NONE);returnnull;endfunction// get inst_id// -----------