Introduction To FPGA: Guan-Lin Wu
Introduction To FPGA: Guan-Lin Wu
Guan-Lin Wu
Outline
z z z z z
Introduction to PLD Introduction to FPGA FPGA Example Altera Cyclone II Altera Quartus II Lab
Full-Custom ASICs
Semi-Custom ASICs
User Programmable
PLD
FPGA
Digital Logic
Digital Logic Function 3 Inputs Product AND (&) Sum OR (|)
Black Box
Truth Table
Connect Standard Logic Chips Very Simple Glue Logic FIXED Logic
Transistor Switches
Un-programmed State
Logic Function
SRAM-based
z z z z
Reconfigurable Track latest SRAM technology Volatile Generally high power One-time programmable Non-volatile security app.
Anti-fuse technique
z z
Complex PLDs
CPLDs Programmable PLD Blocks Programmable Interconnects Electrically Erasable links
CPLD Architecture
Feedback Outputs
New Architecture Simple Programmable Logic Blocks Massive Fabric of Programmable Interconnects
FPGA Architecture
Logic Blocks
z
z z
Logic Functions implemented in Lookup Table LUTs Multiplexers (select 1 of N inputs) Flip-Flops. Registers. Clocked Storage elements.
16-bit SR 16x1 RAM 4-input LUT
y mux flip-flop q
FPGA Fabric
Logic Block
LUT contains Memory Cells to implement small logic functions Each cell holds 0 or 1 . Programmed with outputs of Truth Table Inputs select content of one of the cells as output
3 Inputs LUT -> 8 Memory Cells
16-bit SR 16x1 RAM 4-input LUT
3 6 Inputs
a b c d e
y mux flip-flop q
Multiplexer MUX
Logic Blocks
z
Clocked Logic
z z z z
Flip Flops on outputs. CLOCKED storage elements. Sequential Logic Functions (cf Combinational Logic LUTs) Pipelines. Synchronous Logic Design FPGA Fabric driven by Global Clock (e.g. BX frequency)
16-bit SR 16x1 RAM 4-input LUT
y mux flip-flop q
FPGA Fabric
Clock
Circuit Compilation
1. Technology Mapping
LUT
2. Placement
LUT
?
3. Routing
Routing Example
FPGA
Programmable Connections
Manufacturing cycle for ASIC is very costly, lengthy and engages lots of manpower
z
Mistakes not detected at design time have large impact on development time and cost FPGAs are perfect for rapid prototyping of digital circuits
z z
reconfigurable computing
Logic array LUTs Block memory M4K blocks Embedded Multipiers Input/output Modules (IOEs) PLLs
Logic Array
I/O Elements
Phase-Locked Loops
Cyclone II EP2C20
z z z z z z z z
18,752 LEs 52 M4K RAM blocks 240K total RAM bits 52 9x9 embedded multipliers 4 PLLs 16 Clock networks 315 user I/O pins SRAM Based volatile configuration
Logic Element
z
Logic Element
Logic Element
z
Logic Element
z
4 4 4 4
4 4 4 4
LEs can be connected for implementing fast adder, counters, shift register
M4K RAM
Flip-flop option Pull-up resistors DDR interface Series resistors Bus keeper Drive strength control Slew rate control Single ended/differential
More Guts
z
Additional components
z z z
QuickLogic
Altera Xilinx
Processor Cores
Altera DE2-70