SynaptiCAD Tutorials

## (TT) 7: Implication operator

implication = {{SIG0} |-> {SIG0}}

The implication operator guarantees that if the left hand operand holds (the sequence specified by the left hand operand succeeds), then the right hand operand will hold. If the left hand operand does not hold, the implication operator will succeed regardless of whether the right hand operand holds.

In this assertion we use the implication operator to ensure that: if SIG0 is true during a clock cycle, then SIG0 is true during this clock cycle. Therefore, this is not very a useful sequence as the sequence will always hold and matches immediately, regardless of whether SIG0 is true or false. Please note how this differs from the earlier {SIG0} assertion, which passes or fail each clock cycle based on whether SIG0 is true or not.