Styra fältutdata i UVM Utility-makron
UVM-verktygsmakron, som uvm_info, uvm_error och uvm_warning, skriver ofta ut alla fält i ett objekt. Detta kan vara oönskat för stora objekt eller när specifika fält är irrelevanta för felsökning. Så här inaktiverar du utskrift för enskilda fält.
- Den primära metoden innebär att den virtuella metoden
do_printåsidosätts inom klassen för objektet som skrivs ut. - Denna metod styr vad som skrivs ut när objektet skickas till ett UVM-makro.
- Du kan villkorligt hoppa över att skriva ut ett fält baserat på dess värde eller en global kontrollflagga.
- Definiera en skyddad medlemsvariabel i din klass för att kontrollera fältutskrift.
- Åsidosätt metoden
do_print. - Inom
do_printkontrollerar du kontrollvariabeln innan du skriver ut varje fält. - Om kontrollvariabeln anger att fältet inte ska skrivas ut, hoppa över utskriftssatsen.
Alternativt kan du använda en villkorlig sats direkt inom metoden do_print, men den är mindre underhållbar för många fält.
Utskriftskontrollalternativ
| Metod | Komplexitet | Underhåll | Prestandapåverkan |
|---|---|---|---|
Kontrollvariabel & do_print Åsidosätt |
Medium | Hög | Minimal |
Villkorliga uttalanden i do_print |
Låg | Låg | Minimal |
| Förbearbetning av objektdata | Hög | Medium | Moderat (datakopia) |
Förbearbetning innebär att skapa en modifierad kopia av objektet med endast de önskade fälten innan det skickas till UVM-makrot. Detta undviker att modifiera det ursprungliga objektet men introducerar en prestandaoverhead.
Copyright ©fenstem.pages.dev 2026