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 = "" )