Professional Documents
Culture Documents
Overview
Carl Lebsack
* Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang
What’s an FPGA?
FPGA – Field Programmable Gate Array
Logic
Standard
ASIC
Logic
EEPROM
Flash
} non-volatile
SRAM - volatile
How do you program an
FPGA?
Create a circuit design
Graphic circuit tool
Verilog
VHDL
AHDL
Configurable Logic
Blocks
I/O Blocks
Programmable Interconnects
CMOS SRAM Cell
Q
Read or
Write Q
Data
3-LUT
config_out
input[0:2]
0
1
1
0
output
1
0
0
clock
1
config_in
2 Slice CLB
LE
LAB
Dir ect
Connections
DI CE A DI CE A
B X B X
C CLB 0 C CLB1
K Y K Y
E D R E D R
Hor iz ontal
Long Line
Switching
Matrix
General
Purpose Line s
DI CE A DI CE A
B X B X
C CLB2 C CLB3
K Y K Y
E D R E D R
Globa l
Vertic al
Long Line
IOB
More Guts
Additional components
RAM blocks
Dedicated multipliers
Tri-state buffers
Transceivers
Processor cores
DSP blocks
Dedicated Arithmetic Structures in FPGAs
QuickLogic
Altera
Xilinx
Power PC in Virtex-II Pro
Xilinx Altera
Slices/CLBs LEs/LABs
PowerPC cores ARM cores/Softcores
Stratix Device Overview
Logic Elements (LEs) 10,570 18,460 25,660 32,470 41,250 57,120 79,040 114,140
Total RAM bits 920,448 1,669,248 1,944,576 3,317,184 3,423,744 5,215,104 7,427,520 10,118,016
DSP Blocks 6 10 10 12 14 18 22 28
PLLS 6 6 6 10 12 12 12 12
Maximum User I/O Pins 426 586 706 726 822 1,022 1,238 1,314
100K LC*
8Mb RAM
Gate count 25K 100K 250K 1M
400 18X18
multipliers
Transistor
3.5M 12M 23M 75M 430M 1B
count