Uvm_report_error is not reporting any error in my log

Hi,

In my UVM tb ,I’m using below line in my scoreboard file,but is it is not reporting any error in my log .

uvm_report_error(get_name(), $psprintf(“Stream[%0d->%0d]: Data MisMatch!”, get_src_id(stream_id),get_dst_id(stream_id)));

If I use uvm_error instead of uvm_report_error its giving error,

`uvm_error(“MYERR”, $sformatf(“This is an error Stream[%0d->%0d]: Data MisMatch!”,get_src_id(stream_id),get_dst_id(stream_id)))

Can anyone please explain me the reason behind this ??

Thanks in advance

In reply to kalyanib:

Please have a look at this

hi Karan,
Thanks for the reply…
I checked the link , In that it mentioned default verbosity for uvm_report_error is uvm_low and for uvm_error is uvm_none.

Even I change verbosity to UVM_HIGH ,`uvm_report_error is not reporting any error.

In reply to kalyanib:

Hi,
In my UVM tb ,I’m using below line in my scoreboard file,but is it is not reporting any error in my log .
uvm_report_error(get_name(), $psprintf(“Stream[%0d->%0d]: Data MisMatch!”, get_src_id(stream_id),get_dst_id(stream_id)));
If I use uvm_error instead of uvm_report_error its giving error,
`uvm_error(“MYERR”, $sformatf(“This is an error Stream[%0d->%0d]: Data MisMatch!”,get_src_id(stream_id),get_dst_id(stream_id)))
Can anyone please explain me the reason behind this ??
Thanks in advance

Could you please show the error and the piece of code around `uvm_error.

part of my code:

if ((before_entry != null)) begin

    result = before_entry.comp(after_entry);
    if (!result) begin

	$display("NORMAL PACKET : MISMATCH");
       
       uvm_report_info(get_name(),"***************************",UVM_MEDIUM, `pw_sb_file,  `pw_sb_line );
       uvm_report_info(get_name(),$psprintf("Stream[%0d->%0d]: Data MisMatch!",
					    get_src_id(stream_id),get_dst_id(stream_id)), UVM_MEDIUM, `pw_sb_file,  `pw_sb_line );
       if (display_exp_act) begin
	  cmpStr = $psprintf("%s\n",before_entry.comp_rpt(after_entry));
	  uvm_report_info(get_name(),cmpStr, UVM_MEDIUM, `pw_sb_file,  `pw_sb_line );		 
       end	       
       uvm_report_error(get_name(), $psprintf("Stream[%0d->%0d]: Data MisMatch!", get_src_id(stream_id),get_dst_id(stream_id)));
           //`uvm_error("MYERR", $sformatf("This is an error Stream[%0d->%0d]: Data MisMatch!",get_src_id(stream_id),get_dst_id(stream_id)))
    end

end

So, in above code uvm_report_error is not reporting, where as uvm_error is reporting error.

In reply to kalyanib:

Looks like you did not actually change your simulation verbosity to UVM_HIGH. uvm_report_error(“MYID”, “MESSAGE”) will throw error with verbosity UVM_LOW and above. Or just add verbosity with the function, uvm_report_error(“MYID”, “MESSAGE”, UVM_NONE).

Can you also check your simulation command/script and see if verbosity is set default to UVM_NONE?

Also, try not to use uvm_report_* functions for warning and error. Your error/warning should not depend on message verbosity. Somebody will mess with verbosity some day and you’ll get false passes.