Académique Documents
Professionnel Documents
Culture Documents
Design
Dr. K. Shyamala
Department of CSE
prkshyamala@gmail.com
Introduction
FPGA Design Flow
Issues in FPGA based Designs
Research Trends in FPGAs
Logic Gates
Logic Gates
Transistor Switches
Logic Gates
Transistor Switches
3 Inputs
SUM of PRODUCTS
Black Box Truth Table
(Look Up Table LUT)
3 Inputs
SUM of PRODUCTS
Black Box Truth Table
(Look Up Table LUT)
3 Inputs
SUM of PRODUCTS
Black Box Truth Table
(Look Up Table LUT)
3. A programming technology.
Programmable Logic Devices
The first type of PLDs considered has the AND-OR plane structure.
This type of architecture is used to implement ROMs, PLAs, and PALs.
It implements Boolean expressions in Sum of Products (SOP) form:
AND plane forms product terms selectively from the inputs, and
A programmable interconnect fabric joins the two planes, so that the outputs implement sum-of-product expressions of
the inputs.
Programmable Logic Devices
How a plane can be programmed determines the particular type of PLD
Product Terms
SUM of PRODUCTS
(Re-)Programmable Links Planes of
ANDs, ORs
Reconfigurable
ORs
GLUE LOGIC
Outputs
Logic Functions
SUM of PRODUCTS
(Re-)Programmable Links Planes of
ANDs, ORs
Reconfigurable
ORs
GLUE LOGIC
Outputs
Logic Functions
SUM of PRODUCTS
(Re-)Programmable Links Planes of
ANDs, ORs
Reconfigurable
ORs
GLUE LOGIC
Outputs
Logic Functions
SUM of PRODUCTS
(Re-)Programmable Links Planes of
ANDs, ORs
Reconfigurable
ORs
GLUE LOGIC
Outputs
Logic Functions
Sums
Programmed PLD
Product Terms
Logic Functions
Programmed PLD
Sums
Product Terms
Logic Functions
x x x
Programmed PLD
x x
Sums
Product Terms
x x x x
Programmed PLD
x x x
Sums
Product Terms
f1
Flip-flop
MUX
D Q
Clock
AND plane
02/17/17 Dept of CSE 21
Complex PLDs
CPLDs
Feedback Outputs
Programmable PLD Blocks
Programmable Interconnects
Electrically Erasable links
CPLD Architecture
I/O Block
PLD PLD
Block Block
Interconnection Matrix
I/O Block
I/O Block
PLD PLD
Block Block
02/17/17
Dept of CSE 23
Implementing Digital Circuits
Custom Semicustom
Cell-based Array-based
Configurable
Logic
Blocks
I/O
Block RAMs
Block RAMs
Blocks
Block
RAMs
Logic Blocks
- used to implement
logic
- lookup tables and
flip-flops
Altera: LABs
Xilinx: CLBs
I/O Blocks
- interface off-chip
- can usually support
many I/O Standards
S w itc h B lo c k
R o u tin g T r a c k
(H o r iz o n ta l)
R o u tin g C h a n n e l
{
(V e r tic a l)
T IL E
02/17/17 Dept of CSE 34
Logic Blocks
Choices
Fine Grained
Basic gates: NAND, NOR, XOR, FF etc.
Medium Grained
Lookup Tables
Coarse Grained
Multi-input, Multi-output blocks (e.g., PLAs)
Configurability
SRAM cells
Connect Logic
Blocks using
Fixed Metal
Tracks and
Programmable
Switches
Connect Logic
Blocks using
Fixed Metal
Tracks and
Programmable
Switches
Disadvantages of FPGAs:
Slower than custom or standard cell based chips
Cannot get as much circuitry on a single chip
Today: ~ 1M gates is the best you can do
~ 200 MHz is about as fast as you can get
For large volumes, it can be more expensive than gate
arrays and custom chips
SRAM-based FPGAs
Xilinx, Inc. Share over 60% of the market
Altera Corp.
Atmel
Lattice Semiconductor
47
Implementing larger functions
using LUTs
Logic Synthesis
50
Logic Synthesis
Result:
Netlist: a list of components and their
interconnections.
Netlist Formats:
EDIF (Electronic Design Interchange
Format).
Vendor specific formats.
Example: XNF (Xilinx Netlist Format)
51
CLBs can be implemented by standard
cell library also where S={set of
cells}
Each cell consists of logic elements
2 input NAND gates
3 and 2 input NAND gates
NOT
Buffers
AOI(AND OR Invert gates)
Mapping a gate network to
LUTs
Mapping a gate network to
3LUTs
Mapping same network to
4LUTs
Physical Design: Placement & Routing
Place:
Assign locations to the components
Estimation of total wire length
Rectilinear
Route:
Provide communication paths to the
interconnections.
Optimization problems: some cost must be minimized
Important factors:
Clock frequency
Power Consumption
Routing congestion
56
FPGA Placement & Routing
57
FPGA Design Flow
58
Configuration Bitstream
Bitstream:
LUT contents,
Interconnections,
59
FPGA Design Flow...
1. Optimized gate-level
netlist
2. Technology-dependent
netlist
(Look Up Tables)
3. Bit stream is used to
program
the given FPGA device.
HDL
HDL
Pre-Layout
Pre-Layout
Simulation Structural
Design
Simulation Logic
LogicSynthesis
Synthesis
Iteration
Floorplanning
Floorplanning
Post-Layout
Post-Layout
Simulation
Simulation Placement
Placement Physical
Circuit
CircuitExtraction
Extraction Routing
Routing
Tape-out
FPGAs
High level Description of Logic Design
Hardware Description Language (Textual)
Logic Simulation
Field Programmable Gate Arrays
(FPGA)
Large Complex Functions
Re-Programmability, Flexibility.
Programmable
Logic Devices ISE Alliance and Foundation
Series Design Software
Xilinx FPGA Families
Old families
XC3000, XC4000, XC5200
High-performance families
Virtex
Virtex-E, Virtex-EM
Virtex-II, Virtex-II PRO
Low Cost Family
Spartan/XL derived from XC4000
Spartan-II derived from Virtex
Spartan-IIE derived from Virtex-E
Spartan-3
Basic Spartan-II FPGA Block
Diagram
CLB Structure
COUT COUT
YB YB
G4 Y G4 Y
G3 Look-Up Carry D
S
G3 Look-Up Carry D
S
Q Q
G2 Table O & G2 Table O &
CK CK
G1 Control G1 Control
Logic EC Logic EC
R R
F5IN F5IN
BY BY
SR SR
XB XB
X S X S
F4 Look-Up Carry D Q
F4 Look-Up Carry D Q
F3 Table O F3 Table O
F2
& F2
&
CK CK
F1 Control F1 Control
Logic EC Logic EC
R R
CIN CIN
CLK CLK
CE SLICE CE SLICE
x1 x2
y
5-Input Functions implemented
using two LUTs
BX nBX
BX
1
0
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
FPGA Nomenclature
Research Issues
Any digital systems are either realized as Application
Specific Integrated Circuits (ASICs) or Field
programmable Gate Arrays (FPGAs).
Estimation to be
done at this stage
Summary
Introduction to programming logic
FPGA implementation of digital
circuits
FPGA design flow and issues