report mechanism
uvm_report_object.svh :: get_report_verbosity_level(uvm_severity severity=UVM_INFO, string id=""); -> call uvm_report_handler::get_verbosity_level(severity, id);
-> severity_id_verbosities(对应function::set_severity_id_verbosity) and id_verbosities(对应function::set_id_verbosity)
其中uvm_info 最终也是调用call 该function来判断是否输出的.
在simulation是会在run_root::new()中调用set_report_verbosity_level_hier(verbosity);
// print topology
function void env::end_of_elaboration_phase(uvm_phase phase);
uvm_top t_h;
super.end_of_elaboration_phase(phase);
t_h = uvm_top::get();
t_h.print_topology();
endfunction : end_of_elaboration_phase
uvm_field_*
当定义的member是一个关联数组,且可以是一个bit类型的,可以使用uvm_field_aa_int_key来实现
eg: bit[7:0]mem[bit[63:0]] mem, -》 `uvm_field_aa_int_key(bit[63:0], mem, UVM_DEFAULT)
uvm_hdl_read
string signal = "top.dut.xxx";
logic value;
assert(uvm_hdl_read(signal, value)) else `uvm_fatal()
版权声明:本文为ocarvb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。