CPE319 LECTURE NOTES
WINTER 1998
PART SEVEN
SYNCHRONOUS SEQUENTIAL LOGIC DESIGN
(Sandige, Ch.9)
- THE DESIGN STEPS
- Receive specifications from client, supervisor, or whoever it is that
wants something designed
- Review specifications looking for
- Conflicting specifications
- Unrealistic specifications
- Ambiguous specifications
- Missing specifications
- Other anomalies in the specifications
- Reconcile problems found in step ii by
- Consulting with client, supervisor, or whoever it is that wants the
design
- If (1) not possible, using you own engineering judgment.
- Draw a block diagram of the entire system
- If it is a large system, there will be many blocks in the diagram
and, in addition, you may need a block diagram detailing one or
more blocks in the main diagram
- Carefully annotate all input and output signals and all signal
which interconnect blocks.
- Be sure to show the type of signal:
- Standard totem-pole output
- Three-state buffered output
- Open Collector and similar outputs
- Bidirectional signals
- etc.
- If the system has more than one block, one or more of the blocks will be
a System Controller Block (a FSM)
- For each system controller, draw a fully annotated State Diagram
(or ASM Chart) describing the behavior of the controller. You
may wish to use some "schematic capture software for this such
as StateCAD.
- If possible, simulate the operation of the machine at this point (it
is possible with StateCAD).
- Convert (or use software to convert) the state diagram into
VHDL code (or whatever HDL is to be used).
- Select a device (PLD, CPLD for this class) to be used and
synthesize the design.
- Test the design at the compiled level (JEDED fuse file). (Use
NOVA in this class).
- Reiterate steps (1) through (5) if necessary until the desired
design is obtained.
- Program and test Notes #28, Notes #28b, and Notes
#28c the device. (also Notes #16) and Notes #16A
- Designing a simple FSM using StateCAD as a tool
(NOTES03 and NOTES03A)
- State Assignment techniques. (NOTES09)
- Inputs to FSM's with regard to timing problems (NOTES10) and NOTES 10A
- Pin Assignments and VHDL (NOTES 11)
- Binary Encoding vs. One-hot encoding of states (Notes 27)
- Testing your machine (Notes 28 and Notes 28a and Notes 28b and
Notes 28C)
- Why Mealy Machines are not especially desirable (Notes
30)
Go to the next section of notes
Go back to cpe319 page