| Department of Computer Science
Course: CS 3724 | |
The ROM implementation of a function may become quite expensive for functions with a large number of variables, because all potential minterms of the function are implemented, whether or not they are needed. A programmable logic array (PLA) requires that only the minterms required for a function be implemented, and allows the implementation of several functions simultaneously. Moreover, the functions can be implemented directly from their minterm forms (although it is often possible to eliminate some of the minterms, further decreasing the cost of the PLA).
The PLA can be considered as a direct POS (or SOP)
implementation of a set of switching
functions, with a set of AND functions followed by a set of OR functions.
A PLA is often said to have an ``AND'' plane followed by an ``OR''
plane.
In practice, either NAND or NOR gates are normally used, with the resulting
PLA said to be a NAND/NAND or a NOR/NOR device.
Figure 1.20
shows a full
adder implemented using a NAND/NAND PLA.
Note that, since the full adder does not require the minterm
,
this minterm is not included in the
``AND'' plane of the PLA. Note also that the PLA can implement a function
in POS form directly, without reducing the function to minterm form. This
often leads to opportunities for minimizing the area of a PLA. Also, a PLA
can implement additional functions of the same set of variables simply by
adding another logic gate to the ``OR'' plane. Thus the PLA is an
efficient device for the implementation of several functions of the same
set of variables.