PLDs
PLDs
PLDs
2
Programmable Logic - Additional
Advantages
- Many programmable logic devices are field- programmable, i. e., can
be programmed outside of the manufacturing environment
Most programmable logic devices are erasable and reprogrammable.
3
Technology Characteristics
Permanent - Cannot be erased and reprogrammed
- Mask programming - Fuse - Antifuse
Reprogrammable
Volatile - Programming lost if chip power lost
Single-bit storage element
Non-Volatile
- Erasable - Electrically erasable - Flash
4
PLD Structure
Inputs
Outputs
5
PROM, PAL and PLA Configurations
Fixed
Programmable
Programmable
Inputs AND array
Connections OR array Outputs
(decoder)
Programmable
Programmable Fixed
Inputs Connections AND array OR array Outputs
PROM
4 x 2 PROM with AND OR gates
8
4 x 2 PROM with AND-OR-Inverter gates
9
Combination logic Implementation
10
ROM
• ROM D7 X X X
D6
➢ A decoder D5 X X
➢ A set of programmable D4 X
OR’s A A2
D3
X
D2
B A1 D1 X X
A0 D0 X
C
F3 F2 F1 F0
11
Example
Find a ROM-based circuit implementation for:
f(a,b,c) = a’b’ + abc
g(a,b,c) = a’b’c’ + ab + bc
h(a,b,c) = a’b’ + c
Solution:
Express f(), g(), and h() in m() format (use truth tables)
Program the ROM based on the 3 m()’s
12
Example
There are 3 inputs and 3 outputs, thus we need a 8x3
ROM block.
f = m(0, 1, 7)
g = m(0, 3, 6, 7)
a 0
h = m(0, 1, 3, 5, 7) 1
2
3-to-8 3
b decoder
4
5
6
7
c
f g h
13
ROM as a Memory
Read Only Memories (ROM) or Programmable Read Only Memories
(PROM) have:
N input lines,
2N decoded minterms.
14
Programmable Logic Array
15
Construction of PLA
16
Logic function implementation using PLA
17
Constants
Sometimes a PLA output must
be programmed to be a
constant 1 or a constant 0.
− P1 is always 1 because
its product line is
connected to no inputs
and is therefore always
pulled HIGH;
− this constant-1 term
drives the O1 output.
No product term drives the O2
output, which is therefore
always 0.
Another method of obtaining a
constant-0 output is shown for
O3.
18
Example
Implement the following functions using PLA
A B C
F0 = A + B' C'
F1 = A C' + A B AB
F2 = B' C' + A B
B’C
F3 = B' C + A
AC’
B’C’
F0 F1 F2 F3
19
Programmable Logic Array Example
A
C
X X 1 X X AB
X X 2 X BC X Fuse intact
Fuse blown
X X 3 X AC
X X 4 X AB
X 0
C C B B AA
X 1
F1
F2
20
PALs
Inputs
Outputs
21
Logic function implementation using PAL
B
22
PAL
inputs
1st output
section
4th output
section
23
PAL
x x x
x x
x
x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x
W = ABC + CD
X = ABC + ACD + ACD + BCD
Y = ACD + ACD + ABD
24
Programmable Array Logic Example AND gates inputs
0 1 2 3 4 5 6 7 8 9
X
Product 1
term
4-input, 3-output PAL with fixed, 3- 2
X X
F1
input OR terms 3
F3 =
X X
7
F4 =
X X
8 F3
X
9
I3 5 C
X X
10
X X
11 F4
X
12
I4
0 1 2 3 4 5 6 7 8 9
25
Implement using PAL
26
27
28
BCD to Gray Code Converter
A B C D W X Y Z A A
0 0 0 0 0 0 0 0 AB AB
0 0 0 1 0 0 0 1 CD 00 01 11 10 CD 00 01 11 10
0 0 1 0 0 0 1 1 00 0 0 X 1 00 0 1 X 0
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 1 1 1 0 01 0 1 X 1 01 0 1 X 0
0 1 1 0 1 0 1 0 D D
0 1 1 1 1 0 1 1 11 0 1 X X 11 0 0 X X
1 0 0 0 1 0 0 1 C C
1 0 0 1 1 0 0 0 10 0 1 X X 10 0 0 X X
1 0 1 0 X X X X
1 0 1 1 X X X X B B
1 1 0 0 X X X X
K-map for W K-map for X
1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X A A
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 0 1 X 0 00 0 0 X 1
Minimized Functions: 01 0 1 X 0 01 1 0 X 0
D D
11 1 1 X X 11 0 1 X X
W=A+BD+BC C C
X = B C' 10 1 1 X X 10 1 0 X X
Y=B+C
Z = A'B'C'D + B C D + A D' + B' C D' B B
K-map for Y K-map for Z
29
A B C D
BD
4 product terms per each OR gate BC
BC’
B
PLA achieves higher C
flexibility at the cost of
lower speed!
BCD
AD’
BCD’
W X Y Z
30
Comparison between PROM, PLA and PAL
S.No. PROM PLA PAL
1 AND array is fixed and OR Both AND array and OR array are AND array is programmable and
array is programmable programmable OR array is fixed
2 Flexible to the designer More flexible to the designer Flexible to the designer
3 Cheap and Simple to use Costly and complex as compared to Cheaper and Simple
PRAOM and PAL.
4 All minterms are decoded. AND array can be programmed to get the AND array can be programmed
desired minterms. to get the desired minterms.
5 Only Boolean functions in Any Boolean function in the SOP form can Any Boolean function in the
sum of minterms forms can be implemented SOP form can be implemented
be implemented.
6 The number of The number of interconnections (fuses) is The number of interconnections
interconnections (fuses) is 2n 2n x k + k x m + m, where n is number of (fuses) is 2n x k, where n is
x m, where n is number of inputs, k is number of product terms and m number of inputs and k is
inputs and m is number of is number of outputs (less) number of product terms. (less)
outputs (more)
31