Hardware Reference
In-Depth Information
6.3
Sequence Concatenation
From two sequences
r
and
s
, one can build a new sequence
r ##1 s
by
concate-
nating
these two sequences: there is a match of sequence
r ##1 s
if there is a
match of sequence
r
and there is a match of sequence
s
starting from the clock tick
immediately following the match of
r
, as shown in Fig.
6.2
.
In other words, a finite trace matches
r ##1 s
iff it can be split into two adjacent
fragments, the first one matching
r
, and the second one matching
s
. If both operands
of sequence concatenation are bounded sequences, its result is also bounded.
Example 6.5.
What is the meaning of
a ##1 b
, where
a
and
b
are Boolean
expressions?
Solution:
Let the initial point be clock tick i . Sequence
a ##1 b
has a match iff
a
is true in clock tick i and
b
is true in clock tick i
C
1. Sequence
a ##1 b
may have
only one tight satisfaction point, in clock tick i
C
1. Therefore, this sequence means
that
b
immediately follows
a
.
Discussion:
Tight satisfaction of sequence
a ##1 b
depends neither on the value
of
b
in clock tick i nor on the value of
a
in clock tick i
C
1. Although this looks
obvious, this is a source of confusion for many people who
erroneously
believe that
for this sequence match
b
must become true for the first time in clock tick i
C
1.
t
Example 6.6.
Write a sequence capturing the following scenario: request
req
,
immediately followed by retry
rtry
, immediately followed by acknowledgment
ack
.
Solution:
req ##1 rtry ##1 ack
.
t
6.3.1
Multiple Delays
We will begin this section with a motivational example.
Example 6.7.
Write the following sequence: request
req
followed by acknowledg-
ment
ack
in two cycles.
Solution:
This description is equivalent to “request, immediately followed by
anything, immediately followed by acknowledgment”. “Anything in a given clock
tick” means a Boolean sequence that has a match in this clock regardless of the
values of
req
and
ack
. To match, the corresponding Boolean expression should be
true. Recall (Sect.
5.1
) that true may be expressed with any nonzero known value, for
example, value 1. So, the desired sequence may be written as
req ##1 1 ##1 ack
.
t
r
s
Fig. 6.2
Sequence
concatenation
Search WWH ::
Custom Search