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);
// 在uvm_test中可以直接使用factory
// factory.print()会打印出所有class 类型,非常多,不建议打开
function void llc_base_test::end_of_elaboration_phase(uvm_phase phase);
super.end_of_elaboration_phase(phase);
uvm_root::get().print_topology();
//factory.print();
endfunction
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()
本文详细介绍了UVM(Universal Verification Methodology)中的报告机制工作原理,包括如何通过不同函数设置和获取报告的详细级别,以及如何在测试环境中利用这些机制进行调试。同时,还提供了在UVM测试平台中读取信号值的方法。
1697

被折叠的 条评论
为什么被折叠?



