Hi All ,
1] Macro `uvm_info is defined as
`define uvm_info(ID,MSG,VERBOSITY) \
begin \
if (uvm_report_enabled(VERBOSITY,UVM_INFO,ID)) \
uvm_report_info (ID, MSG, VERBOSITY, `uvm_file, `uvm_line); \
end
// Calls uvm_report_info if ~VERBOSITY~ is lower than the configured verbosity of the associated reporter.
[Q1] Does function ‘uvm_report_enabled’ return the verbosity associated with the module / interface / component / object ?
2] I observe that function ‘uvm_report_enabled’ is defined in multiple files ::
- uvm_globals.svh ( when `uvm_info called within a module / interface
- uvm_report_object.svh ( when `uvm_info called within a component )
- uvm_sequence_item.svh ( when `uvm_info called within a user_sequence / user_sequence_item )
[Q2] Do these functions perform the same job or is there a difference b/w the 3 functions ?
[Q3] If a user were to call uvm_report_info directly then does the user have run-time control over the messages via run-time arguments +UVM_VERBOSTY= [OR] +uvm_set_verbosity= ?