Hardware Reference
In-Depth Information
start
capture
dataModel
goto next cycle
synchronous
reject on
start
i=0
goto
dataValid
or
retry
dataValid
yes
check
data
==
dataModel[i]
goto next cycle
check
i<
MAX
-
BEATS-1
;
i = i+1
yes
retry
goto next cycle
no
no
complete
yes
yes
goto next cycle;
check
!dataValid
retry
no
done
Fig. 17.13
Flow diagram for retry protocol checks
to zero, indicating that the check expects the first data beat. The flow then advances
to the nearest occurrence of
dataValid
or
retry
.If
dataValid
occurs, the flow
checks that
data
equals
dataModel[i]
.If
retry
occurs, the flow advances to
the next cycle and resets
i
to zero to begin the data transfer again. If
complete
has not also occurred, then the flow increments
i
, checks that the result is not too
big in comparison with
MAX_BEATS
, advances a cycle, and returns to look for the
next
dataValid
or
retry
.If
complete
has also occurred, then the data transfer
is complete and the flow advances one more cycle, where it checks that
dataValid
does not occur and checks for
retry
at the last opportunity. If
retry
does not occur,
Search WWH ::
Custom Search