I have this following function called from a property, in which if I use uvm_info it is not displayed but $display gets displayed.
function void display(int expected_cycles, int actual_cycles);
begin
`uvm_info(" PROPERTY",$sformatf(" THROUGHPUT: actual_cycles %0d expected_cycles %0d",actual_cycles,expected_cycles) ,UVM_LOW)
$display(" THROUGHPUT: actual_cycles %0d expected_cycles %0d",actual_cycles,expected_cycles);
end
endfunction
Also, I tried using uvm_info along with assert, even that didn’t work! I have also imported uvm_pkg and included uvm macros file.
assert property (throughput) else `uvm_info(“PROPERTY FAILURE”,$sformatf(“THROUGHPUT PROPERTY FAILED”) ,UVM_LOW);
The +UVM_VERBOSITY IS SET TO UVM_NONE
+UVM_VERBOSITY=UVM_NONE before running the regression.
Please help!
In reply to Nimisha Varadkar:
Try using uvm_error instead of uvm_info. There is not verbosity setting for errors. I would also try uvm_report_error() direectly instead of using the macro.
In reply to Nimisha Varadkar:
When you set the verbosity ( via the command line switch ) using +UVM_VERBOSITY=UVM_NONE Only statements with verbosity of UVM_NONE get displayed .
Since you have a verbosity of UVM_LOW for the `uvm_info
in the initial code , it will Never be displayed .
BUT the standard is saying (F.2.2.4 uvm_verbosity):
UVM_NONE—The report is always printed (NONE = 0); the verbosity level setting cannot disable it.
Christoph, please read the posts more carefully. The `uvm_info message was using UVM_LOW, which is higher than UVM_NONE, so that message was getting filtered.