Interconnect and Logic Elements

advertisement
Topics
FPGA Design
EECE 277
“I don’t know their names. Can I give you their numbers?”
– Freddy Mitchell
WR for the Philadelphia Eagles
Interconnect and Logic Elements
• Administrative stuff
– Homework Assignment #2 (due Wednesday, February 2)
– Laboratory Assignment #1 (due Friday, February 4)
Dr. William H. Robinson
January 31, 2005
• FPGA review
• Interconnect issues
• Logic element issues
http://eecs.vanderbilt.edu/courses/eece277/
1
Guest Lecture
2
Laboratory Assignment #1
• Quartus II Software
• Dr. Robinson will be on travel
– Any installation issues?
– Friday, January 28, 2005
• UP2 Design Laboratory Kits
– Any configuration issues?
• Presentations on current FPGA research
– Jason Scott
• Laboratory Report
• Embedded System Design Tools and Xilinx FPGAs
– Follow guidelines from handout
– Philippe Adell
• Implementing a Rad-Hard digital power controller with an FPGA
• Potential Lab Session
– Tuesday, cancelled
– Wednesday during normal class time
Potential Final Project Ideas!!!
3
4
1
FPGA Fabric (Architecture)
FPGA Fabric Questions
• Logic
• Given limited area budget
– How many logic elements?
– How much interconnect?
– How many I/O blocks?
• Interconnect
• I/O pins
Fundamentals of Digital Logic: Chapter 3
Copyright  2005 McGraw-Hill
5
Logic Element Questions
Copyright  2004 Prentice Hall PTR
6
Interconnect Questions
• How many wires in each channel?
• How many inputs?
• Uniform distribution of wiring?
• How many functions?
– All functions of n inputs or eliminate some
combinations?
– What inputs go to what pieces of the function?
• How should wires be segmented?
• How rich is interconnect between
channels?
• Any specialized logic?
– Adder, etc.
• How long is the average wire?
• What register features?
FPGA-Based System Design: Chapter 3
FPGA-Based System Design: Chapter 3
• How much buffering do we add to wires?
Copyright  2004 Prentice Hall PTR
7
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
8
2
I/O Block Questions
Programming Technologies
• What types are available?
• How many pins?
Technology
– Maximum number of pins determined by package
type.
• Are pins programmed individually or in
groups?
• Can all pins perform all functions?
Copyright  2004 Prentice Hall PTR
Fusible-link
SPLDs
Antifuse
FPGAs
EPROM
SPLDs and CPLDs
E PROM/
FLASH
SPLDs and CPLDs
(some FPGAs)
2
• How many logic families do we support?
FPGA-Based System Design: Chapter 3
SRAM
FPGAs (some CPLDs)
SRAM
The Design Warrior’s Guide to FPGAs
Devices, Tools, and Flows. ISBN 0750676043
Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)
9
SRAM-Based FPGAs
10
Terminology
• Configuration:
• Program logic functions, interconnect
using SRAM
– Bits that determine logic function + interconnect
• CLB:
• Advantages:
– Combinational Logic Block = Logic Element (LE)
– Re-programmable
– Dynamically reconfigurable
– Uses standard processes
• LUT:
– Lookup table = SRAM used for truth table
• I/O block (IOB):
• Disadvantages:
– I/O pin + associated logic and electronics
– SRAM burns power
– Possible to steal, disrupt configuration bits
FPGA-Based System Design: Chapter 3
Predominantly
associated with ...
Symbol
Copyright  2004 Prentice Hall PTR
11
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
12
3
Example: FPGA Configuration
Example: FPGA Configuration
• Your FPGA has 9 logic elements (LE) each with four
inputs and one output
• How many configuration
bits are required?
Routing channel
Routing channel
• There are four vertical and four horizontal routing
channels with four wires per channel
• Each wire in the routing channel can be connected to
every input of the LE on its right and the output of the LE
on its left
LE
LE
LE
• 580 configuration bits
LE
LE
LE
LE
LE
LE
– LE SRAMs:
16 x 9 = 144
– I/O connections of LEs:
20 x 9 = 180
– Routing channel intersections:
16 x 16 = 256
• When two routing channels intersect, all possible
connections between the intersecting wires can be made
• How many configuration bits are required?
13
Configuration
14
Programmable Interconnection Point
• Must set control bits for
x1 0
0
0
x2
1
– LE
– Interconnect
– I/O blocks
• Usually configured off-line
Vf
f1
1
VA
1
0
0
SRAM
SRAM
SRAM
– Separate burn-in step (antifuse)
– At power-up (SRAM)
(to other wires)
Figure 3.68. Pass-transistor switches in FPGAs.
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
15
Fundamentals of Digital Logic: Chapter 3
Copyright  2005 McGraw-Hill
16
4
Programmable vs. Fixed Interconnect
Interconnect Strategies
• Switch adds delay
• Some wires will not be utilized
• Transistor off-state is worse in advanced
technologies
• Congestion will not be same throughout chip
• Types of wires
– Short wires: local LE connections
– Global wires: long-distance, buffered communication
– Special wires: clocks, etc.
• FPGA interconnect has extra length
– Equals added capacitance
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
17
Paths in Interconnect
LE
Wiring channel
LE
LE
LE
Wiring channel
Wiring channel
LE
LE
LE
LE
LE
LE
FPGA-Based System Design: Chapter 3
18
• Connections from wiring channels to LEs
• Connections between wires in the wiring
channels
Vertical wiring channel
LE
Copyright  2004 Prentice Hall PTR
Interconnect Architecture
• Connection may be long and complex
Horizontal
wiring
channel
FPGA-Based System Design: Chapter 3
LE
LE
LE
LE
Copyright  2004 Prentice Hall PTR
LE
19
FPGA-Based System Design: Chapter 3
LE
Copyright  2004 Prentice Hall PTR
20
5
Interconnect Richness
Segmented Wiring
• Within a channel:
LE
– How many wires
– Length of segments
– Connections from LE to channel
LE
LE
LE
Length 1
• Between channels:
Length 2
– Number of connections between channels
– Channel structure
Length 3
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
21
FPGA-Based System Design: Chapter 3
channel
channel
LE
channel
FPGA-Based System Design: Chapter 3
channel
Copyright  2004 Prentice Hall PTR
23
LE
channel
channel
SW
channel
22
Interconnect paths
channel
Channel Intersections (Switchbox)
Copyright  2004 Prentice Hall PTR
SW
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
24
6
Logic Element (LE) Output Drivers
Interconnect Circuits
• Why so many types of
interconnect?
• Must drive load
– Wire
– Destination LE
– Provide a choice of delay
alternatives.
• Different types of wiring present different
loads
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
• Sources of delay
– Wires
– Programming points
25
Styles of Programmable
Interconnection Points
FPGA-Based System Design: Chapter 3
26
Copyright  2004 Prentice Hall PTR
Using a Pass Transistor
• Small area.
SRAM
cell
• Resistive switch.
SRAM
cell
...
• Delay grows as the
square of the number of
switches.
...
Pass transistor
FPGA-Based System Design: Chapter 3
SRAM
cell
SRAM
cell
...
...
Three-state
Copyright  2004 Prentice Hall PTR
27
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
28
7
FPGA Fabric (Architecture)
Using a Three-State Buffer
• Larger area.
• Logic
• Regenerative driver.
• Interconnect
+
FPGA-Based System Design: Chapter 3
• I/O pins
Copyright  2004 Prentice Hall PTR
29
Evaluation of SRAM-based LUT
Copyright  2005 McGraw-Hill
30
Summary
• N-input LUT can handle function of 2n input
combinations
• Regular placement of logic elements leads to
regular structure of interconnect
• All logic functions take the same amount of space
• All functions have the same delay
• Delays are affected by path length and the
switching points
• SRAM is larger than static gate equivalent of
function
• Logic elements are used to implement
functions
• Burns power at idle
FPGA-Based System Design: Chapter 3
Fundamentals of Digital Logic: Chapter 3
Copyright  2004 Prentice Hall PTR
31
32
8
Download