2013-09-25 21 views
5

有沒有一種簡單的方法來捎帶自定義函數到UVM_ERROR宏而不操縱UVM庫?(即每當在環境中的任何地方調用UVM錯誤時,我希望我的函數與它一起調用。 )捎帶到UVM錯誤

回答

6

還沒有嘗試過這個,但uvm_report_catcher看起來像它做你想要的。

這是一個回調,您可以在uvm報告(如UVM_ERROR)即將發佈時實現,並在報告之前調用您的函數。

實例可以在這裏找到,部分4.9.3:http://low-powerdesign.com/article_Cadence-UVM_101810.html

+0

我回滾的答案,因爲我不認爲這是適當的把剛纔複製的內容逐字從另一個網站。如果你想包括你自己的例子,可以隨意這樣做。 – Tim

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 

希望這將解決您的問題...