$past()SUPPORTEDPast value
Read a signal from an earlier sample; default history is one cycle.
b == $past(a, 2)Read the full guide →Your quick reference to the AssertionQuest educational SVA subset.
$past()SUPPORTEDRead a signal from an earlier sample; default history is one cycle.
b == $past(a, 2)Read the full guide →$rose()SUPPORTEDDetect a sampled transition from zero to one.
$rose(req) |-> ackRead the full guide →$fell()SUPPORTEDDetect a sampled transition from one to zero.
$fell(req) |-> ackRead the full guide →$stable()SUPPORTEDTrue when a signal equals its previous sampled value.
busy |-> $stable(data)Read the full guide →All values are sampled at the rising edge of an implicit clock. Properties are checked at every cycle. An implication passes vacuously when its antecedent never triggers.
$past(x,N) returns zero when history is missing. At cycle zero, $rose, $fell and $stable return false. A delay range succeeds if any permitted endpoint satisfies the sequence.
An obligation with no successful endpoint before the trace ends fails. Studio rejects reference tests with unresolved obligations; pad the trace and remove late triggers. Matching an available endpoint in a range succeeds even if later endpoints extend beyond the trace.
Boolean expressions support 0 1 ! && || == != and nested parentheses. One optional Boolean antecedent may precede |-> or |=>. Consequents can chain Boolean expressions with fixed or ranged delays. Temporal sequences inside parentheses, nested implications, repetition, reset disabling, and full IEEE SVA are not implemented. Enter the body only.
Limits: 2,000 characters, 256 tokens, 32 levels of expression nesting, 128 cycles, 16 binary signals. Knowing an operator early is welcome—toolbox locks never restrict valid syntax.