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

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 

Recently uploaded (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
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...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
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...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 

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