Page 158 - Bebop to The Boolean Boogie An Unconventional Guide to Electronics Fundamentals, Components, and Processes
P. 158
State Diagrams, State Tables, and State Machines I 39
7
then the nickel and dime signals will never be assigned 1 values simultaneously.
The designer (or a computer program) can use this information to assign don’t
care states to the outputs for any combination of inputs that includes a 1 on
both nickel and dime signals.
Additionally, the three binary encoded state variable registers provide eight
possible binary patterns, of which only five were used. The analysis above was
based on the assumption that don’t care states can be assigned to the outputs for
any combination of inputs that includes one of the unused patterns on the state
variables. This assumption also requires further justification.
When the coin-operated machine is first powered-up, each state variable
register can potentially initialize with a random logic 0 or 1 value. The contrsl-
ler could therefore power-up with its state variables containing any of the eight
possible patterns of Os and Is. For some state machines this would not be an
important consideration, but this is not true in the case of our coin-operated
machine. For example, the controller could power-up in the 20-cents state, in
which case it would immediately dispense a “gizmo” and five cents change. The
owner of such a machine may well be of the opinion that this was a less than
ideal feature.
Alternatively, the controller could power-up with its state variables in one
of the unused combinations. Subsequently, the controller could sequence
directly-or via one or more of the other unused combinations-to any of
the defined states. In a worst-case scenario, the controller could remain in the
unused combination indefinitely or sequence endlessly between unused combi-
nations; these worst-case scenarios are known as latch-up conditions.
One method of avoiding latch-up conditions is to assign additional, dummy
states to each of the unused combinations and to define state transitions from
each of these dummy states to the controller’s initialization state of 0-cents.
Unfortunately, in the case of our coin-operated machine, this technique would
not affect the fact that the controller could wake up in a valid state other than
0-ceiits. An alternative is to provide some additional circuitry to generate a
power-on reset signal-for example, a single pulse that occurs only when the
power is first applied to the machine. The power-on reset can be used to force
the state variable registers into the pattern associated with the 0-cents state.
The analysis above assumed the use of such a power-on-reset.

