Slide 03
Slide 03
Programmable logic devices
CPLDs
FPGAs
Programmable Logic
2
Programmable Logic
3
PALs and GALs
4
PALs and GALs
5
PALs and GALs
6
PALs and GALs
Fuse blown
2 AB
X X
Fuse intact AB + AB
X X 2
AB
7
PALs and GALs
PALs and GALs have large array logic and include output
logic that varies in complexity. The output logic is connected
to each OR gate and together is referred to as a macrocell.
Two types of PAL/GAL macrocells are shown. For these
particular macrocells, the I/O pins can serve as an input or an
output. Tristate control
From From
AND I/O AND I/O
array array
To AND To AND
array array
Programmable fuse link to
control output polarity
8
CPLDs
A complex programmable logic device (CPLD) has
multiple logic array blocks (LABs) that are actually SPLDs
on a single IC. LABs are connected via a programmable
interconnect array (PIA). Various CPLDs have different
structures for these elements.
PIA
Logic array Logic array
I/O block (LAB) block (LAB) I/O
SPLD SPLD
PIA
Logic array Logic array
I/O block (LAB) block (LAB) I/O
SPLD SPLD
10
CPLDs
16 16
Macrocell 16 Macrocell 16
8-16 8-16
11
CPLDs
Parallel expanders
from other
macrocells
Product-term To I/O
Associated
selection control
matrix logic
block
Expander example
A
B
Shared C ABC(E + F)=ABCE + ABCF
expander
12
Macrocells
To I/O
MUX 1 PRE
D/T Q
Product-
term C
selection
matrix MUX 2 EN
CLR
VCC MUX 3
Shared
expander
MUX 4
13
FPGAs
14
FPGAs
15
Programmable Logic Software
All manufacturers of programmable logic provide software
to support their products. The process is illustrated in the
flowchart.
Design entry
The first step is to enter Schematic
the logic design into HDL
a computer. It is done Synthesis
in one of two ways:
Timing
1) Schematic entry Functional simulation
2) Hardware description simulation
language (HDL).
Implementation
Device
programming
(downloading)
16
Programmable Logic Software
In schematic entry, the design is drawn on a computer screen by
placing components and connecting then with simulated wires. You do
not need to know the details of an HDL. After drawing the schematic,
it can be reduced to a single block symbol:
17
Programmable Logic Software
18
Programmable Logic Software
S Q Q
A
Q QNot
B R
19
Programmable Logic Software
S Q
A Q
Q QNot
B R
21
Synthesis
After the simulation, the computer program optimizes
the logic by eliminating redundant terms and generating
a netlist, (a connection list) that is a complete
description of the circuit.
net1
net2 net5
net3 and1
Netlist (Logic3)
net4 net<name>: instance<name>, <from>; <to>;
net6 instances: and1, and2, and3, and4, and5, or1, inv2,
and2 net10
inv3, inv4;Netlist
net7
Input/outputs: I1, I2, I3, I4, O1;
net9 net8 net1: and1, inport1; I1;
net11 net2: and1, inport2; I2;
inv1 O1
I1 net12 and3 net15 or1 Z net3: and1, inport3; I3;
net14 net26 net4: and1, inport4; I4;
A0
net13 net5: and1, outport1; or1, inport1;
inv2 net6: and2, inport1; I1;
I2 net16
net17 net20 net7: and2, inport2; I3;
A1 net18 and4 net8: and2, inport3; inv2,outport1
inv3 net19 net9: and2, inport4; inv4,outport1
I3 net10: and2, outport1; or1,inport2;
net23
A2 net11: and3, inport1; inv2,outport1
net21 net12: and3, inport2; inv3,outport1
inv4 net22 and5 net25 net13: and3, inport3; I4;
I4
A3 net14: and3, inport4; I1;
net24
5: and3
22
Implementation
23
Timing Simulation
After implementation, a timing simulation is done that
takes into account the specific delays in the target device
and verifies that there no problems with the timing. As in
the case of the functional simulation, the waveform editor
can be used to review final timing.
Waveform Editor
Name: 1 s 4 s 8 s 12 s 16 s
If a problem is revealed, it is
A0 0
not too late to correct it A1 0
A3 0
Glitch
Z X
24
Device Programming
25
26