01_fpga
01_fpga
October 3, 2022
Ahmet Can Mert
[email protected]
FPGA: Definition
• FPGA: Field Programmable Gate Arrays
• An array of logic cells with programmable control signals and a
programmable routing grid
• How to configure?
• Define its behavior using Hardware Description Languages
• Compile and download it to FPGA
FPGA: Definition
• FPGA: Field Programmable Gate Arrays
• Configurable Logic Blocks (CLBs)
• Programmable Interconnects
• Programmable I/O blocks
• Other functional blocks: DSPs, Block RAMs, Ultra RAMs, ...
Image is retrieved from [https://www.el ectronics-tutori al.n et /programmabl e-logic-devic es/pro grammabl e-array-lo gic /]
FPGA: A Brief History of FPGAs
• Some major inventions that led to FPGAs
• 1957 – PROM (programmable read-only memory)
• 1960 – MOSFETs (metal–oxide–semiconductor field-effect transistor)
• 1965 – Moore's Law
• 1970 – EPROM
• 1975 – PLA (Programmable Logic Array)
• 1977 – PAL (Programmable Array Logic)
• 1977 – EEPROM
• 1981 – Flash Memory
• 1985 – FPGA (Field Programmable Gate Arrays)
FPGA: First FPGA
• First FPGA: XC2064
• In 1980s, engineers were trying to get the most out of each transistor
• Ross Freeman came up with a different approach:
• "A chip packed with transistors that formed loosely organized logic
blocks with connections that could be configured and reconfigured with
software."
• A big problem: Sometimes, some of transistors will not be used!
Ross Freeman
Xilinx Co-founder
FPGA: First FPGA
• First FPGA: XC2064
• 8x8 grid of CLBs (Image from the Patent is a simplified 3x3 version)
Advantages Disadvantages
• Programmability • Low performance
• Fast design time (time to market) • Large area
• Low design cost (due to reconfigurability)
• Suitable for automation • High power consumption
• Parallel processing
• Prototyping
• System on chip
FPGA: FPGA vs ASIC
FPGA ASIC
• Simple design cycle • Difficult to design
• Short development time • Long development time
• High adaptability • Low adaptability
• Low NRE cost • High NRE cost
FPGA: FPGA vs ASIC
FPGA ASIC
• Simple design cycle • Difficult to design
• Short development time • Long development time
• High adaptability • Low adaptability
• Low NRE cost • High NRE cost
FPGA: FPGA vs ASIC
FPGA ASIC
• Simple design cycle • Difficult to design
• Short development time • Long development time
• High adaptability • Low adaptability
• Low NRE cost • High NRE cost
• Low performance • High performance
• Large area • Low area
• High power consumption • Low power consumption
FPGA: FPGA vs ASIC
• In ASIC, an expression is implemented using gates (AND, OR, etc.) while FPGAs
map the expression into lookup tables
• Example: Full Adder
• Custom blocks
• DSP
• Block RAM, Ultra RAM
• CPU core
• Soft and hard cores
FPGA: Components (a bit more in detail)
• 7-series overview (Artix-7)
• Modern FPGAs have diverse resources
• HW/SW co-design