Professional Documents
Culture Documents
1
• PLD as a Black Box
Logic gates
Inputs and Outputs
(logic variables) programmable (logic functions)
switches
2
• Programmable Logic Array (PLA)
• Use to implement x1 x2 xn
• The connections in P1
the OR plane are
AND plane OR plane
programmable Pk
f1 fm
3
• Gate Level Version of PLA
x1 x2 x3
Programmable
connections
OR plane
P1
f1 = x1x2+x1x3'+x1'x2'x3
P2
f2 = x1x2+x1'x2'x3+x1x3
P3
P4
AND plane
f1 f2
4
• Customary Schematic of a PLA
x1 x2 x3
f1 = x1x2+x1x3'+x1'x2'x3
OR plane
f2 = x1x2+x1'x2'x3+x1x3
P1
P2
P3
P4
x marks the connections
left in place after
programming AND plane
f1 f2
5
What is an FPGA?
Configurable
Logic
Blocks
Block RAMs
Block RAMs
I/O
Blocks
Block
RAMs
6
Other FPGA Advantages
7
Array-Based Programmable Wiring
Interconnect
Point
M
Cell
Horizontal
tracks
Vertical tracks
8
Fuse-Based FPGA
n+ antifuse diffusion
2l
From Smith97 9
XC4000 Architecture
Vcc
Slew Passive
CLB CLB Rate Pull-Up,
Control Pull-Down
Switch
Matrix D Q
Output Pad
Buffer
Input
CLB CLB Buffer
Q D
Delay
Programmable
Interconnect I/O Blocks (IOBs)
C1 C2 C3 C4
H1 DIN S/R EC
S/R
Control
G4 DIN
G3 G F'
SD
G2 Func. G' D Q
Gen. H'
G1
EC
RD
1
H G'
Y
Func. H'
S/R
F4 Gen. Control
F3 F DIN
Func. SD
F2 Gen.
F'
G' D Q
F1 H'
EC
RD
1
H'
F'
X
K
Configurable
Logic Blocks (CLBs)
10
XC4000E/X Configurable Logic Blocks
C1 C2 C3 C4
• 2 Four-input function
generators (Look Up H1 DIN S/R EC
Tables) S/R
Control
Y
H'
configured as Flip Func S/R
.Gen.
Control
Flop or Latch F4
F3 F DIN
SD
- Independent Func. F'
D Q XQ
F2 Gen. G'
H'
clock polarity F1
EC
- Synchronous and H'
1
RD
X
asynchronous K
F'
Set/Reset
11
Look Up Tables
13
5-Input Functions implemented using two LUTs
X5 X4 X3 X2 X1 Y
0 0 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 0
0 0 0 1 1 0
0 0 1 0 0 1
0 0 1 0 1 1
0 0 1 1 0 0
0 0 1 1 1 0 LUT
0 1 0 0 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 1 0 1 1 1 OUT
0 1 1 0 0 1
0 1 1 0 1 1
0 1 1 1 0 1
0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 0 1 0
1 0 0 1 0 0
1 0 0 1 1 0
1 0 1 0 0 0
1 0 1 0 1 0
1 0 1 1 0 0
1 0 1 1 1 1
1 1 0 0 0 0
1 1 0 0 1 1
LUT
1 1 0 1 0 0
1 1 0 1 1 1
1 1 1 0 0 0
1 1 1 0 1 1
1 1 1 1 0 0
1 1 1 1 1 0
14
XC4000X I/O Block Diagram
15
Routing Resources
PSM PSM
Programmable
Switch
CLB CLB CLB Matrix
PSM PSM
16
Clock Distribution
17
RAM-based FPGA
Xilinx XC4000ex
Courtesy Xilinx 18