Introduction To Fpgas
Introduction To Fpgas
Introduction To Fpgas
CSET 4650
Field Programmable Logic Devices
Dan Solarek
Standard
Logic
TTL
ASIC
CMOS
SPLDs
(e.g., PALs)
Programmable
Logic Devices
SemiCustom
ICs
(FPLDs)
CPLDs
FPGAs
Gate
Arrays
Full Custom
ICs
Cell-Based
ICs
FPGA Development
FPGAs evolved from Gate Arrays
Parallel with development of CPLDs
ASIC
Programmable
Logic Devices
SemiCustom
ICs
(FPLDs)
SPLDs
(e.g., PALs)
CPLDs
FPGAs
Gate
Arrays
Full Custom
ICs
Cell-Based
ICs
Interconnect
Wires to connect inputs and
outputs to logic blocks
I/O blocks
Special blocks at periphery
for external connections
Routing mechanisms
Interconnecting wires and their layout
8
10
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
11
Multiplexers
Look-up tables (LUTs)
Wide-fan-in AND-OR structures
Microprocessor-like
12
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
13
EEPROM
Switch is a floating-gate transistor that can be turned off
by injecting charge onto its floating gate
Antifuse
Switch is a device that, when electrically programmed,
forms a low resistance path
14
SRAMprogrammed
Island
Xilinx LCA
AT&T Orca
Altera Flex
EPROMprogrammed
Cellular
Toshiba
Plessers ERA
Atmels CLi
Alteras MAX
AMDs Mach
Xilinxs EPLD
16
FPGA Architectures
FPGAs are commercially available in many different
architectures and organizations.
Although each companys offerings have unique
characteristics, FPGA architectures can be generically
classified into one of four categories:
Symmetrical Array
Row Based
Hierarchical PLD
Sea of Gates
17
FPGA Architectures
The Configurable Logic Blocks
(CLBs) are organized in a two
dimensional array separated by
horizontal and vertical wiring
channels.
Each CLB contains flip-flop(s),
multiplexers, and a combinatorial
function block which operates as
an SRAM based table look-up.
Connections between CLBs are
customized by turning on pass
transistors which selectively
connect the CLBs to the
interconnection resources
CLB
18
FPGA Architectures
Pass transistors selectively
connect the interconnect lines
between the horizontal and
vertical wiring channels.
SRAM cells which are
distributed around the chip
hold the state of the
interconnect switches.
Surrounding the CLB array
and interconnect channels are
the programmable I/O blocks
which connect to the package
pins.
CLB
19
FPGA Architectures
Xilinx XC4000 FPGA
Greater logic capacity per
CLB is achieved using a
two-level look-up table
Compared to earlier
families, the routing
resources have been more
than doubled.
number of globally
distributed signals has
increased
20
FPGA Architectures
This organization is similar to that
found in the traditional style of
Mask Programmed Gate Arrays
(MPGAs).
Vertical interconnect segments of
varying lengths are available.
Vertical segments in input tracks
are permanently connected to logic
module inputs, and vertical
segments in output tracks are
permanently connected to logic
module outputs.
21
FPGA Architectures
Long vertical segments are
available which are uncommitted
and can be assigned during
routing.
The horizontal wiring channel
resources are also segmented into
varying lengths.
The minimum horizontal segment
length is the width of a single logic
module, and the maximum
horizontal segment length spans
the full channel.
22
FPGA Architectures
Any segment that spans
more than one-third of the
row length is considered a
long horizontal segment.
Dedicated routing tracks are
used for global clock
distribution and for power
and ground tie-off
connections.
23
FPGA Architectures
The Actel ACT family
FPGAs a logic module
matrix is arranged as
rows of cells separated by
horizontal wiring
channels
This organization is
similar to that found in
the traditional style of
Mask Programmed Gate
Arrays (MPGAs)
24
FPGA Architectures
This architecture represents
a hierarchical arrangement
of CLBs using a twodimensional array structure.
Interconnections are via a
centralized programmable
interconnect structure
CLBs can be cascaded
I/O structures not shown
25
FPGA Architectures
The Altera Multiple Array
MatriX (MAX) architecture
represents a hierarchical
arrangement of Erasable
Programmable Logic Devices
(EPLDs) using a twodimensional array structure.
The design provides multiple
level logic, uses a programmable
routing structure, and is user
reprogrammable based on
EPROM or EEPROM
technology.
LAB A
LAB H
LAB B
LAB C
LAB D
LAB G
P
I
A
LAB F
LAB E
26
FPGA Architectures
this design has a twodimensional mesh array
structure which resembles
the gate array sea of gates
Static RAM programming
technology is used to
specify the function
performed by each logic
cell and to control the
switching of connections
between cells.
27
FPGA Architectures
The CAL1024 design contains
1024 identical logic cells
arranged in a 32 X 32 matrix.
The design is considered to be a
mesh-connected architecture
since each cell is directly
connected to its nearest north,
south, east, and west neighbors.
In addition to these direct
connects, two global interconnect
signals are routed to each cell to
distribute clock and other low
skew requirement control
signals.
28
29
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
F
1
0
1
0
0
0
1
1
a
b
c
1
0 f
1
0
0
0
1
1 LUT
The function is
programmable any LUT
can be programmed to be
any function
31
FPGA Organization
I/O1
a
b
c
0x f
0x
1x
1x
0x
1x
1x
1x LUT
a
b
c
x
x f
x
x
x
x
x
x LUT
I/O2
a
b
c
1x f
1x
0x
1x
1x
0x
1x
0x LUT
a
b
c
x
x f
x
x
x
x
x
x LUT
a
b
c
x
x f
x
x
x
x
x
x LUT
a
b
c
x
x f
x
x
x
x
x
x LUT
I/O3
I/O4
32
FPGAs
Xilinx FPGAs are based on SRAM
Lose programming when power is turned off
Can be programmed by a computer or by a special
EPROM
Capacity
May have up to 10,000,000 gate equivalent
Up to 1,200 I/O pins
33
FPGAs
FPGAs must add some kind of switch to the
equation to be user programmable.
The size and performance of the switch essentially
determines the architecture
ULM (Universal Logic Module) must be as small
as possible to maximize versatility and utilization
34
Whats in a CLB?
Inputs
Look-Up
Table
(LUT)
Out
State
Clock
Enable
35
CLB Variables
Number of inputs to LUT
Trade off number of CLBs required vs. size of CLB and
routing area
Flip-flop in CLB?
Additional Functionality
Carry chains
36
Switch Detail
Programmable
Switch Matrix
Connections
are controlled
by RAM bits
More later
37
Input-Output Blocks
One IOB per FPGA pin
Allows pin to be used as input, output, or bidirectional
(tri-state)
Inputs
Direct
Registered
Drive dedicated decoder logic for address recognition
I/O blocks
Looks like
a CPLD
macrocell
41
42
FPGAs: Summary
Historically, FPGA architectures and companies
began around the same time as CPLDs
FPGAs are closer to programmable ASICs - large
emphasis on interconnection routing
Timing is difficult to predict - multiple hops vs. the fixed
delay of a CPLDs switch matrix.
But more scalable to large sizes.
FPGAs: Pros
Reasonably Cheap
Good for low-volume parts, more expensive than IC for high-volume
parts
FPGAs: Cons
Lower capacity, speed and higher power
consumption than building an integrated circuit
Sub-optimal mapping of logic into CLBs
Less dense layout and placement due to programmability
Overhead of configurable interconnect and logic blocks
46