Topics Elements of an FPGA fabric Terminology Logic element

advertisement
Elements of an FPGA fabric
Topics
!
FPGA fabric architecture concepts.
!
!
!
Logic.
Interconnect.
I/O pins.
IOB
IOB
LE
IOB
LE
…
LE
interconnect
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
!
!
!
Configuration: bits that determine logic function +
interconnect.
CLB: combinational logic block = logic element (LE).
LUT: Lookup table = SRAM used for truth table.
I/O block (IOB): I/O pin + associated logic and
electronics.
!
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
!
!
!
b
memory
a
1001
FPGA-Based System Design: Chapter 3
out
LE
Copyright  2004 Prentice Hall PTR
b
0
0
0
1
1
0
1
1
Input connections.
Internal function.
Typically 4 inputs.
Generally includes register.
May provide specialized logic.
Adder carry chain.
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
Logic synthesis
out
!
!
a
LE
Coarser-grained than logic gates.
!
!
Example logic element
0010
LE
Programmable:
!
Lookup table:
LE
Logic element
!
!
LE
…
FPGA-Based System Design: Chapter 3
Terminology
!
LE
0
1
0
0
1
0
0
1
Copyright  2004 Prentice Hall PTR
How do we break the function into logic elements?
How do we implement an operation within a logic
element?
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
Placement
!
Programmable wiring
Where do we put each piece of logic in the array of logic
elements?
!
!
!
LE
LE
LE
LE
LE
…
LE
LE
LE
LE
Organized into channels.
!
!
!
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
Channels from source to destination.
Wires within the channels.
FPGA-Based System Design: Chapter 3
Programmable interconnection point
D
Many wires per channel.
Connections between wires made at programmable
interconnection points.
Must choose:
Copyright  2004 Prentice Hall PTR
Programmable wiring paths
Q
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
Choosing a path
Copyright  2004 Prentice Hall PTR
Routing problems
!
Global routing:
!
Local routing:
!
Routing metrics:
LE
!
!
!
!
Which combination of channels?
Which wire in each channel?
Net length.
Delay.
LE
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
Segmented wiring
Offset segments
Length 1
Length 2
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
I/O
!
!
Programming technologies
Fundamental selection: input, output, three-state?
Additional features:
!
!
!
Register.
Voltage levels.
Slew rate.
!
SRAM.
!
!
Antifuse.
!
Flash.
!
Copyright  2004 Prentice Hall PTR
!
!
!
Similar to SRAM but using flash memory.
Copyright  2004 Prentice Hall PTR
Configuration vs. programming
Must set control bits for:
!
Programmed once.
FPGA-Based System Design: Chapter 3
Configuration
!
Can be programmed many times.
Must be programmed at power-up.
!
!
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
!
LE.
Interconnect.
I/O blocks.
FPGA configuration:
!
!
Bits stay at the device they
program.
A configuration bit controls a
switch or a logic bit.
!
CPU programming:
!
!
Instructions are fetched from a
memory.
Instructions select complex
operations.
Usually configured off-line.
!
!
Separate burn-in step (antifuse).
At power-up (SRAM).
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
add r1, r2
addIR
r1, r2
memory
CPU
Copyright  2004 Prentice Hall PTR
Reconfiguration
!
Some FPGAs are designed for fast configuration.
!
!
FPGA fabric architecture questions
!
A few clock cycles, not thousands of clock cycles.
Given limited area budget:
!
Allows hardware to be changed on-the-fly.
!
!
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
FPGA-Based System Design: Chapter 3
Logic element questions
!
!
!
!
!
!
!
All functions of n inputs or eliminate some combinations?
What inputs go to what pieces of the function?
Any specialized logic?
!
Copyright  2004 Prentice Hall PTR
How many pins?
!
!
!
!
Maximum number of pins determined by package type.
Are pins programmed individually or in groups?
Can all pins perform all functions?
How many logic families do we support?
FPGA-Based System Design: Chapter 3
!
!
What register features?
I/O block questions
!
!
!
Adder, etc.
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
Interconnect questions
How many inputs?
How many functions?
!
How many logic elements?
How much interconnect?
How many I/O blocks?
Copyright  2004 Prentice Hall PTR
How many wires in each channel?
Uniform distribution of wiring?
How should wires be segmented?
How rich is interconnect between channels?
How long is the average wire?
How much buffering do we add to wires?
FPGA-Based System Design: Chapter 3
Copyright  2004 Prentice Hall PTR
Download