Page 451 - Engineering Digital Design
P. 451

10.2 MODELS FOR SEQUENTIAL MACHINES                                  421


                  Fig. 10. Ib. From these physical waveforms the positive logic waveforms are constructed
                  and a sequence of logic states is read in the order ABC as shown in Fig. 10. Ic. A group of
                  logic waveforms such as these is commonly known as a timing diagram, and the sequence
                  of logic states derived from these waveforms is seen to be a binary count sequence. Here,
                  A, B, and C are called state variables because their values collectively define the present
                  state of the machine at some point in time. Knowing the present state in a sequence of states
                  also reveals the next state. Thus, in Fig. 10.Ic, if state 101 is the present state, then 110 is
                  the next state. This short discussion evokes the following definition:

                    A logic state is a unique set of binary values that characterize the logic status of a
                    sequential machine at some point in time.


                    A sequential machine always has a finite number of states and is therefore called & finite
                  state machine (FSM) or simply state machine. Thus, if there are N state variables, there
                                    N
                  can be no more than 2  states in the FSM and no fewer than 2. That is, for any FSM,
                                          2 < (number of states) < 2 N

                  For example, a two-state FSM requires one state variable, a three- or four-state FSM requires
                  two state variables, five- to eight-state FSMs require three state variables, etc. More state
                                                                       N
                  variables can be used for an FSM than are needed to satisfy the 2  requirement, but this
                  is done only rarely to overcome certain design problems or limitations. The abbreviation
                  FSM will be used frequently throughout the remainder of this text.
                    To help understand the meaning of the various models used in the description and design
                  of FSMs, four binary sequences of states are given in Fig. 10.2, each presenting a different
                  feature of the sequence. The simple ascending binary sequence (a) is the same as that in
                  Fig. 10.1. This sequence and the remaining three will be described as they relate to the
                  various models that are presented in the following section.



                  10.2  MODELS FOR SEQUENTIAL MACHINES

                  Models are important in the design of sequential machines because they permit the design
                  process to be organized and standardized. The use of models also provides a means of
                  communicating design information from one person to another. References can be made to
                  specific parts of a design by using standard model nomenclature. In this section the general
                  model for sequential machines will be developed beginning with the most elemental forms.
                    Notice that each state in the sequence of Fig. 10.2a becomes the present state (PS) at
                  some point in time and has associated with it a next state (NS) that is predictable given the
                  PS. Now the question is: What logic elements of an FSM are required to do what is required
                  in Fig. 10.2a? To answer this question, consider the thinking process we use to carry out a
                  sequence of events each day. Whether the sequence is the daily routine of getting up in the
                  morning, eating breakfast, and going to work, or simply giving our telephone number to
                  someone, we must be able to remember our present position in the sequence to know what
                  the next step must be. It is no different for a sequential machine. There must be a memory
                  section, as in Fig. 10.3a, which generates the present state. And there must be a next state
                  logic section, as in Fig. 10.3b, which has been programmed to know what the next state
                  must be, given the present state from the memory. Thus, an FSM conforming to the model
   446   447   448   449   450   451   452   453   454   455   456