Contains debug methods in the Accellera UVM implementation not documented in the IEEE 1800.2-2017 LRM
Report Catcher | |
Contains debug methods in the Accellera UVM implementation not documented in the IEEE 1800.2-2017 LRM |
uvm_report_catcher | |||||
Class Hierarchy | |||||
| |||||
Class Declaration | |||||
| |||||
new | Create a new report catcher. | ||||
Current Message State | |||||
get_client | Returns the uvm_report_object that has generated the message that is currently being processed. | ||||
get_severity | Returns the uvm_severity of the message that is currently being processed. | ||||
get_context | Returns the context name of the message that is currently being processed. | ||||
get_verbosity | Returns the verbosity of the message that is currently being processed. | ||||
get_id | Returns the string id of the message that is currently being processed. | ||||
get_message | Returns the string message of the message that is currently being processed. | ||||
get_action | Returns the uvm_action of the message that is currently being processed. | ||||
get_fname | Returns the file name of the message. | ||||
get_line | Returns the line number of the message. | ||||
get_element_container | Returns the element container of the message. | ||||
Change Message State | |||||
set_severity | Change the severity of the message to severity. | ||||
set_verbosity | Change the verbosity of the message to verbosity. | ||||
set_id | Change the id of the message to id. | ||||
set_message | Change the text of the message to message. | ||||
set_action | Change the action of the message to action. | ||||
set_context | Change the context of the message to context_str. | ||||
add_int | Add an integral type of the name name and value value to the message. | ||||
add_string | Adds a string of the name name and value value to the message. | ||||
add_object | Adds a uvm_object of the name name and reference obj to the message. | ||||
Debug | |||||
get_report_catcher | Returns the first report catcher that has name. | ||||
print_catcher | Prints debug information about all of the typewide report catchers that are registered. | ||||
debug_report_catcher | Turn on report catching debug information. | ||||
Callback Interface | |||||
catch | This is the method that is called for each registered report catcher. | ||||
Reporting | |||||
uvm_report_fatal | Issues a fatal message using the current message’s report object. | ||||
uvm_report_error | Issues an error message using the current message’s report object. | ||||
uvm_report_warning | Issues a warning message using the current message’s report object. | ||||
uvm_report_info | Issues a info message using the current message’s report object. | ||||
uvm_report | Issues a message using the current message’s report object. | ||||
issue | Immediately issues the message which is currently being processed. | ||||
summarize | This function is called automatically by uvm_report_server::report_summarize(). |
function new( string name = "uvm_report_catcher" )
Create a new report catcher. The name argument is optional, but should generally be provided to aid in debugging.
function uvm_report_object get_client()
Returns the uvm_report_object that has generated the message that is currently being processed.
function uvm_severity get_severity()
Returns the uvm_severity of the message that is currently being processed. If the severity was modified by a previously executed catcher object (which re-threw the message), then the returned severity is the modified value.
function string get_context()
Returns the context name of the message that is currently being processed. This is typically the full hierarchical name of the component that issued the message. However, if user-defined context is set from a uvm_report_message, the user-defined context will be returned.
function int get_verbosity()
Returns the verbosity of the message that is currently being processed. If the verbosity was modified by a previously executed catcher (which re-threw the message), then the returned verbosity is the modified value.
function string get_id()
Returns the string id of the message that is currently being processed. If the id was modified by a previously executed catcher (which re-threw the message), then the returned id is the modified value.
function string get_message()
Returns the string message of the message that is currently being processed. If the message was modified by a previously executed catcher (which re-threw the message), then the returned message is the modified value.
function uvm_action get_action()
Returns the uvm_action of the message that is currently being processed. If the action was modified by a previously executed catcher (which re-threw the message), then the returned action is the modified value.
function uvm_report_message_element_container get_element_container()
Returns the element container of the message.
protected function void set_severity( uvm_severity severity )
Change the severity of the message to severity. Any other report catchers will see the modified value.
protected function void set_verbosity( int verbosity )
Change the verbosity of the message to verbosity. Any other report catchers will see the modified value.
protected function void set_id( string id )
Change the id of the message to id. Any other report catchers will see the modified value.
protected function void set_message( string message )
Change the text of the message to message. Any other report catchers will see the modified value.
protected function void set_action( uvm_action action )
Change the action of the message to action. Any other report catchers will see the modified value.
protected function void set_context( string context_str )
Change the context of the message to context_str. Any other report catchers will see the modified value.
protected function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Add an integral type of the name name and value value to the message. The required size field indicates the size of value. The required radix field determines how to display and record the field. Any other report catchers will see the newly added element.
protected function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Adds a string of the name name and value value to the message. Any other report catchers will see the newly added element.
protected function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Adds a uvm_object of the name name and reference obj to the message. Any other report catchers will see the newly added element.
static function uvm_report_catcher get_report_catcher( string name )
Returns the first report catcher that has name.
static function void print_catcher( UVM_FILE file = 0 )
Prints debug information about all of the typewide report catchers that are registered.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
static function void debug_report_catcher( int what = 0 )
Turn on report catching debug information. bits[1:0] of what enable debug features
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
pure virtual function action_e catch()
This is the method that is called for each registered report catcher. There are no arguments to this function. The Current Message State interface methods can be used to access information about the current message being processed.
protected function void uvm_report_fatal( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a fatal message using the current message’s report object. This message will bypass any message catching callbacks.
protected function void uvm_report_error( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues an error message using the current message’s report object. This message will bypass any message catching callbacks.
protected function void uvm_report_warning( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a warning message using the current message’s report object. This message will bypass any message catching callbacks.
protected function void uvm_report_info( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a info message using the current message’s report object. This message will bypass any message catching callbacks.
protected function void uvm_report( uvm_severity severity, string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a message using the current message’s report object. This message will bypass any message catching callbacks.
protected function void issue()
Immediately issues the message which is currently being processed. This is useful if the message is being CAUGHT but should still be emitted.
Issuing a message will update the report_server stats, possibly multiple times if the message is not CAUGHT.
static function void summarize()
This function is called automatically by uvm_report_server::report_summarize(). It prints the statistics for the active catchers.
The uvm_void class is the base class for all UVM classes.
virtual class uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
The uvm_callback class is the base class for user-defined callback classes.
class uvm_callback extends uvm_object
virtual class uvm_report_catcher extends uvm_callback
Create a new report catcher.
function new( string name = "uvm_report_catcher" )
Returns the uvm_report_object that has generated the message that is currently being processed.
function uvm_report_object get_client()
The uvm_report_object provides an interface to the UVM reporting facility.
class uvm_report_object extends uvm_object
Returns the uvm_severity of the message that is currently being processed.
function uvm_severity get_severity()
Returns the context name of the message that is currently being processed.
function string get_context()
Returns the verbosity of the message that is currently being processed.
function int get_verbosity()
Returns the string id of the message that is currently being processed.
function string get_id()
Returns the string message of the message that is currently being processed.
function string get_message()
Returns the uvm_action of the message that is currently being processed.
function uvm_action get_action()
Returns the file name of the message.
function string get_fname()
Returns the line number of the message.
function int get_line()
Returns the element container of the message.
function uvm_report_message_element_container get_element_container()
Change the severity of the message to severity.
protected function void set_severity( uvm_severity severity )
Change the verbosity of the message to verbosity.
protected function void set_verbosity( int verbosity )
Change the id of the message to id.
protected function void set_id( string id )
Change the text of the message to message.
protected function void set_message( string message )
Change the action of the message to action.
protected function void set_action( uvm_action action )
Change the context of the message to context_str.
protected function void set_context( string context_str )
Add an integral type of the name name and value value to the message.
protected function void add_int( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Adds a string of the name name and value value to the message.
protected function void add_string( string name, string value, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Adds a uvm_object of the name name and reference obj to the message.
protected function void add_object( string name, uvm_object obj, uvm_action action = (UVM_LOG|UVM_RM_RECORD) )
Returns the first report catcher that has name.
static function uvm_report_catcher get_report_catcher( string name )
Prints debug information about all of the typewide report catchers that are registered.
static function void print_catcher( UVM_FILE file = 0 )
Turn on report catching debug information.
static function void debug_report_catcher( int what = 0 )
This is the method that is called for each registered report catcher.
pure virtual function action_e catch()
Issues a fatal message using the current message’s report object.
protected function void uvm_report_fatal( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues an error message using the current message’s report object.
protected function void uvm_report_error( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a warning message using the current message’s report object.
protected function void uvm_report_warning( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a info message using the current message’s report object.
protected function void uvm_report_info( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a message using the current message’s report object.
protected function void uvm_report( uvm_severity severity, string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Immediately issues the message which is currently being processed.
protected function void issue()
This function is called automatically by uvm_report_server::report_summarize().
static function void summarize()
Outputs statistical information on the reports issued by this central report server.
pure virtual function void report_summarize( UVM_FILE file = UVM_STDOUT )