Lecture 2
Lecture 2
4
Department of Electrical Engineering
FPGA – A Quick Look
Two dimensional array of customizable logic block
placed in an interconnect array
Like PLDs programmable at users site
Like MPGAs, implements thousands of gates of logic
in a single device
Employs logic and interconnect structure capable of
implementing multi-level logic
Scalable in proportion with logic removing many of the size
limitations of PLD derived two level architecture
FPGAs offer the benefit of both MPGAs and PLDs!
5
Department of Electrical Engineering
FPGA – A Detailed Look
Based on the principle of functional completeness
FPGA: Functionally complete elements (Logic
Blocks) placed in an interconnect framework
Interconnection framework comprises of wire
segments and switches; Provide a means to
interconnect logic blocks
Circuits are partitioned to logic block size, mapped
and routed
6
Department of Electrical Engineering
A Fictitious FPGA Architecture
(With Multiplexer As Functionally Complete Cell)
Basic building block
7
Department of Electrical Engineering
Interconnection Framework
Granularity and interconnection structure has
caused a split in the industry
FPGA
Fine Grained
Variable Length interconnect segments
Timing in general is not predictable;
Timing extracted after placement and
route
8
Department of Electrical Engineering
Interconnection Framework
CPLD
–Coarse grained
(SPLD like blocks)
–Programmable crossbar
interconnect structure
–Interconnect structure
uses continuous metal lines
–The switch matrix may or
may not be fully populated
–Timing predictable if fully
populated
–Architecture does not
scale well
9
Department of Electrical Engineering
Field Programmability
Field programmability is achieved through switches
(Transistors controlled by memory elements or fuses)
Switches control the following aspects
Interconnection among wire segments
Configuration of logic blocks
Distributed memory elements controlling the switches and
configuration of logic blocks are together called
“Configuration Memory”
10
Department of Electrical Engineering
Technology of Programmable Elements
Vary from vendor to vendor. All share the common
property: Configurable in one of the two positions –
‘ON’ or ‘OFF’
Can be classified into three categories:
SRAM based
Fuse based
EPROM/EEPROM/Flash based
Desired properties:
Minimum area consumption
Low on resistance; High off resistance
Low parasitic capacitance to the attached wire
Reliability in volume production 11
Department of Electrical Engineering
FPGA Implementation of Modulo-4 Counter
12
Department of Electrical Engineering
Design Steps Involved in Designing With FPGAs
Understand and define design
requirements
Design Description
Behavioral Simulation (Source Code
Implementation)
Synthesis
Functional or Gate-Level Simulation
Implementation
Fitting
Place and Route
Timing or Post Layout Simulation
Programming, Test and Debug
13
Department of Electrical Engineering
Taxanomy of FPGAs
FPGA
SRAM EPROM
Programmed Antifuse Programmed Programmed
channeled Array
Island Cellular
14
Department of Electrical Engineering
FPGA/ASIC Crossover Changes
Cost
Production Volume
15
Department of Electrical Engineering
Commercially Available Devices
Architecture differs from vendor to vendor
Characterized by
Structure and content of logic block
Structure and content of routing resources
To examine, look at some of available devices
FPGA: Xilinx (XC4000)
CPLD: Altera (MAX 5K)
16
Department of Electrical Engineering
Xilinx FPGAs
Symmetric Array based; Array Generic Xilinx Architecture
consists of CLBs with LUTs and D-
Flip-Flops
N-input LUTs can implement any
n-input Boolean function
Array embedded within the
periphery of IO blocks
Array elements interleaved with
routing resources (wire segments,
switch matrix and single
connection points)
Employs SRAM technology
17
Department of Electrical Engineering
XC 4000
3 LUTs and 2 Flip-flops in a two XC 4000
stage arrangement
2 Outputs: Can be registered or
combinational
External signals can also be
registered
More of internal signals are
available for connections
Can implement any two
independent functions of four
variables or any single function of
five variables
18
Department of Electrical Engineering
XC 4000
XC4000 Routing Architecture
19
Department of Electrical Engineering
XC 4000
XC4000 Routing Architecture
Wire segments
Single length lines
Spans single CLB
Connects adjacent CLBs
Used to connect signals that do not have critical timing requirements
Double length lines
Spans two CLBs
Uses half as much switch as a single length connection
Long lines
Low skew; Used for signals such as clock
Relatively rare resource
Switch Matrix
Every line is connected to lines on the other three direction
Each connection requires six transistors
20
Department of Electrical Engineering
Department of Electrical Engineering 21