有没有一种简单的方法可以将自定义函数存储到UVM_ERROR
宏而不需要操作UVM库?(即,无论何时在环境中的任何地方调用UVM错误,我都希望我的函数与它一起被调用。 )
答案 0 :(得分:6)
我自己还没有尝试过,但uvm_report_catcher
看起来就像你想做的那样。
这是一个回调,你可以在即将发布uvm报告(如UVM_ERROR)时实现,并且在报告之前调用你的函数。
此处提供了示例,第4.9.3节:http://low-powerdesign.com/article_Cadence-UVM_101810.html
答案 1 :(得分:0)
根据您的需要,uvm_report_catcher类是最佳选择。
以下是您可以使用的示例
class my_error_demoter extends uvm_report_catcher;
function new(string name="my_error_demoter");
super.new(name);
endfunction
function action_e catch();
if(get_severity() == UVM_ERROR) begin
... your task () ; ...
end
return THROW;
endfunction
endclass
希望这能解决你的问题...