Default implementation of the UVM report server, as defined in section 6.5.2 of 1800.2-2020
| uvm_default_report_server | |
| Default implementation of the UVM report server, as defined in section 6.5.2 of 1800.2-2020 | |
| Variables | |
| enable_report_id_count_summary | A flag to enable report count summary for each ID |
| record_all_messages | A flag to force recording of all messages (add UVM_RM_RECORD action) |
| show_verbosity | A flag to include verbosity in the messages, e.g. |
| show_terminator | A flag to add a terminator in the messages, e.g. |
| Methods | |
| compose_report_message | Constructs the actual string sent to the file or command line from the report message. |
bit enable_report_id_count_summary=1
A flag to enable report count summary for each ID
@uvm-accellera This API is specific to the Accellera implementation, and is not being considered for contribution to 1800.2
bit record_all_messages = 0
A flag to force recording of all messages (add UVM_RM_RECORD action)
@uvm-accellera This API is specific to the Accellera implementation, and is not being considered for contribution to 1800.2
bit show_verbosity = 0
A flag to include verbosity in the messages, e.g.
”UVM_INFO(UVM_MEDIUM) file.v(3) @ 60: reporter [ID0] Message 0”
@uvm-accellera This API is specific to the Accellera implementation, and is not being considered for contribution to 1800.2
bit show_terminator = 0
A flag to add a terminator in the messages, e.g.
”UVM_INFO file.v(3) @ 60: reporter [ID0] Message 0 -UVM_INFO”
virtual function string compose_report_message( uvm_report_message report_message, string report_object_name = "" )
Constructs the actual string sent to the file or command line from the report message.
The return value is constructed by concatenating the following strings in order, with spaces between.
| Severity and verbosity | If show_verbosity is ‘1’, then this value is the concatenation of {S1,”(“,S2,”)”}, where S1 is the severity of the message as returned by <uvm_report_message::get_severity>, and S2 is the verbosity of the message, as returned by <uvm_report_message::get_verbosity>. If show_verbosity is ‘0’, then this value is simply the severity of the message. |
| File name and line | If <uvm_report_message::get_filename> returns an empty string (“”), then this value is the empty string (“”). Otherwise this string is formatted as “%s(%0d)”, where %s is the file name, and %0d is the line number. |
| Timestamp | This value is the concatenation of {“@”,TIME,”:”}, where TIME is determined by formatting $time as “%0t”. Note that $time is being resolved inside of the <uvm_pkg> scope. |
| Full report context | If <uvm_report_message::get_context>, returns an empty string (“”), then this value is the full name of the report object returned by <uvm_report_message::get_report_object>. Otherwise this value is the the concatenation of {S1,”@@”,S2}, where S1 is the full name of the report object for the message, and S2 is the context string. |
| ID | The concatenation of {“[“, ID, “]”}, where ID is the return value of <uvm_report_message::get_id>. |
| Message | The message string, as determined by <uvm_report_message::get_message> |
| Terminator | If show_terminator is ‘1’, then the terminator string is {“-”, SEV}, where SEV is the severity as determined by <uvm_report_message::get_severity>. If show_terminator is ‘0’, then this is the empty string (“”). |
For example, the following report messages...
`uvm_info("Example", "Info message", UVM_LOW)
uvm_report_info("Example", "No file/line");
uvm_report_info("Example", "With context", UVM_LOW,
"demo_pkg.sv", 57, "example_context");
// show_verbosity = 1
`uvm_info("Example", "With verbosity", UVM_LOW)
// show_terminator = 1
`uvm_info("Example", "With terminator", UvM_LOW)
// show_verbosity = 1, show_terminator = 1
`uvm_info("Example", "With both", UVM_NONE)...result in the output below
UVM_INFO demo_pkg.sv(55) @ 0: uvm_test_top [Example] Info message UVM_INFO @ 0: uvm_test_top [Example] No file/line UVM_INFO demo_pkg.sv(57) @ 0: uvm_test_top@@example_context [Example] With context // show_verbosity = 1 UVM_INFO(UVM_LOW) demo_pkg.sv(60) @ 0: uvm_test_top [Example] Info message // show_terminator = 1 UVM_INFO demo_pkg.sv(62) @ 0: uvm_test_top [Example] Info message -UVM_INFO // show_verbosity = 1, show_terminator = 1 UVM_INFO(UVM_NONE) demo_pkg.sv(64) @ 0: uvm_test_top [Example] With both -UVM_INFO
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
A flag to enable report count summary for each ID
bit enable_report_id_count_summary=1
A flag to force recording of all messages (add UVM_RM_RECORD action)
bit record_all_messages = 0
A flag to include verbosity in the messages, e.g.
bit show_verbosity = 0
A flag to add a terminator in the messages, e.g.
bit show_terminator = 0
Constructs the actual string sent to the file or command line from the report message.
virtual function string compose_report_message( uvm_report_message report_message, string report_object_name = "" )