UVM - Reporting Mechanism
UVM - Reporting Mechanism
Severity
It tells the importance of message
▪ Fatal
▪ Error
▪ Warning
▪ Info
Verbosity
It is used to control the display of message
Verbosity settings
▪ UVM_NONE -0
▪ UVM_LOW -100
▪ UVM_MEDIUM-200
▪ UVM_HIGH -300
▪ UVM_FULL -400
▪ UVM_DEBUG - 500
Reporting methods
These are builtin methods each contain 5 arguments
uvm_report_info
virtual function void uvm_report_info ( string id,
string message,
int verbosity=UVM_HIGH,
string filename = "",
int line= 0)
uvm_report_warning
virtual function void uvm_report_warning (string id,
string message,
int verbosity=UVM_MEDIUM,
string filename = "",
int line= 0)
uvm_report_error
virtual function void uvm_report_error (string id,
string message,
int verbosity=UVM_LOW,
string filename = "",
int line= 0)
uvm_report_fatal
virtual function void uvm_report_fatal (string id,
string message,
int verbosity=UVM_NONE,
string filename = "",
int line= 0)
For Example
function void build_phase(uvm_phase phase)
super.build_phase(phase);
`uvm_info(“UVM_DRIVER”, this is build phase,
UVM_LOW)
endfunction
IN MAKE FILE
Case 1:
Run test
+uvm_verbosity=UVM_MEDIUM
Output
`uvm_info(“UVM_DRIVER”,this is build phase,
UVM_LOW
`uvm_info(“UVM_DRIVER”, this is connect
phase,UVM_MEDIUM);
Case 3:
+uvm_verbosity=UVM_LOW
Output
`uvm_info(“UVM_DRIVER”,this is build phase,
UVM_LOW
Case 5:
+uvm_set_verbosity =uvm_driver, “UVM_DRIVER”,
UVM_MEDIUM, build
Output
`uvm_info(“UVM_DRIVER”,this is build phase,
UVM_LOW
`uvm_info(“UVM_DRIVER”, this is connect
phase,UVM_MEDIUM)
Case 6:
+uvm_verbosity=UVM_NONE
OUTPUT
No info statement
Note:
Initially, UVM verbosity is set to UVM_NONE,
suppressing all informational messages.
Case 7:
+uvm_verbosity=UVM_NONE +uvm_set_verbosity
=uvm_driver, “UVM_DRIVER”, UVM_FULL, connect
Output
`uvm_info(“UVM_DRIVER”, this is connect
phase,UVM_MEDIUM)
`uvm_info(“UVM_DRIVER”, this is end_of_elaboration
phase,UVM_HIGH)
`uvm_info(“UVM_DRIVER”, this is start of simulation
phase,UVM_FULL)
Note:
Initially, the UVM verbosity is set to UVM_NONE,
suppressing all informational messages. However, using the
+uvm_set_verbosity command, the verbosity for the
uvm_driver1 component with the id UVM_DRIVER is
explicitly set to UVM_FULL during the connect phase.