The following table summarizes some of the operations
that can be performed on sequences.
Operation |
Syntax |
Explanation |
Concatenation |
seq1 ##1 seq2 |
seq2 begins on the clock after seq1 completes |
Overlap |
seq1 ##0 seq2 |
seq2 begins on the same clock on which seq1
completes |
Ended Detection |
seq1 ##1 seq2.ended |
seq2 completes on the
clock after seq1 completes,
regardless of when seq2 started. |
Repetition |
seq1[*n:m] |
Repeat seq1 a minimum of n and maximum of m
times. May result in multiple matching
sequences |
First Match Detection |
first_match(seq1) |
If seq1 has multiple matches, use the first and
ignore the rest |
Or |
seq1 or seq2 |
Compound sequence that matches when either seq1
or seq2 matches |
And |
seq1 and seq2 |
Matches when one sequence matches on or after
the other sequence also matches |
Length-matching And |
seq1 intersect seq2 |
Matches on cycles at which both seq1 and seq2
match |
Condition Qualification |
cond throughout seq |
cond is true for every cycle of seq |
Within |
seq1 within seq2 |
seq1 starts on or after seq2 and ends on or
before the end of seq2 |