Académique Documents
Professionnel Documents
Culture Documents
WHY WE WANT TO
GO TO PLD ?
PLDs
PLA
PAL
ROM
CPLD
FPGA
Inputs
(logic variables)
Logic gates
and
programmable
switches
Outputs
(logic functions)
ROM
4x4 ROM
a0
a1
2 -to-4 decoder
d3
d2
d1
d0
Use to implement
circuits in SOP form
The connections in
the AND plane are
programmable
The connections in
the OR plane are
programmable
x 1 x2
xn
Input buffers
and
inverters
x 1 x1
xn x n
P1
AND plane
Pk
OR plane
f1
fm
x2
x3
Programmable
connections
f1 = x1x2+x1x3'+x1'x2'x3
OR plane
P1
f2 = x1x2+x1'x2'x3+x1x3
P2
P3
P4
AND plane
f1
f2
Limitations of PLAs
Each AND gate has large fan-in this limits the number of
inputs that can be provided in a PLA
x 1 x2
xn
Input buffers
and
inverters
x 1 x1
fixed connections
xn x n
P1
AND plane
Pk
OR plane
f1
fm
x2
x3
f1 = x1x2x3'+x1'x2x3
P1
f2 = x1'x2'+x1x2x3
P2
f1
P3
P4
AND plane
f2
Macrocell
Select
0
1
Flip-flop
Clock
Enable
f1
Macrocell Functions
Select
0
1
D Q
Clock
Enable
f1
Programming SPLDs
A fuse map is created by the CAD tool and then that map is
downloaded to the device via a special programming unit
This approach is not very common for PLAs and PALs but
it is quite common for more complex PLDs
CPLD
PAL-like
block
PAL-like
block
I/O block
I/O block
Structure of a CPLD
Interconnection wires
PAL-like
block
PAL-like
block
I/O block
I/O block
Includes macrocells
Fixed OR planes
PAL-like block
PAL-like block
DQ
DQ
DQ
Programming a CPLD
(x
f1ro
m
ix
t2e
n
rx
c
i3x
o
n
e
c
t
i4x
o
n
w
r5e
s)x
n
se
dP
6x
7u
A
L
-l0
ik
e
b
lo
c
kD
0
1
f
Q
Example CPLD
FPGA
No AND/OR planes
Provide logic blocks, I/O blocks, and interconnection wires
and switches
Logic blocks provide functionality
Interconnection switches allow logic blocks to be connected
to each other and to the I/O pins
Structure of an FPGA
I/O block
logic block
I/O block
I/O block
interconnection
switch
I/O block
LUTs
0/1
0/1
0/1
0/1
x2
COMPARISON
Full custom
VLSI design
ASICs
Speed / Density /
Complexity / Likely
Market Volume
CPLDs
FPGAs
PLDs