In reply to aditya.polepeddi:
UVM 1.1 report summary code:
// See <uvm_report_object::report_summarize> method.
virtual function void summarize(UVM_FILE file=0);
string id;
string name;
string output_str;
uvm_report_catcher::summarize_report_catcher(file);
f_display(file, "");
f_display(file, "--- UVM Report Summary ---");
f_display(file, "");
if(max_quit_count != 0) begin
if ( quit_count >= max_quit_count ) f_display(file, "Quit count reached!");
$sformat(output_str, "Quit count : %5d of %5d",
quit_count, max_quit_count);
f_display(file, output_str);
end
f_display(file, "** Report counts by severity");
for(uvm_severity_type s = s.first(); 1; s = s.next()) begin
if(severity_count.exists(s)) begin
int cnt;
cnt = severity_count[s];
name = s.name();
$sformat(output_str, "%s :%5d", name, cnt);
f_display(file, output_str);
end
if(s == s.last()) break;
end
if (enable_report_id_count_summary) begin
f_display(file, "** Report counts by id");
for(int found = id_count.first(id);
found;
found = id_count.next(id)) begin
int cnt;
cnt = id_count[id];
$sformat(output_str, "[%s] %5d", id, cnt);
f_display(file, output_str);
end
end
endfunction
UVM 1.2 report summary code:
virtual function void report_summarize(UVM_FILE file = 0);
string id;
string name;
string output_str;
string q[$];
uvm_report_catcher::summarize();
q.push_back("\n--- UVM Report Summary ---\n\n");
if(m_max_quit_count != 0) begin
if ( m_quit_count >= m_max_quit_count )
q.push_back("Quit count reached!\n");
q.push_back($sformatf("Quit count : %5d of %5d\n",m_quit_count, m_max_quit_count));
end
q.push_back("** Report counts by severity\n");
foreach(m_severity_count[s]) begin
q.push_back($sformatf("%s :%5d\n", s.name(), m_severity_count[s]));
end
if (enable_report_id_count_summary) begin
q.push_back("** Report counts by id\n");
foreach(m_id_count[id])
q.push_back($sformatf("[%s] %5d\n", id, m_id_count[id]));
end
`uvm_info("UVM/REPORT/SERVER",`UVM_STRING_QUEUE_STREAMING_PACK(q),UVM_LOW)
endfunction
//last line in report_summarize function in uvm 2.0
`uvm_info("UVM/REPORT/SERVER",`UVM_STRING_QUEUE_STREAMING_PACK(q),UVM_LOW)
So, In uvm 2.0 if you change default uvm verbosity to UVM_NONE then “UVM Report Summary …” won’t be printed at the end of simulation.
// If you want change verbosity to UVM_NONE and still want to print it in uvm 2.0 then specify the verbosity change only uvm_test_top.* components
// so, it won't affect the "UVM Report Summary..." which is printed by reporter.
UVM_INFO /pkg/qct/software/synopsys/vcs/vcs-mx_vP-2019.06-1//etc/uvm-1.2/base/uvm_report_server.svh(894) @ 120000: reporter [UVM/REPORT/SERVER]
--- UVM Report Summary ---
+uvm_set_verbosity="uvm_test_top.*,UVM/REPORT/SERVER,UVM_NONE,run"
Why are you using ID “UVM/REPORT/SERVER” in your test for uvm_info?
If you use any other id then you don’t have to worry about all this.
https://www.linkedin.com/in/patel-rahulkumar/