# uvm_default_report_server

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_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.

### Variables

### 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”

@uvm-accellera This API is specific to the Accellera implementation, and is not being considered for contribution to 1800.2

### Methods

### 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 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

> 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.