Programmable Logic Array
Programmable Logic Array
Logic
NAND)
"Personalized" by making or breaking connections among the gates
Inputs
Dense array of
AND gates
Product
terms
Dense array of
OR gates
Outputs
AND ARRAY
OR ARRAY
PAL
PROG.
FIXED
PROM
FIXED
PROG.
PLA
PROG.
PROG.
F0 = A + B C
F1 = A C + A B
F2 = B C + A B
F3 = B C + A
Personality Matrix
Product
term
AB
BC
AC
BC
A
Inputs
AB C
1 1 - 01
1 - 0
- 00
1 - -
Outputs
F0 F F
1 2
0 1 1
0 0 0
0 1 0
1 0 1
1 0 0
F3
0
Reuse
1
of
0
0 terms
1
Input Side:
1 = asserted in term
0 = negated in term
- = does not participate
Output Side:
1 = term connected to output
0 = no connection to output
4
F0
F1
F2
F3
5
F0
F1
F2
F3
A B C D
Programmed device
AB
AB
F0 = A B + A B
CD
F1 = C D + C D
CD
AB+AB CD+CD
Multiple functions of A, B, C
ABC
A
B
F1 = A B C
C
A
F2 = A + B + C
F3 = A B C
ABC
F4 = A + B + C
ABC
F5 = A B C
ABC
ABC
F6 = A B C
ABC
ABC
ABC
F1 F2 F3 F4 F5
F6
10
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
W
0
0
0
0
0
1
1
1
1
1
X
X
X
X
X
X
X
0
0
0
0
1
1
0
0
0
0
X
X
X
X
X
X
Y
0
0
1
1
1
1
1
1
0
0
X
X
X
X
X
X
Z
0
1
1
0
0
0
0
1
1
0
X
X
X
X
X
X
AB
00
CD
01
11
10
00
01
AB
00
CD
A
01
11
10
00
01
11
10
D
11
C
10
B
K-map for W
AB
00
CD
Minimized Functions:
W=A+BD+BC
X=BC
Y=B+C
Z=ABCD+BCD+AD+BCD
B
K-map for X
A
01
11
10
00
01
AB
00
CD
A
01
11
10
00
01
11
10
D
11
C
10
B
K-map for Y
B
K-map for Z
11
C D
A
BD
BC
Minimized Functions:
0
BC
W=A+BD+BC
X=BC
Y=B+C
Z=ABCD+BCD+AD+BCD
0
0
0
B
C
0
0
ABCD
BCD
AD
BCD
12
B
D
B
C
A
B
C
D
W
B
C
D
2
D
A
2
3
4
B
C
B
C
D
A
01
11
10
AB
00
CD
01
11
10
00
00
ABCD
01
01
ABCD
11
11
ABCD
10
ABCD
D
C
C
10
AB
00
CD
AC
K-map for EQ
K-map for NE
AC
BD
A
01
11
10
00
01
AB
00
CD
01
11
10
00
01
D
11
ABD
BCD
D
BD
11
ABC
10
BCD
C
10
B
K-map for LT
B
K-map for GT
EQ NE LT
GT
14
15
16
FPGA Structure
17
IOB
IOB
IOB
IOB
CLB
CLB
CLB
CLB
IOB
CLB
IOB
CLB
IOB
IOB
Input/Output
Block
IOB
FPGA Structure
IOB
SM
CLB
SM
CLB
IOB
SM
CLB
SM
CLB
SM
IOB
Configurable
Logic
Block
CLB
SM
Switch
Matrix
SM
CLB
SM
SM
CLB
CLB
CLB
CLB
IOB
IOB
IOB
IOB
18