无极生太极——无名天地之始
太极生两仪——有名万物之母
文件:
$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?
参考文献:
1 uvm_object. http://blog.sina.com.cn/s/blog_466496f30100yc75.html