Report Macros

This set of macros provides wrappers around the ovm_report_* Reporting functions.  The macros serve two essential purposes:

  • To reduce the processing overhead associated with filtered out messages, a check is made against the report’s verbosity setting and the action for the id/severity pair before any string formatting is performed.  This affects only `ovm_info reports.
  • The `__FILE__ and `__LINE__ information is automatically provided to the underlying ovm_report_* call.  Having the file and line number from where a report was issued aides in debug.  You can disable display of file and line information in reports by defining OVM_DISABLE_REPORT_FILE_LINE on the command line.

The macros also enforce a verbosity setting of OVM_NONE for warnings, errors and fatals so that they cannot be mistakingly turned off by setting the verbosity level too low (warning and errors can still be turned off by setting the actions appropriately).

To use the macros, replace the previous call to ovm_report_* with the corresponding macro.

//Previous calls to ovm_report_*
ovm_report_info("MYINFO1", $sformatf("val: %0d", val), OVM_LOW);
ovm_report_warning("MYWARN1", "This is a warning");
ovm_report_error("MYERR", "This is an error");
ovm_report_fatal("MYFATAL", "A fatal error has occurred");

The above code is replaced by

//New calls to `ovm_*
`ovm_info("MYINFO1", $sformatf("val: %0d", val), OVM_LOW)
`ovm_warning("MYWARN1", "This is a warning")
`ovm_error("MYERR", "This is an error")
`ovm_fatal("MYFATAL", "A fatal error has occurred")

Macros represent text substitutions, not statements, so they should not be terminated with semi-colons.

Summary
Report Macros
This set of macros provides wrappers around the ovm_report_* Reporting functions.
Macros
`ovm_infoCalls ovm_report_info if VERBOSITY is lower than the configured verbosity of the associated reporter.
`ovm_warningCalls ovm_report_warning with a verbosity of OVM_NONE.
`ovm_errorCalls ovm_report_error with a verbosity of OVM_NONE.
`ovm_fatalCalls ovm_report_fatal with a verbosity of OVM_NONE.

`ovm_info

Calls ovm_report_info if VERBOSITY is lower than the configured verbosity of the associated reporter.  ID is given as the message tag and MSG is given as the message text.  The file and line are also sent to the ovm_report_info call.

`ovm_warning

Calls ovm_report_warning with a verbosity of OVM_NONE.  The message can not be turned off using the reporter’s verbosity setting, but can be turned off by setting the action for the message.  ID is given as the message tag and MSG is given as the message text.  The file and line are also sent to the ovm_report_warning call.

`ovm_error

Calls ovm_report_error with a verbosity of OVM_NONE.  The message can not be turned off using the reporter’s verbosity setting, but can be turned off by setting the action for the message.  ID is given as the message tag and MSG is given as the message text.  The file and line are also sent to the ovm_report_error call.

`ovm_fatal

Calls ovm_report_fatal with a verbosity of OVM_NONE.  The message can not be turned off using the reporter’s verbosity setting, but can be turned off by setting the action for the message.  ID is given as the message tag and MSG is given as the message text.  The file and line are also sent to the ovm_report_fatal call.