19 20 IntroFPGA PDF
19 20 IntroFPGA PDF
Madhura Purnaprajna
Outline
Whats different about FPGAs Architecture
Logic Routing I/O
Communications
3
Processors
Sequential computing Instruction-level parallelism
Instruction Memory Decoder Registers
ALU
Data Memory Registers
6
FPGAs
User configurable User-defined parallelism
00 0 01 1 10 1 11 1
FFs
FFs
FFs
FU
FFs FU FFs FU
FU
FFs FU FFs FU
FU
FFs FU FFs FU
7
Application Mapping
Processor FPGA
<N
FPGA
FFs FU FFs FFs FU FFs FFs FU FFs
Registers
ALU Data Memory
FU FFs
FU
FU FFs
FU
FU FFs
FU
Registers
Performance vs Adaptability
~35x
FPGA ~5x ~15x
ASIC Performance
Measuring the gap between FPGAs and ASICs, Ian Kuon and Jonathan Rose, FPGA 2006
10
FPGA Architecture
Programmable Logic Programmable Routing
11
LUT
FF
2K SRAM
2K:1 MUX
LUT
FF
LUT
FF
Slice/Cluster
12
Look-up Table
2K SRAM Cells
2K SRAM
2K:1 MUX
K 2 2
different functions
2K:1 MUX
K-levels of 2:1 muxes
13
2 2 2 different
functions
22:1 MUX
2-levels of 2:1 muxes
14
1 1 1 0
4:1 MUX
4:1 MUX
~12 transistors
~40 Transistors
15
1 1 1 0
4:1 MUX
40 Transistors
4 Transistors
16
17
Logic: Soft
Programmable Logic Blocks
19
20
21
LUT
FF
2K SRAM
2K:1 MUX
LUT
FF
LUT
FF
Slice/ Cluster
22
Design decisions
LUT size Number of LUTs per cluster Inputs/Outputs to/from each cluster Area and Speed
LUT size increases exponentially with K Routing tracks surrounding logic increases with the number of input pins
Terminology
Basic logic element (BLE) Cluster
Size grows quadratically Local interconnect Fewer inputs (shared)
LUT
FF
LUT
FF
LUT
FF
LUT
FF
HETEROGENEOUS BLOCKS
Choice of functions
Which function? Ratio of special function to generic logic? What to do with special function blocks when they are not used?
Hard blocks
FFs (set, reset, enable, load,) Add, sub, carry logic, Use LUTs as memories Block RAMs/ ROMs, FIFOs Multipliers (fracturable) Processors
Challenge
Performance, power, area
As compared to ASICs
Shadow logic
ROUTING ARCHITECTURE
Routing in FPGAs
Connect logic blocks and I/O
To define a user circuit
Flexible
Support local and distant routing demands
Locality
Short, Fast, with intermediate long wires
Routing details
Global routing
Macroscopic allocation of wires Relative position of routing channels to logic blocks Wires in each channel
Detailed routing
Microscopic Length of wires Switching quantity
Routing Architectures
Hierarchical Island style
Hierarchical Routing
Groups of logic blocks Interconnected levels Used in:
Altera FLEX, APEX
Hierarchical Routing
Advantages:
Predictable inter-logic block delay Superior performance for some designs
Disadvantages:
Over use of logic blocks (mismatch in design and FPGA hierarchy) Large variation in inter-block delay
Island style
2-D mesh: evenly distributed routing resources routing channels on four sides Each channel has W wires Wire segments of different lengths in each channel Used in present day commercial FPGAs
Island style
Advantages:
Efficient connection for varying net lengths Staggering start/end points, optimise for a tile Regular, min delay can be estimated
Details
Switch blocks
Connection blocks
Routing hops
I/O STANDARDS
I/O Architecture
Sets external interface rates Occupies significant area
~40%
Selection
I/O banks
Groups of I/O cells Share supply/reference voltage Each bank has different I/O standard
Highspeed I/O
High speed inter-chip signaling
SERDES (serialiser/deserialiser)
Source sync clocking Dynamic clock phase adjustment
PROGRAMMING TECH
Programming Technology
SRAM Cells
Reusability Standard CMOS
Programming Technologies
Improving FPGAs
Reducing the gap: Area, Speed, Power
Alternatives to FPGAs
CGRAs Structured ASICs
References
FPGA Architecture: Survey and Challenges
Ian Kuon, Russell Tessier, Jonathan Rose
Questions?