Skip to main content

PLA and full subtractor using PLA

Short answer

PLA (Programmable Logic Array) contains programmable AND and OR arrays. For a full subtractor, difference D = A⊕B⊕Bin, borrow output Bo = A'Bin + A'B + BBin. Implement with 7 product terms in the AND array, then OR arrays sum appropriate terms.

Define PLA (Programmable Logic Array). Implement the full subtractor using PLA.

A PLA (Programmable Logic Array) is a programmable logic device with a programmable AND array followed by a programmable OR array. The AND array generates the needed product terms of the inputs and the OR array sums any of them for each output, so it can implement several SOP functions that share product terms.

Full subtractor using PLA

Inputs AA (minuend), BB (subtrahend), BinB_{in} (borrow in). Outputs: difference DD and borrow out BoB_o.

ABBinB_{in}DBoB_o
00000
00111
01011
01101
10010
10100
11000
11111
D=Σm(1,2,4,7)=A′B′Bin+A′BBin′+AB′Bin′+ABBinD = \Sigma m(1,2,4,7) = A'B'B_{in} + A'BB_{in}' + AB'B_{in}' + ABB_{in} Bo=Σm(1,2,3,7)=A′Bin+A′B+BBinB_o = \Sigma m(1,2,3,7) = A'B_{in} + A'B + BB_{in}

DD (XOR) cannot be simplified, so 4 + 3 = 7 product terms are needed.

PLA programming table (1 = true input, 0 = complemented, – = not used):

TermProductABBinB_{in}DBoB_o
1A′B′BinA'B'B_{in}0011–
2A′BBin′A'BB_{in}'0101–
3AB′Bin′AB'B_{in}'1001–
4ABBinABB_{in}1111–
5A′BinA'B_{in}0–1–1
6A′BA'B01––1
7BBinBB_{in}–11–1
A  B  Bin (true and complement lines)
|  |  |
[ AND array: P1 ... P7 ]   (programmed)
   |
[ OR array ]
   OR1 = P1+P2+P3+P4  ---> D
   OR2 = P5+P6+P7     ---> Bo

So a 3-input, 7-product-term, 2-output PLA implements the full subtractor.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →