Page 346 - Engineering Digital Design
P. 346

7.7 INTRODUCTION TO FPGAS AND OTHER GENERAL-PURPOSE DEVICES          317


                  7.7 INTRODUCTION TO FPGAs AND OTHER GENERAL-PURPOSE DEVICES

                  The devices briefly discussed in this section vary in size from SSI to LSI circuit modules and
                  range greatly in complexity from simple gate-level modules to those having a multiplicity of
                  components, including flip-flops. Of the general purpose devices, the simplest are the AND-
                  OR-invert or OR-AND-invert type devices with logic equivalent gate counts numbering
                  typically in the three to five range. These SSI circuits are often used as building blocks in
                  complex logic devices. Then, within the PLD spectrum of devices, the most complex class
                  belongs to the field programmable gate array (FPGA) devices, which may contain a variety
                  of primitive components, including discrete gates, MUXs, and flip-flops. Since this chapter
                  deals only with combinational logic devices, the treatment here will deal mostly with those
                  PLDs and general-purpose devices that are combinational in character.
                     The discussions to this point in the text have dealt only with combinational logic, con-
                  sequently, the reader is not expected to grasp the significance of flip-flop operation in the
                  output logic stage to some PLDs. The use of these "registered" PLDs will become evident in
                  later chapters when sequential machines are discussed in detail. Treatment here will begin
                  with simple general-purpose building block devices and will end with an introduction to
                  the complex FPGAs.


                  7.7.1 AND-OR-lnvert and OR-AND-lnvert Building Blocks
                  Just as the XOR and EQV functions can be implemented by what amounts to one gate
                  level of MOS transistors as in Figs. 3.26 and 3.27, so also can the AND-OR-invert and
                  OR-AND-invert functions be implemented with just one gate level of transistors. Shown
                  in Fig. 7.21a is the CMOS realization of the AND-OR-invert (AOI) gate. It is called a
                  gate since it is a CMOS SSI circuit and has a propagation delay equivalent to that of a
                  single NAND or NOR gate. There are many useful applications of this basic building block,
                  including integration with much larger PLD logic blocks. The physical truth table and its
                  mixed-logic interpretation are presented in Figs. 7.21b and 7.21c, respectively. The output
                  logic expression can be read directly from the mixed-logic truth table and is

                                            F(L) = [AB + CD](L),                      (7.3)
                  which results in the logic equivalent circuit for the AOI gate shown in Fig. 7.2Id.
                     As a simple example of the use of the AOI gate, consider the two-level active low EQV
                  function given by
                                            F(L) = (AB+AB)(L).

                  This function can be implemented in Fig. 7.2Id by connecting A to C and B to D via two
                  inverters, a transistor count of 12. In comparison, the EQV gate of Fig. 3.27a requires only
                  six transistors.
                    The CMOS realization of the OR-AND-invert (OAI) gate is the dual of that for the AND-
                  OR-invert gate and is easily obtained by flipping the latter end-for-end while interchanging
                  all NMOS with PMOS and vice versa. This is done in Fig. 7.22a. The same duality exists
                  between the truth tables of Figs. 7.21 and 7.22, where H's and Us are interchange between
                  physical truth tables and 1's and O's are interchanged between mixed-logic truth tables. The
                  output expression for the OAI gate is obtained directly from Fig. 7.22c by reading the O's
   341   342   343   344   345   346   347   348   349   350   351