User Guide: DSim FAQ

Modified on Thu, 11 Jul at 11:43 AM

User Guide: DSim FAQ

Assertions


Assertions at the end of simulation


Q. How many assertions are checked at the end of simulation time?

Evaluation attempts may still be in progress at the end of simulation time. The number of such evaluation attempts is reported at the bottom of the log file. For instance:


 

=N: 12 SVA evaluations in progress at end of simulation,
     7 considered passed, 5 considered failed.

 

indicates that 12 evaluations attempts were in progress at the end of simulation time. Given that no subsequent sampling tick exist, the evaluation engine was forced to make pass or fail decision: 7 (out of 12) evaluation attempts have passed and 5 (out of 12) evaluation attempts have failed.



Q. Why is the action block of my assertion not executed at the end of simulation time?

After the scheduler event queue is exhausted or terminated by the $finish task, a verdict for the ongoing evaluation attempts is determined. At this point, the action block of an assertion statement cannot be scheduled. Instead:


  • if the assertion fails, the fail statement is superseded by an $error. The (end of simulation) is appended to the end of the $error message to indicate the need to supersede the fail statement.
  • if the assertion passes, the pass statement is superseded by a null statement ;

Debug


Call stack


Q. How to display the call stack?

Call the $stacktrace system task. The stack is displayed as it is seen from the point of calling $stacktrace.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article