(1) Quit using the $display command!
(2) Use the message macros, not the message methods.
(3) Use `uvm_info("id", "msg", UVM_NONE) for only the most important messages that should NEVER be filtered, such as test-passing messages.
(4) Use `uvm_info("id", "msg", UVM_LOW) for only very important messages that should be rarely filtered. These might include block-level test-passing messages.
(5) Use `uvm_info("id", "msg", UVM_MEDIUM) as your new default $display command. These messages will always be displayed by default but are easily disabled.(6) Use `uvm_info("id", "msg", UVM_HIGH) to display information that should only be shown occasionally.
(7) Use `uvm_info("id", "msg", UVM_FULL) to display design status and UVM testbench status messages.
(8) Use `uvm_info("id", "msg", UVM_DEBUG) to display debug messages added to the design or UVM testbench.
(9) Use the `uvm_fatal("id", "msg"), and `uvm_error("id", "msg"), macros as appropriate - consider these to be non-maskable messages.
(10) Use the `uvm_warning("id", "msg") macro very sparingly. Unfortunately, these warnings cannot be disabled using verbosity settings.
(11) Add the UVM-standard convert2string() method to all of your transaction data classes.
(12) Project and IP providers should implement an intelligent "ID" scheme to help modify severities and mask unwanted messages.
UVM message guildelines
最新推荐文章于 2023-12-31 11:29:41 发布