UVM severity override from UVM_INFO to UVM_ERROR and UVM_VERBOSITY == UVM_NONE

I am trying to set the verbosity of an UVM_INFO statement from do_compare of uvm_comparer to UVM_ERROR. And the simulation is run with UVM_NONE. The statement with UVM_ERROR doesn’t gets dumped in logfile when run with UVM_NONE. But it gets dumped when run with UVM_LOW or higher verbosity. My expectation is that since it is overridden to UVM_ERROR, it should dump even in UVM_NONE verbosity. Any way this can be done? I am using the below statement to override

uvm_root::get().set_report_severity_id_override(UVM_INFO,“MISCMP”,UVM_ERROR)

I think upgrading the severity of an info message is probably something done rarely and not considered by the UVM developers initially. A problem is that both the uvm_report_enabled and uvm_report_info methods check the verbosity first before considering overrides (report catchers have the same problem). There is an enhancement request to address this, but nothing implemented yet.

I believe uvm_comparer has a severity variable(sev) that controls the severity of the reported messages. Otherwise you need to use a message verbosity setting so the uvm_info message is always enabled.

1 Like

Thank You Dave.
I could achieve the verbosity as you suggested, by setting the verbosity of uvm_comparer obj that is passed along the compare calls.
This helps. Thank You