drianf0 Posted September 27, 2013 Report Share Posted September 27, 2013 Hello, I have a library with the sequence which exploits `uvm_info to print messages. It uses UVM_MEDIUM verbosity and AXI4STREAM_SLAVE id. I would like to disable those messages, however I can't change code of the library. For this reason, I have tried to call m_sequencer.set_report_severity_id_verbosity(UVM_INFO, "AXI4STREAM_SLAVE", UVM_HIGH). Please notice, the function is called for sequencer on which the sequence is spawned. The report configuration of the sequencer: # report handler state dump### +-----------------+# | Verbosities |# +-----------------+## max verbosity level = 200# *** verbosities by id## *** verbosities by id and severity# UVM_INFO:AXI4STREAM_SLAVE --> UVM_HIGH## +-------------+# | actions |# +-------------+## *** actions by severity# UVM_INFO = DISPLAY# UVM_WARNING = DISPLAY# UVM_ERROR = DISPLAY COUNT# UVM_FATAL = DISPLAY EXIT## *** actions by id## *** actions by id and severity## +-------------+# | files |# +-------------+## default file handle = 0## *** files by severity# UVM_INFO = 0# UVM_WARNING = 0# UVM_ERROR = 0# UVM_FATAL = 0## *** files by id## *** files by id and severity# report server state The problem is that the message is still displayed. I debugged the issue and noticed that the problem is in uvm_sequence_item.svh (I use UVM-1.1d). In the uvm_report_enabled function, there is a part: if (m_client.get_report_verbosity_level(severity, id) < verbosity || m_client.get_report_action(severity,id) == uvm_action'(UVM_NO_ACTION)) return 0; else return 1; As one can see, even if the message will be rejected by get_report_verbosity_level, it will get the default action from get_report_action and be printed at the end. According to my understanding, it's not a behaviour described in the documentation (uvm_report_object): If the verbosity level of a report is greater than the configured maximum verbosity level of its report object, it is ignored. If a report passes the verbosity filter in effect, the report’s action is determined. The decision whether the message is printed is based on the assigned action, not verbosity. Moreover, I don't see sense of verbosity usage in this case. I would be grateful, if somebody could clarify my concerns. Of course, another workaround is to call: m_sequencer.set_report_severity_id_action(UVM_INFO, "AXI4STREAM_SLAVE", UVM_NO_ACTION) however, I don't understand, why I couldn't get the same behaviour modifying verbosity. Quote Link to comment Share on other sites More sharing options...
fbochud Posted September 30, 2013 Report Share Posted September 30, 2013 Hi Did you try m_sequencer.set_report_severity_id_verbosity(UVM_INFO, "AXI4STREAM_SLAVE", UVM_LOW) ? Florian Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.