uvm_object ——太极

无极生太极——无名天地之始
太极生两仪——有名万物之母
 
文件:
$UVM_HOME/src/base/uvm_object.svh
类:
uvm_object
  The uvm_object class is the base class for all UVM data and hierarchical classes. Its primary role is to define a set of methods for such common operations as create, copy, compare, print, and record.(金木水火土).
//------------------------------------------------------------------------------
//
// CLASS: uvm_object
//
// The uvm_object class is the base class for all UVM data and hierarchical 
// classes. Its primary role is to define a set of methods for such common
// operations as <create>, <copy>, <compare>, <print>, and <record>. Classes
// deriving from uvm_object must implement the pure virtual methods such as 
// <create> and <get_type_name>.
//
//------------------------------------------------------------------------------

virtual class uvm_object extends uvm_void;


  // Function: new
  //
  // Creates a new uvm_object with the given instance ~name~. If ~name~ is not
  // supplied, the object is unnamed.

  extern function new (string name="");


  // Group: Seeding

  // Variable: use_uvm_seeding
  //
  // This bit enables or disables the UVM seeding mechanism. It globally affects
  // the operation of the <reseed> method.
  //
  // When enabled, UVM-based objects are seeded based on their type and full
  // hierarchical name rather than allocation order. This improves random
  // stability for objects whose instance names are unique across each type.
  // The <uvm_component> class is an example of a type that has a unique
  // instance name.

  static bit use_uvm_seeding = 1;
  ......

endclass
 
  uvm_void 是不能使用的,而必须有一个实体那就是uvm_object. 很多类都派生自uvm_object,比如uvm_component,uvm_transaction,uvm_reg等等。还可以被用作 cfg 配置的基类。总之uvm_object是UVM框架的基石。
  如果uvm_void 是无极,可以认为uvm_object是太极。道是看不见,是混沌,太极是可以感受的。是故,易有太极,是生两仪,两仪生四象,四象生八卦,八卦定吉凶,吉凶生大业。
 
 
问题:
1 what is UVM seeding mechanism?
参考文献:
 
原文地址:https://www.cnblogs.com/dpc525/p/7910488.html