SlideShare a Scribd company logo
1 of 38
Download to read offline
October 3, 2022
Ahmet Can Mert
ahmet.mert@iaik.tugraz.at
A Brief Introductionto FPGAs
FPGA: Definition
• FPGA: Field Programmable Gate Arrays
• An array of logic cells with programmable control signals and a
programmable routing grid
• It can be configured/programmed to perform any digital circuits
• Microcontroller
• Video processor
• Crypto miner
• How to configure?
• Define its behavior using Hardware Description Languages
• Compile and download it to FPGA
FPGA: Definition
• FPGA: Field Programmable Gate Arrays
• ConfigurableLogic Blocks (CLBs)
• Programmable Interconnects
• Programmable I/O blocks
• Other functionalblocks: DSPs, Block RAMs, Ultra RAMs, ...
Image is retrieved from [https://towardsdatascience.com/introduction-to-fpga-and-its-architecture-20a62c14421c]
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
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
Image is retrieved from [https://en.wikipedia.org/wiki/Moore%27s_law]
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)
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)
Image is retrieved from [https://www.electronics-tutorial.net/programmable-logic-devices/programmable-array-logic/]
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 thatformed 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: "Moore’s Law would eventually make
transistors so cheap that no one would care."
Ross Freeman
Xilinx Co-founder
FPGA: First FPGA
• First FPGA: XC2064
• 8x8 grid of CLBs (Image from the Patent is a simplified 3x3 version)
• Each CLB has 4 inputs and 2 outputs
• Comb. Logic (Lookup Table – LUT)
• D-FF
• Multiplexers (MUX)
FPGA connections from Xilinx FPGA Patent
Images are retrieved from [https://semiwiki.com/fpga/290990-reverse-engineering-the-first-fpga-chip-xilinx-xc2064/]
FPGA: First FPGA
• First FPGA: XC2064
• Lookup Table – LUT
• Inside logic block, FPGAs do not have gates. Instead, they have lookup
tables with reconfigurable outputs.
• These lookup tables are used to implement truth table of an expression.
• It is capable of implementing any logic function of N Boolean variables.
• In modern XIlinx FPGAs, N is generally 6.
FPGA: First FPGA
• First FPGA: XC2064
• Lookup Table – LUT
• Inside logic block, FPGAs do not have gates. Instead, they have lookup
tables with reconfigurable outputs.
• These lookup tables are used to implement truth table of an expression.
• It is capable of implementing any logic function of N Boolean variables.
• In modern XIlinx FPGAs, N is generally 6.
• Example: AND gatewith N=2
x0 x1 y
0 0 0
0 1 0
1 0 0
1 1 1
0
0
0
1
FPGA: First FPGA
• First FPGA: XC2064
• The interconnects
• There are several horizontal and vertical line segments.
• Interconnect points allow connections to be made between a horizontal
line and a vertical line, allowing arbitrary paths to be created.
• Switch matrices
Images are retrieved from [https://semiwiki.com/fpga/290990-reverse-engineering-the-first-fpga-chip-xilinx-xc2064/]
FPGA: Modern FPGAs
• Modern FPGAs have …
• More CLBs
• Larger LUTs (6-input LUTs)
• Custom building blocks (DSPs, BRAMs, Advanced I/O, ...)
• Major FPGA Vendors
• Xilinx (acquired by AMD for 49B$ in 2022)
• Altera (acquired by Intel for 15B$ in 2015)
• Others (Lattice semiconductor etc.)
FPGA: Modern FPGAs
• Example: Xilinx FPGA portfolio
• Virtex Ultrascale+ FPGA Product Table:
FPGA: Modern FPGAs
• Example: Xilinx FPGA portfolio
• Virtex Ultrascale+ FPGA Product Table:
Alveo-U250 Board
~7,700$
FPGA: Why should I learn FPGA?
• FPGAs are now everywhere
• IoT to Data Centers
Amazon EC2 F1 instances use FPGAs to
deliver customhardwareaccelerations.​
FPGA: Why should I learn FPGA?
• FPGAs are now everywhere
• IoT to Data Centers
Amazon EC2 F1 instances use FPGAs to
deliver customhardwareaccelerations.​
Microsoft's CatapultProject
FPGA: Why should I learn FPGA?
• FPGAs are now everywhere
• IoT to Data Centers
Amazon EC2 F1 instances use FPGAs to
deliver customhardwareaccelerations.​
IntelShips Xeon Skylake
Processor with Integrated FPGA​
Microsoft's CatapultProject
FPGA: Why should I learn FPGA?
• FPGAs are now everywhere
• IoT to Data Centers
Amazon EC2 F1 instances use FPGAs to
deliver customhardwareaccelerations.​
IntelShips Xeon Skylake
Processor with Integrated FPGA​
Microsoft's CatapultProject
FPGAs areused for accelerating complex computations in blockchain technology
FPGA: Why should I learn FPGA?
• Growing market
• 2022:8B$ market
• 2027:15B$ market (estimated)
• Job market is not saturated
• Many research direction
• Acceleration of computation-intensivetasks
• Machine Learning, DNN
• Cryptography
• Video Processing
• FPGA security
• High level synthesis
FPGA: Where are FPGAs used?
• FPGAs could be …
• A target platform
• A prototype platform for ASIC or SoC
FPGA: Where are FPGAs used?
• FPGAs could be …
• A target platform
• A prototype platform for ASIC or SoC
• FPGAs are used in a variety of applications
• Machine Learning, AI
• Cybersecurity
• Video Processing
• Automotive
• Space Technology
• Finance
FPGA: Advantages and Disadvantages
Advantages
• Programmability
• Fast design time (time to market)
• Low design cost
• Suitable for automation
• Parallel processing
• Prototyping
• System on chip
Disadvantages
• Low performance
• Large area
(due to reconfigurability)
• High power consumption
FPGA: FPGA vs ASIC
FPGA
• Simple design cycle
• Short development time
• High adaptability
• Low NRE cost
ASIC
• Difficult to design
• Long development time
• Low adaptability
• High NRE cost
FPGA: FPGA vs ASIC
FPGA
• Simple design cycle
• Short development time
• High adaptability
• Low NRE cost
ASIC
• Difficult to design
• Long development time
• Low adaptability
• High NRE cost
FPGA: FPGA vs ASIC
FPGA
• Simple design cycle
• Short development time
• High adaptability
• Low NRE cost
• Low performance
• Large area
• High power consumption
ASIC
• Difficult to design
• Long development time
• Low adaptability
• High NRE cost
• High performance
• Low area
• 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
S = A XOR B XOR Cin
Cout = (A AND B) OR (A XOR B AND)
ASIC FPGA with 4-input LUTs?
FPGA: Design Flow
• Design specification to FPGA programming
Design Specification
Design Entry
(RTL design)
(Desired functionality
and area/speed requirements)
(i.e., Verilog code)
Behavioral
Simulation
Synthesis
Post-Synthesis
Simulation
(Code to netlist – a format
for depicting the circuit)
Translate
Map
Place and Route
Implementation
Bitfile Generation
Program the FPGA
(Combines netlists with
user constraints)
(Maps translated netlist to
actual FPGA components)
STA
(Back-annotation)
FPGA: Components (a bit more in detail)
• FPGA: Field Programmable Gate Arrays
• ConfigurableLogic Blocks (CLBs)
• Programmable Interconnects
• Programmable I/O blocks
• Other functionalblocks: DSPs, Block RAMs, Ultra RAMs, ...
Image is retrieved from [https://towardsdatascience.com/introduction-to-fpga-and-its-architecture-20a62c14421c]
FPGA: Components (a bit more in detail)
• Building blocks of different vendors and FPGA series can show differences, here
we take Xilinx 7-series FPGAs as example.
• Main building blocks
• CLB, Slice, LUT
• Interconnects
• 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
Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
FPGA: Components (a bit more in detail)
• Configurable Logic Block (CLB)
• Has 2 slices
• SLICEM (LUT can be used for logic and memory)
• SLICEL (LUT can be used only for logic)
• Connected to interconnect through switch matrix
Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
FPGA: Components (a bit more in detail)
• CLB Slices
• Four 6-input LUTs
• D-FFs
• Multiplexers
Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
FPGA: Components (a bit more in detail)
• CLB Slices
• Four 6-input LUTs
• D-FFs
• Multiplexers
Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
FPGA: Components (a bit more in detail)
• DSP Slice
• Full-custom and low power DSP units
• Reconfigurable: P = (A±D) x B + C
FPGA: Components (a bit more in detail)
• Block RAM (BRAM)
• For storing large data
• Configurable (2 x 18Kb or 1 x 36 Kb)
• Two read/write ports
• Block ROM (BROM)
• Advanced FPGAs have Ultra RAM (URAM)
• 288 Kb
FPGA: Components (a bit more in detail)
• FPGA boards might be coupled with processors
• Xilinx PYNQ-Z2 has an ARM Cortex
• It is also possible to instantiate "soft" processor in FPGAs
• Xilinx's Microblaze soft processor core
• HW/SW co-design

More Related Content

Similar to Field programmable Gate Arrays Chapter 6.pdf

L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)
NAGASAI547
 
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
byteLAKE
 
yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015
Yeong Wang
 
Implementation strategies for digital ics
Implementation strategies for digital icsImplementation strategies for digital ics
Implementation strategies for digital ics
aroosa khan
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
rahul kumar verma
 

Similar to Field programmable Gate Arrays Chapter 6.pdf (20)

L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)
 
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
 
3rd Lecture
3rd Lecture3rd Lecture
3rd Lecture
 
Basics of vlsi
Basics of vlsiBasics of vlsi
Basics of vlsi
 
Basic FPGA Architecture, Virtex CLB IO blocks
Basic FPGA Architecture, Virtex CLB IO blocksBasic FPGA Architecture, Virtex CLB IO blocks
Basic FPGA Architecture, Virtex CLB IO blocks
 
VLSI design Dr B.jagadeesh UNIT-5.pptx
VLSI design Dr B.jagadeesh   UNIT-5.pptxVLSI design Dr B.jagadeesh   UNIT-5.pptx
VLSI design Dr B.jagadeesh UNIT-5.pptx
 
Programable logic devices (1)
Programable logic devices (1)Programable logic devices (1)
Programable logic devices (1)
 
FPGA
FPGAFPGA
FPGA
 
yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015yeong_wang_resume_Jan_2015
yeong_wang_resume_Jan_2015
 
Lecture Slide (1).pptx
Lecture Slide (1).pptxLecture Slide (1).pptx
Lecture Slide (1).pptx
 
Implementation strategies for digital ics
Implementation strategies for digital icsImplementation strategies for digital ics
Implementation strategies for digital ics
 
Digital Systems Design
Digital Systems DesignDigital Systems Design
Digital Systems Design
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
 
Fpga
FpgaFpga
Fpga
 
1. FPGA architectures.pdf
1. FPGA architectures.pdf1. FPGA architectures.pdf
1. FPGA architectures.pdf
 
Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentation
 
Using FPGA in Embedded Devices
Using FPGA in Embedded DevicesUsing FPGA in Embedded Devices
Using FPGA in Embedded Devices
 
Pld dp
Pld dpPld dp
Pld dp
 
FPGA Selection Methodology for Real time projects
FPGA Selection Methodology for Real time projectsFPGA Selection Methodology for Real time projects
FPGA Selection Methodology for Real time projects
 
S2C China ICCAD 2010 Presentation
S2C China ICCAD 2010 PresentationS2C China ICCAD 2010 Presentation
S2C China ICCAD 2010 Presentation
 

Recently uploaded

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 

Field programmable Gate Arrays Chapter 6.pdf

  • 1. October 3, 2022 Ahmet Can Mert ahmet.mert@iaik.tugraz.at A Brief Introductionto FPGAs
  • 2. FPGA: Definition • FPGA: Field Programmable Gate Arrays • An array of logic cells with programmable control signals and a programmable routing grid • It can be configured/programmed to perform any digital circuits • Microcontroller • Video processor • Crypto miner • How to configure? • Define its behavior using Hardware Description Languages • Compile and download it to FPGA
  • 3. FPGA: Definition • FPGA: Field Programmable Gate Arrays • ConfigurableLogic Blocks (CLBs) • Programmable Interconnects • Programmable I/O blocks • Other functionalblocks: DSPs, Block RAMs, Ultra RAMs, ... Image is retrieved from [https://towardsdatascience.com/introduction-to-fpga-and-its-architecture-20a62c14421c]
  • 4. 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
  • 5. 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 Image is retrieved from [https://en.wikipedia.org/wiki/Moore%27s_law]
  • 6. 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)
  • 7. 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) Image is retrieved from [https://www.electronics-tutorial.net/programmable-logic-devices/programmable-array-logic/]
  • 8. 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)
  • 9. 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 thatformed 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: "Moore’s Law would eventually make transistors so cheap that no one would care." Ross Freeman Xilinx Co-founder
  • 10. FPGA: First FPGA • First FPGA: XC2064 • 8x8 grid of CLBs (Image from the Patent is a simplified 3x3 version) • Each CLB has 4 inputs and 2 outputs • Comb. Logic (Lookup Table – LUT) • D-FF • Multiplexers (MUX) FPGA connections from Xilinx FPGA Patent Images are retrieved from [https://semiwiki.com/fpga/290990-reverse-engineering-the-first-fpga-chip-xilinx-xc2064/]
  • 11. FPGA: First FPGA • First FPGA: XC2064 • Lookup Table – LUT • Inside logic block, FPGAs do not have gates. Instead, they have lookup tables with reconfigurable outputs. • These lookup tables are used to implement truth table of an expression. • It is capable of implementing any logic function of N Boolean variables. • In modern XIlinx FPGAs, N is generally 6.
  • 12. FPGA: First FPGA • First FPGA: XC2064 • Lookup Table – LUT • Inside logic block, FPGAs do not have gates. Instead, they have lookup tables with reconfigurable outputs. • These lookup tables are used to implement truth table of an expression. • It is capable of implementing any logic function of N Boolean variables. • In modern XIlinx FPGAs, N is generally 6. • Example: AND gatewith N=2 x0 x1 y 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1
  • 13. FPGA: First FPGA • First FPGA: XC2064 • The interconnects • There are several horizontal and vertical line segments. • Interconnect points allow connections to be made between a horizontal line and a vertical line, allowing arbitrary paths to be created. • Switch matrices Images are retrieved from [https://semiwiki.com/fpga/290990-reverse-engineering-the-first-fpga-chip-xilinx-xc2064/]
  • 14. FPGA: Modern FPGAs • Modern FPGAs have … • More CLBs • Larger LUTs (6-input LUTs) • Custom building blocks (DSPs, BRAMs, Advanced I/O, ...) • Major FPGA Vendors • Xilinx (acquired by AMD for 49B$ in 2022) • Altera (acquired by Intel for 15B$ in 2015) • Others (Lattice semiconductor etc.)
  • 15. FPGA: Modern FPGAs • Example: Xilinx FPGA portfolio • Virtex Ultrascale+ FPGA Product Table:
  • 16. FPGA: Modern FPGAs • Example: Xilinx FPGA portfolio • Virtex Ultrascale+ FPGA Product Table: Alveo-U250 Board ~7,700$
  • 17. FPGA: Why should I learn FPGA? • FPGAs are now everywhere • IoT to Data Centers Amazon EC2 F1 instances use FPGAs to deliver customhardwareaccelerations.​
  • 18. FPGA: Why should I learn FPGA? • FPGAs are now everywhere • IoT to Data Centers Amazon EC2 F1 instances use FPGAs to deliver customhardwareaccelerations.​ Microsoft's CatapultProject
  • 19. FPGA: Why should I learn FPGA? • FPGAs are now everywhere • IoT to Data Centers Amazon EC2 F1 instances use FPGAs to deliver customhardwareaccelerations.​ IntelShips Xeon Skylake Processor with Integrated FPGA​ Microsoft's CatapultProject
  • 20. FPGA: Why should I learn FPGA? • FPGAs are now everywhere • IoT to Data Centers Amazon EC2 F1 instances use FPGAs to deliver customhardwareaccelerations.​ IntelShips Xeon Skylake Processor with Integrated FPGA​ Microsoft's CatapultProject FPGAs areused for accelerating complex computations in blockchain technology
  • 21. FPGA: Why should I learn FPGA? • Growing market • 2022:8B$ market • 2027:15B$ market (estimated) • Job market is not saturated • Many research direction • Acceleration of computation-intensivetasks • Machine Learning, DNN • Cryptography • Video Processing • FPGA security • High level synthesis
  • 22. FPGA: Where are FPGAs used? • FPGAs could be … • A target platform • A prototype platform for ASIC or SoC
  • 23. FPGA: Where are FPGAs used? • FPGAs could be … • A target platform • A prototype platform for ASIC or SoC • FPGAs are used in a variety of applications • Machine Learning, AI • Cybersecurity • Video Processing • Automotive • Space Technology • Finance
  • 24. FPGA: Advantages and Disadvantages Advantages • Programmability • Fast design time (time to market) • Low design cost • Suitable for automation • Parallel processing • Prototyping • System on chip Disadvantages • Low performance • Large area (due to reconfigurability) • High power consumption
  • 25. FPGA: FPGA vs ASIC FPGA • Simple design cycle • Short development time • High adaptability • Low NRE cost ASIC • Difficult to design • Long development time • Low adaptability • High NRE cost
  • 26. FPGA: FPGA vs ASIC FPGA • Simple design cycle • Short development time • High adaptability • Low NRE cost ASIC • Difficult to design • Long development time • Low adaptability • High NRE cost
  • 27. FPGA: FPGA vs ASIC FPGA • Simple design cycle • Short development time • High adaptability • Low NRE cost • Low performance • Large area • High power consumption ASIC • Difficult to design • Long development time • Low adaptability • High NRE cost • High performance • Low area • Low power consumption
  • 28. 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 S = A XOR B XOR Cin Cout = (A AND B) OR (A XOR B AND) ASIC FPGA with 4-input LUTs?
  • 29. FPGA: Design Flow • Design specification to FPGA programming Design Specification Design Entry (RTL design) (Desired functionality and area/speed requirements) (i.e., Verilog code) Behavioral Simulation Synthesis Post-Synthesis Simulation (Code to netlist – a format for depicting the circuit) Translate Map Place and Route Implementation Bitfile Generation Program the FPGA (Combines netlists with user constraints) (Maps translated netlist to actual FPGA components) STA (Back-annotation)
  • 30. FPGA: Components (a bit more in detail) • FPGA: Field Programmable Gate Arrays • ConfigurableLogic Blocks (CLBs) • Programmable Interconnects • Programmable I/O blocks • Other functionalblocks: DSPs, Block RAMs, Ultra RAMs, ... Image is retrieved from [https://towardsdatascience.com/introduction-to-fpga-and-its-architecture-20a62c14421c]
  • 31. FPGA: Components (a bit more in detail) • Building blocks of different vendors and FPGA series can show differences, here we take Xilinx 7-series FPGAs as example. • Main building blocks • CLB, Slice, LUT • Interconnects • Custom blocks • DSP • Block RAM, Ultra RAM • CPU core • Soft and hard cores
  • 32. FPGA: Components (a bit more in detail) • 7-series overview (Artix-7) • Modern FPGAs have diverse resources Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
  • 33. FPGA: Components (a bit more in detail) • Configurable Logic Block (CLB) • Has 2 slices • SLICEM (LUT can be used for logic and memory) • SLICEL (LUT can be used only for logic) • Connected to interconnect through switch matrix Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
  • 34. FPGA: Components (a bit more in detail) • CLB Slices • Four 6-input LUTs • D-FFs • Multiplexers Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
  • 35. FPGA: Components (a bit more in detail) • CLB Slices • Four 6-input LUTs • D-FFs • Multiplexers Image is retrieved from [https://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9204-20390-7_series_architecture_overview.pdf]
  • 36. FPGA: Components (a bit more in detail) • DSP Slice • Full-custom and low power DSP units • Reconfigurable: P = (A±D) x B + C
  • 37. FPGA: Components (a bit more in detail) • Block RAM (BRAM) • For storing large data • Configurable (2 x 18Kb or 1 x 36 Kb) • Two read/write ports • Block ROM (BROM) • Advanced FPGAs have Ultra RAM (URAM) • 288 Kb
  • 38. FPGA: Components (a bit more in detail) • FPGA boards might be coupled with processors • Xilinx PYNQ-Z2 has an ARM Cortex • It is also possible to instantiate "soft" processor in FPGAs • Xilinx's Microblaze soft processor core • HW/SW co-design