在类定义过程中,一定需要使用'uvm_component_utils()或者'uvm_object_utils()完成类的注册。 在使用上述工厂注册宏的时候,会伴随着“域声明自动化”,一般而言,将sequence item类定义时,应当伴随着域声明,即利用'uvm_object_utils_begin和'uvm_object_utils_end完成。这是由于对于sequence item对象的拷贝、比较和打...
每一个派生自uvm_component或其派生类的类在其new函数中要指明两个参数:name和parent,另外还要使用uvm_component_utils注册。(比如uvm_driver。)只有uvm_component才能作为数的节点。 所有的transaction要派生自uvm_sequence_item,这样才可以使用sequence机制 uvm_object_utils有生命周期,不想uvm_component_utils一直存在。
`uvm_field_array_int(data, UVM_ALL_ON) `uvm_field_int(ch_id, UVM_ALL_ON) `uvm_field_int(pkt_id, UVM_ALL_ON) `uvm_field_int(data_nidles, UVM_ALL_ON) `uvm_field_int(pkt_nidles, UVM_ALL_ON) `uvm_field_int(rsp, UVM_ALL_ON) `uvm_object_utils_end function new (string nam...
使用UVM的第一条原则:验证平台中所有的组件均应派生自UVM中的类。 factory机制:必须用宏uvm_component_utils,uvm_object_utils, uvm_object_utils_begin … end注册后才能使用。 UVM factory机制会维护一个注册表,这些宏可以把用户定义的类注册到该表中。 在top tb中使用run_test("your_test_name"),它会自动...