uvm_default_report_server

UVMkit » 1800.2-2020

Default implementation of the UVM report server, as defined in section 6.5.2 of 1800.2-2020

Summary
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_summaryA flag to enable report count summary for each ID
record_all_messagesA flag to force recording of all messages (add UVM_RM_RECORD action)
show_verbosityA flag to include verbosity in the messages, e.g.
show_terminatorA flag to add a terminator in the messages, e.g.
Methods
compose_report_messageConstructs the actual string sent to the file or command line from the report message.

enable_report_id_count_summary

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

record_all_messages

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

show_verbosity

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

show_terminator

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”

compose_report_message

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 verbosityIf 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 lineIf <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.
TimestampThis 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 contextIf <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.
IDThe concatenation of {“[“, ID, “]”}, where ID is the return value of <uvm_report_message::get_id>.
MessageThe message string, as determined by <uvm_report_message::get_message>
TerminatorIf 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

bit enable_report_id_count_summary=1
A flag to enable report count summary for each ID
bit record_all_messages = 0
A flag to force recording of all messages (add UVM_RM_RECORD action)
bit show_verbosity = 0
A flag to include verbosity in the messages, e.g.
bit show_terminator = 0
A flag to add a terminator in the messages, e.g.
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.