Page 643 - Engineering Digital Design
P. 643

CHAPTER 13








                  Alternative Synchronous

                  FSM Architectures

                  and System-Level Design








                  13.1 INTRODUCTION

                 It is in this chapter that an attempt will be made to bring the subjects of Chapters 10 through
                  12 together in some meaningful fashion so that useful controller and system-level designs
                 can be created. This is, to state it mildly, no simple task, since an almost endless number of
                  alternatives are available to the designer. Accordingly, and without apology, the treatment
                  will be limited to a few select topics that are representative of some of the more popular and
                  constructive approaches to state machine and system-level design. The "creativity" aspect
                  of the design task is highly valued and should be exercised by the skilled designer whenever
                 it is profitable to do so. To a reasonable extent this creativity ethic will be used in this chapter,
                 but only if it serves to edify the reader's experience in design without unnecessary effort.
                 Cute or novel designs that add little or nothing to an understanding of design fundamentals
                 will be left to the reader's imagination.


                  13.1.1 Choice of Components to be Considered
                 The first thing that must done before proceeding is to list the various devices that should be
                 considered for use in a given design architecture. The various components available to the
                 designer are divided into the following five categories:

                    1. Next state and output-forming logic. Choose from the following:


                         Discrete logic (gates mainly)
                         MUXs
                         Decoders
                         ROMs
                         PLAs
                         Basic I/O PALs
                                                                                      613
   638   639   640   641   642   643   644   645   646   647   648