Jump to content

how to report tool(vcs/ncsim..)/assertion related errors in UVM


Recommended Posts

Hi,

 

we see different kind of failures when we run simulations, like assertion error, uvm_error. 

 

How do we report outside UVM errors in report phase to give the TEST STATUS?

 

I am getting some psl/ovl/sva assertion  errors, but, UVM part is not reporting any error. 

 

how do I report test STATUS??

 

Thanks,

Satya

Link to comment
Share on other sites

What I did for my SVAs was to not use $error, but `uvm_error instead. This gets tricky if you want to do $warning, as `uvm_warning doesn't call $warning in the background, but $display (I think) and some tools might interpret it as an assertion error. You can just an extra dummy $warning message and that will solve the issue.

 

For PSL/OVL, you just have to live with not seeing them in the UVM reporting. In a regression, you have to rely on another mechanism to flag a test as failed when such an assertion triggers, e.g. log file parse script in eManager.

Link to comment
Share on other sites

Questa, like most simulation tools, has a built-in package that will interpret uvm_report_warning as $warning, uvm_report_error as $error, etc. If you do not use that built-in package, then all UVM reports are just simple $display statements. The severity of a failing assertion by default is error, but you can change that by putting a different severity task like $warning in the fail action block. The final TESTSTATUS of a simulation is determined by the most severe message issued during that simulation.

Link to comment
Share on other sites

  • 4 weeks later...
  • 5 years later...
On 6/13/2014 at 5:46 PM, dave_59 said:

Questa, like most simulation tools, has a built-in package that will interpret uvm_report_warning as $warning, uvm_report_error as $error, etc. If you do not use that built-in package, then all UVM reports are just simple $display statements. The severity of a failing assertion by default is error, but you can change that by putting a different severity task like $warning in the fail action block. The final TESTSTATUS of a simulation is determined by the most severe message issued during that simulation.

I am running a simulation with Questasim and the TESTSTATUS field only picks up the $error statements and returns a value of (2) but it does not detect the UVM_ERROR and it returns a value of (0). Do you have any idea why this could happen? I believe I am using the built in UVM package as I do not compile or include any other compiled UVM files.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...