pulzar Posted November 24, 2011 Report Posted November 24, 2011 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? Quote
uwes Posted November 25, 2011 Report Posted November 25, 2011 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. Quote
Mickey Posted November 26, 2011 Report Posted November 26, 2011 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. Quote
dudi Posted November 27, 2011 Report Posted November 27, 2011 Report catcher can only be used on UVM messages. The SVA checker is producing a $error message and can't be modified by the catcher. Quote
dave_59 Posted November 28, 2011 Report Posted November 28, 2011 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. Quote
dudi Posted November 30, 2011 Report Posted November 30, 2011 Another option is that in some tools you can use PLI to add functionality to $error calls. This way you can force every $error to perform a uvm_error as well. Quote
Recommended Posts
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.