Page 145 - DCAP108_DIGITAL_CIRCUITS_AND_LOGIC_DESIGNS
P. 145

Digital Circuits and Logic Design



                   Notes         8.7 Programmable Array Logic (PAL)

                                 A ROM has a large number of fusible links (m × 2 ) because of the large number (2 ) of AND
                                                                          n
                                                                                                     n
                                 gates. Programming of links is performed only on the outputs from the AND gates. In a PLA, the
                                 number of links is drastically reduced by reducing the number of AND gates. The latter is done
                                 by changing the expression representing the switching function from a canonic sum-of-products
                                 form to a sum of products with fewer terms. The price paid is the need to program not only the
                                 outputs from the AND gates, but also the inputs to the AND gates. What other possibility for
                                 programming is there beyond the two cases of (a) programming the outputs of the AND gates
                                 and (b) programming both the inputs and the outputs? We are sure you answered, “Programming
                                 only the inputs.” This is a possibility, but is it worthwhile?
                                 In the case of the ROM, there is no need to program the inputs because, for any function of n
                                 variables, there will be the same (large) number of AND gates. In the same way, if the number
                                 of OR gates at the output could be fixed, then programming the outputs of the AND gates could
                                 be avoided.
                                 In many circuits with multiple outputs, even though the outputs are functions of a large number
                                 of input variables, the number of product terms in each output is small. Hence, the number of
                                 AND gates that drive each OR gate is small. In such cases, permanently fixing the number of OR
                                 gates and leaving only the programming of the AND gate inputs for individual design might
                                 make economic sense. The resulting circuit is called programmed array logic (PAL). The number
                                 of fusible links in a PAL is only 2np. Standard PALs for a number of low values of p exist. For
                                 example, the PAL16L8 has a maximum of 16 inputs and 8 outputs.

                                 A programming table for a PAL is similar to the one for a PLA. A case with six outputs is illustrated
                                 in Figure 8.12. A ROM with 12 input variables would require 2  = 4096 AND gates. However, let
                                                                                   12
                                 us assume that for some possible cases, the canonic sum-of-products expression can be reduced to
                                 16 applicants, only one of which is shown in Figure 8.12. The entries in the table would have the
                                 same meanings as those for the PLA. However, for the PAL, the output columns would be fixed
                                 by the manufacturer on the basis of the number of AND gates already connected to each OR gate.

                                                  Figure 8.12: Programming Table for a PAL Example






















                                 In the present case, two of the output OR gates are each driven by four AND gates; the remaining
                                 four OR gates are each driven by two AND gates. For any given design problem, the first step is to
                                 obtain an appropriate sum-of-products expression, just as in the case of a PLA implementation. The
                                 input connections are indicated in the table as in the case of the PAL: an entry is an 1 if a variable
                                 appears un-complemented in an implicit, a 0 if it appears complemented, and a dash if it does
                                 not appear at all. This is illustrated for one row in Figure 8.12. The number of fusible links in this
                                 example is 2 × 12 × 16 = 384. This is 20 percent fewer than the number of links of a PLA having


        140                               LOVELY PROFESSIONAL UNIVERSITY
   140   141   142   143   144   145   146   147   148   149   150