pulzar 0 Report post 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 Share this post Link to post Share on other sites
uwes 17 Report post 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 Share this post Link to post Share on other sites
Mickey 0 Report post 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 Share this post Link to post Share on other sites
dudi 0 Report post 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 Share this post Link to post Share on other sites
dave_59 34 Report post 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 Share this post Link to post Share on other sites
dudi 0 Report post 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 Share this post Link to post Share on other sites