Hardware Reference
In-Depth Information
Figure 3.8
State machine categories.
do not depend on previous (past) output values. In the example of i gure 3.8b, the
i rst transition is conditional, but the second is conditional-timed. Recall that, by
default, the timer is zeroed every time the FSM changes state and is kept stopped at
zero in the states where it is not needed (states A and C in i gure 3.8b). Category 2
machines can have all four types of transitions (conditional, timed, conditional-timed,
and unconditional).
Category 3: Recursive state machines (studied in chapters 11-13): In this case, illus-
trated in i gure 3.8c, the transitions can be timed, as in category 2, but now one or
more outputs depend on previous (past) output values. Such dependency is usually
expressed by means of recursive equations (the output is a function of itself). In this
example the output must keep in state B the same value that it had when the
machine left state A, whereas in state C the output must present the incremented
version of the value that it had when the machine left state B. This implies that
some sort of extra memory is required because the expressions y = y and y = y + 1
can only be evaluated if the value of y is available somewhere. Because this is a
hardware implementation, such auxiliary memory must be provided along with the
state machine.
As will be seen in coming chapters, the classii cation presented above will ease
immensely the design of hardware-based state machines (and no other classii cation
is needed). The two fundamental decisions before starting a design are then the
following:
1) First, the state machine category (regular, timed, or recursive);
2) Second, the state machine type (Moore or Mealy).
Search WWH ::




Custom Search