Page 655 - Engineering Digital Design
P. 655

13.2 ARCHITECTURES CENTERED AROUND NONREGISTERED PLDs                625
































                                     0(H)                0(H) Sanity(L)
                  FIGURE 13.12
                  Implementation of the fictitious FSM in Figs. 13.10and 13.11 by using an 8-input/8-output EPROM,
                  and two 4-bit storage registers.



                  the tri-state drivers was discussed previously relative to Fig. 13.7. Notice that the array of
                  filled squares and circles in Fig. 13.11 is exactly the same as the array of 1's and O's in the
                  ROM program table of Fig. 13.1 Ob. Note that the last 127 minterms are not used.
                    Implementation of the fictitious FSM in Fig. 13.10 is shown in Fig. 13.12. It follows
                  closely that of the one- to three-pulse generator in Figure 13.8, but with some significant
                                                                              8
                  changes in ROM size and in external logic. In this case use is made of a 2  x 8 EPROM,
                                                      7
                  in agreement with Fig. 13.11, though only a 2  x 7 EPROM is necessary. Also different is
                  the use of two 4-bit storage registers, one used for the 3-bit memory and the other used as
                  a holding register to filter out the ORGs that can occur in the four outputs. Notice that the
                  output holding (filtering) register is triggered antiphase to the memory register, a necessary
                  feature for filtering logic noise, as discussed in Subsection 11.2.2. Static hazards in the
                  output logic are not possible in this FSM; but if they were possible, they also would be
                  filtered out. The output holding register serves one other function. It can also be used to
                  deliver the four outputs synchronously to the next stage independent of any logic and routing
                  delay differences that can occur within the EPROM.
                    Finally, notice that the active low input U(L) and active low output N(L) are pro-
                  perly dealt with in Fig. 13.12. Since the input column for U is to be complemented be-
                  fore the EPROM is programmed, no inverter on this input is necessary. However, since
                  the output column for N in the ROM program table is not complemented prior to
                  programming, N(L) must be delivered by the register as indicated in Fig. 13.12. Thus,
   650   651   652   653   654   655   656   657   658   659   660