1.在定义class时,new()函数的形参一定要指定缺省值,否则UVM会报错。如:
class IdValChkseq extends uvm_sequence;
`uvm_object_utils(IdValChkseq)
function new(string name = "");
super.new(name);
endfunction
endclass2.定义sequence类时,一定要用`uvm_object_utils宏注册,否则设置default_sequence时,UVM会报找不到sequence的错误。
class IdValChkTest extends base_test;
`uvm_component_utils(IdValChkTest)
function new(string name, uvm_component parent);
super.new(name,parent);
endfunction
virtual function void build_phase(uvm_phase phase);
super.build_phase(name,parent);
uvm_config_db#(uvm_object_wrapper)::set(this,"mon_env.vsqr.run_phase","default_sequence",IdValChkseq::type_id::get);
endfuction
endclass3.类里面的方法指定了extern,virtual关键字时,在类的外面定义方法的时候,不需要再指定它们。
版权声明:本文为u012521321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。