Hardware Reference
In-Depth Information
4 Design Steps and Classical Mistakes
4.1 Introduction
This chapter presents a list of classical problems and mistakes that might occur in the
design of hardware-based i nite state machines. Subsequently, a summary regarding
the main design steps is also presented.
4.2 Classical Problems and Mistakes
4.2.1 Skipping the State Transition Diagram
Probably the most error-prone step in the design of a circuit based on the state
machine approach is to think that it is i ne to go straight from the specii cations to
the design without sketching the state transition diagram (students sometimes believe
that they can “see” the state diagram in their minds). With this approach, states can
be missed, or, more likely, output values and state transitions may be ill specii ed. This
step is critical because any error in the state transition diagram will invalidate the
whole effort, no matter how well the rest is done.
4.2.2 Wrong Architecture
Once one has been convinced that sketching the state transition diagram is indispens-
able, the next step is not to draw it but i rst to decide which type the machine archi-
tecture should be used (a major mistake is to think that all machines are “just the
same”). A great effort has been made in this topic to show that, when one is using
hardware (as opposed to software) to implement an FSM, the circuit architecture can
vary substantially from one problem to another. For that reason, a classii cation into
three categories, which covers
any
state machine, was introduced in section 3.6 (see
i gure 3.8), as follows: category 1 for regular state machines; category 2 for timed state
machines; and category 3 for recursive state machines.
The i rst decision is to select correctly in which of these categories the machine to
be designed falls. That not only will lead to the right circuit (optimal resources usage)