Skip to main content

PROM vs PLA; functions using PAL

Short answer

PROM has a fixed AND array (full decoder) and programmable OR; PLA has both arrays programmable. For PAL, A(x,y,z)=Σ(2,4,5,7) simplifies to xy'+xz+x'yz', B=Σ(0,2,6) to x'z'+yz'. Program these product terms in the AND array; fixed ORs combine them.

Differentiate between PROM and PLA. Implement the following boolean functions using PAL. a) A(x,y,z) = Σ(2,4,5,7) b) B(x,y,z) = Σ(0,2,6)

PROM vs PLA

PointPROMPLA
AND arrayFixed (full decoder, all 2n2^n minterms)Programmable
OR arrayProgrammableProgrammable
Functions in formSum of minterms (no simplification)Simplified SOP, shared terms
Size for many inputsGrows as 2n2^n, wastefulOnly needed product terms
Typical useLook-up tables, code convertersMulti-output logic with common terms

Functions using PAL

In a PAL the AND array is programmable and the OR array is fixed, so each function is first simplified to SOP.

a) A(x,y,z)=Σ(2,4,5,7)A(x,y,z) = \Sigma(2,4,5,7)

       yz=00 01 11 10
x=0      0   0  0  1
x=1      1   1  1  0
  • m4,m5m_4, m_5 give xy′xy'; m5,m7m_5, m_7 give xzxz; m2m_2 alone gives x′yz′x'yz'.
A=xy′+xz+x′yz′A = xy' + xz + x'yz'

b) B(x,y,z)=Σ(0,2,6)B(x,y,z) = \Sigma(0,2,6)

       yz=00 01 11 10
x=0      1   0  0  1
x=1      0   0  0  1
  • m0,m2m_0, m_2 give x′z′x'z'; m2,m6m_2, m_6 give yz′yz'.
B=x′z′+yz′B = x'z' + yz'

PAL programming table (each OR gate has 3 AND inputs; 1 = true, 0 = complement, – = not connected):

Product termxyzOutput
1: xy′xy'10–A
2: xzxz1–1A
3: x′yz′x'yz'010A
4: x′z′x'z'0–0B
5: yz′yz'–10B
6: (unused)–––B
x y z --[prog. AND]-- P1,P2,P3 --[fixed OR]--> A
               \----- P4,P5,P6 --[fixed OR]--> B

The unused term 6 has all its fuses intact (both xx and x′x' connected) so it gives 0 and does not affect B.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →