Uvm_report_server

Hi:

UVM_ERROR /path/monitor_c.sv(80) @ 22303.429 ns: uvm_test_top.system.layer.mon [vref_mon] ABC - mismatch

I can downgrade this error to a warning from the command line.
However, I wish to do this using uvm_report_server.
I also wish to count the number of times the error was downgraded to a warning.
Also, the monitor may contain several uvm_error lines. Is there some way of downgrading only those uvm errors which contain the string “ABC - mismatch”?

How can I do all this using the uvm_report_server? If there is code which does the above, please share it.

Thank You!

In reply to new_to_uvm:

You can do this in the uvm_report_catcher:
class my_report_catcher extends uvm_report_catcher;
function new (string name = “”);
super.new(name);
endfunction

function action_e catch;
uvm_severity severity = get_severity();

int verbosity = get_verbosity();
if (get_severity() == UVM_ERROR)
set_severity(UVM_WARNING);

endfunction
endclass

In reply to new_to_uvm:

Hi new_to_uvm,

I think You can use the following ways :
from you test_case you can set :

1 > +uvm_set_severity=path,ID,UVM_FATAL,UVM_ERROR
+UVM_MAX_QUIT_COUNT=2

its will replace the UVM_FATAL with the UVM_ERROR and also look for the ERROR count i.e., After count = 2 it will terminate the simulation.

example ::

some code…(inside say scoreboard)
if(some condition)
`uvm_info(“ID”,message,UVM_HIGH);
else

so here path will be : uvm_test_top.env.sb

`uvm_fatal(“ID1”,message);
+uvm_set_severity=uvm_test_top.env.sb,ID1,UVM_FATAL,UVM_ERROR
++UVM_MAX_QUIT_COUNT=2

2> You can also use “+uvm_set_action” .

In reply to anu.anu:

Thank You! I appreciate it.

In reply to chr_sue:

Thank You chr_sue! I appreciate it.

In reply to anu.anu:

In reply to new_to_uvm:
Hi new_to_uvm,
I think You can use the following ways :
from you test_case you can set :
1 > +uvm_set_severity=path,ID,UVM_FATAL,UVM_ERROR
+UVM_MAX_QUIT_COUNT=2

its will replace the UVM_FATAL with the UVM_ERROR and also look for the ERROR count i.e., After count = 2 it will terminate the simulation.
example ::
some code…(inside say scoreboard)
if(some condition)
uvm_info("ID",message,UVM_HIGH); else so here path will be : uvm_test_top.env.sb uvm_fatal(“ID1”,message);
+uvm_set_severity=uvm_test_top.env.sb,ID1,UVM_FATAL,UVM_ERROR
++UVM_MAX_QUIT_COUNT=2
2> You can also use “+uvm_set_action” .

Hi,

in OVM How do we changle OVM_FATAL to OVM_ERROR from command line .

Thanks,
Nawaz

In reply to Ashok:

There is no command line processor for the UVM.

In reply to dave_59:

In reply to Ashok:
There is no command line processor for the UVM.

Hi Dave Thank you for the reply.

If not from command line,is there any way i can change OVM_FATAL to OVM_ERROR during run time.

Thanks,
Nawaz

In reply to Ashok:

See my solution shown above on this side.

In reply to Ashok:

The OVM does not have a report catcher to change the severity of a message. The only thing you can do is change the action associated with a message using one of

set_report_severity_action
set_report_id_action
set_report_severity_id_action

To change a fatal to an error, you need to remove the OVM_EXIT action.