捎带到UVM错误

时间:2013-09-25 19:15:56

标签: verilog system-verilog uvm

有没有一种简单的方法可以将自定义函数存储到UVM_ERROR宏而不需要操作UVM库?(即,无论何时在环境中的任何地方调用UVM错误,我都希望我的函数与它一起被调用。 )

2 个答案:

答案 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

希望这能解决你的问题...