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
Feedback sent
We appreciate your effort and will try to fix the article