Jump to content

Recommended Posts

Posted

I have a third-party SVA interface checker that I can't modify... It will report errors when interface protocol is violated, but my "UVM world" is oblivious to it and will report the test as passing as no UVM component reported an error.

Is there a way to "catch" the SVA assertions firing and react to them from within UVM, without modifying the SVA checker?

Posted

hi,

i dont think there is a direct way with your constraints inside uvm. the options are:

1. you can edit your checker: simply throw the uvm error in the else error

Setup_label: assert property (code_update_setup_check_prop) else uvm_report_error("SVA","some error");

2. if you cant modify you can still use the simulator capability, query the assertion state and push the info into uvm.

Posted

Hi,

I don't know much more about your SVA checker. But, I think you can use uvm_report_catcher to modify the severity of the message. You can get more information about it from UVM 1.1 Class Reference, (6.4 uvm_report_catcher).

Correct me, if I am wrong.

Posted

If you are paying for 3rd party SVA checkers, then you should request that they provide UVM-aware code so that you can catch the errors. - you are the customer.

If your only interest is caching overall test pass/fail, then your simulator may already have this capability. Questa records a TESTSTATUS based on the most severe message produced by your simulation run in the UCDB (Unified Coverage Database) file.

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...