sathyakiran.p Posted June 13, 2014 Report Share Posted June 13, 2014 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 Quote Link to comment Share on other sites More sharing options...
tudor.timi Posted June 13, 2014 Report Share Posted June 13, 2014 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. Quote Link to comment Share on other sites More sharing options...
dave_59 Posted June 13, 2014 Report Share Posted June 13, 2014 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. Quote Link to comment Share on other sites More sharing options...
sri.cvcblr Posted July 9, 2014 Report Share Posted July 9, 2014 For OVL one could easily add a call to `uvm_error in the std_task file. PSL - little tricky, one can use tool's TCL to do this, though it can impact some performance. An example is at: http://www.cadence.com/Community/forums/p/12847/18903.aspx Srini Quote Link to comment Share on other sites More sharing options...
Deee33 Posted January 5, 2020 Report Share Posted January 5, 2020 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. Quote Link to comment Share on other sites More sharing options...
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.