在UVM中,有预定义的详细级别:
实际报告可以使用命令行参数来控制,例如+UVM_VERBOSITY=UVM_LOW
(1)是否有一种方法可以拥有用户定义的详细级别(或至少别名)?
与
具有相同的优先级
(2)是否可以使用不同的优先级创建完全用户定义的详细级别?
控制这样的事情。
这样做的原因是,即使有UVM_LOW,一些商业要人仍然相当冗长。如果可能的话,我想要一个“我自己的水平”来做一些测试.
发布于 2019-12-06 18:44:18
我有一个uvm-1.2版本的想法,所以我可以在这个上下文中判断。是的,您可以设置自定义详细。您可以创建uvm_report_object的一个对象,并调用set_report_verbosity_level来设置您选择的详细内容。例如,一个小的测试案例看起来就像是-
module top;
import uvm_pkg::*;
uvm_report_object rep_obj;
initial begin;
rep_obj = new("");
rep_obj.set_report_verbosity_level(350);
rep_obj.uvm_report_info("", "", 350);
end
endmodule"set_report_verbosity_level“将为特定的uvm_report_object将verbosity_level of uvm_report_handler类设置为350。现在调用"set_report_info“的详细程度为350,否则将UVM_MEDIUM作为默认详细内容。在本例中,您不需要在run命令行中添加任何附加命令。
如果您想使用定制的详细信息输出新的错误消息,那么您必须创建一个从uvm_report_object派生的类,并为该自定义消息创建自己的函数定义(用于ex:- uvm_custom_report_info)。如果您在您的uvm_report_object类中看到了uvm_report_info/uvm_report_warning的定义,它将给您提供一个想法。
我希望这在一定程度上回答了你的问题。
https://stackoverflow.com/questions/58486706
复制相似问题