C'è un modo semplice per passare una funzione personalizzata alla macro UVM_ERROR
senza manipolare la libreria UVM? (Vale a dire ogni volta che un errore UVM viene richiamato in qualsiasi punto dell'ambiente, desidero richiamare la mia funzione.)Errore Piggybacking a UVM
5
A
risposta
6
Non ho ancora provato questo, ma il uvm_report_catcher
sembra che fa quello che vuoi.
È una richiamata che è possibile implementare ogni volta che un rapporto uvm (come un UVM_ERROR) sta per essere rilasciato e la funzione viene chiamata prima che venga segnalata.
esempio è disponibile qui, la sezione 4.9.3: http://low-powerdesign.com/article_Cadence-UVM_101810.html
0
In base a ciò che si vuole, uvm_report_catcher di classe è l'opzione migliore.
Ecco l'esempio è possibile utilizzare,
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
Spero che questo risolverà il vostro problema ...
ho rotolò la risposta, come non credo che sia opportuno basta copiare il contenuto parola per parola dall'altro sito web. Se vuoi includere il tuo esempio sentiti libero di farlo. – Tim