Page 524 - Engineering Digital Design
P. 524
494 CHAPTER 11 /SYNCHRONOUS FSM DESIGN CONSIDERATIONS
Use ^ 1 as a 0 or X in Z K-map
+
Origin State else ( ) 9 litch in z
Choice in Y K-map
Destination
State AB
Race path 1
(+) glitch in Z
Early activation of Y
(a) (b)
FIGURE 11.3
Example of an ORG in a simple three-state FSM with two outputs, Y and Z, and one input X. (a) State
diagram showing the two alternative race paths for a transition from state a to state b. (b) Simplified
state diagram segment showing only the essential details of the race paths and ORG possibilities.
causing an ORG in output Z, but not in output Y. This can be understood by noting that the
output Z is not issued in the origin state 00 at the time the transition takes place. Nor is
Z issued in the destination state 11 at the time of arrival. But Z is issued unconditionally
in race state 10, thereby causing a discontinuity in the Z signal via race path 1 —an ORG.
Output 7, on the other hand, is issued conditionally on X in race state 10 and unconditionally
in the destination state 11. As a result, only early activation of Y is possible by way of race
path 1 — there is no ORG in Y.
The don't-care state 01 can potentially produce an ORG in output Z via race path 2 if
0i is used as a 1 or as an X in the K-map for output Z. This ORG can be avoided by using
0i as a 0 or X in extracting cover from the Z K-map. If X is used, for example, then the
output Z in state 01 is conditional on X. That is, the output is Z f^ if X, which does not
satisfy the branching condition X for the transition a-^-b, and no ORG in Z is possible.
The choice (f)\ = 0 in the Z K-map clearly makes state Ol a nonoutput state for Z. In the
case of output 7, don't care 0i can take on any value in the Y K-map, since only early
activation of Y is possible should Y be caused to be issued in state 01.
The NS and output K-maps and the resulting minimum covers for the simple FSM of
Fig. 11.3a are shown in Figs. 11.4a and 11.4b. (Remember that the NS K-maps are plotted
by using the mapping algorithm in Section 10.6). Notice that 0i is taken to be 0 in the Z
K-map, in agreement with the requirements indicated in Fig. 11.3b. Thus, an ORG in Z is
not possible via race path 2. But 0i is used as a 1 in the Y K-map, which is permissible
since, by race path 2, only early activation of output Y is possible. Early activation or late
deactivation of an output is not a problem and, in some cases, may even be preferred as a
means of optimizing output logic.

