SlideShare a Scribd company logo
1 Cloud Saturday Atlanta
A Primer on FPGAs
(Field Programmable Gate Arrays)
Taylor Riggan(@triggan)
2 Cloud Saturday Atlanta
Thank Our Sponsors
3 Cloud Saturday Atlanta
Thank Our Sponsors
4 Cloud Saturday Atlanta
Thank Our Sponsors
5 Cloud Saturday Atlanta
About Me
Project Manager
Systems Engineer
3yr. Residence
Multi-national
Pharmaceutical Co.
Virtualization & Storage
Consulting
NetApp A-Team
Renewed Passion for
Embedded Systems (IoT)
Passion for BigData
Ecosystem
Chief Architect - DevOpsy
Kinda Role
Hobbies: Maker, High-Power Model
Rocketry, Building & Flying Drones
Contact Info:
http://www.waflhouse.com
@triggan on Twitter
github.com/triggan
6 Cloud Saturday Atlanta
 What is an FPGA? Basic architecture
 FPGAs and their use by cloud service providers
 Use cases and application
 Where do you get started / tool chain
Agenda
7 Cloud Saturday Atlanta
 Field Programmable GateArray
 “Field Programmable” – architecture can be
changed after deployment (mostly).
 GateArray –
 Gate – Short for a transistor logic gate. Most
common form is a NAND gate. Chain
together to create Transistor-Transistor Logic
circuits (TTL).
 Array – a whole lot of them.
What is an FPGA?
8 Cloud Saturday Atlanta
 An integrated circuit – a “chip”
 Programmable logic – not really a bunch of logic gates; composed
of lookup tables and some other components.
What is an FPGA?
9 Cloud Saturday Atlanta
 95% of market comprised of these 3. Many other niche players.
 Xilinx is the market leader (50%)
 Intel/Altera (39%, but gaining ground with Intel acquisition)
(purchased for $16.7B in 2015)
Current Market / Manufacturers
10 Cloud Saturday Atlanta
 ASICs –Application Specific Integrated Circuits – custom designed
and printed silicon.
 Susceptible to low yield rates some times.
 No one wants to do VLSI (Very Large Scale Integration) chip
layout.
An ASIC without the mess…
11 Cloud Saturday Atlanta
Why an FPGA vs. CPU or GPU
12 Cloud Saturday Atlanta
CPU vs. FPGA vs. GPU vs. uC
13 Cloud Saturday Atlanta
Combining FPGAs w/ x86 Architecture
14 Cloud Saturday Atlanta
15 Cloud Saturday Atlanta
Cloud Adoption – Use Cases
According to Intel executive vice president Diane Bryant, a third of all
servers used by major cloud providers will utilize FPGAs by 2020.
16 Cloud Saturday Atlanta
 Started 2010
 Originally targeted to accelerate
Bing search queries.
 Now used for a number of
different use cases.
 FPGAs deployed in nearly every
production server within Bing and
Azure – known as the
“Configurable Cloud”.
 Microsoft also partnering with
Baidu in China to bring FPGAs to
their datacenters.
Microsoft Project Catapult
17 Cloud Saturday Atlanta
 FPGAinsertedon PCIebus with “loopback”connectivityof NetworkInterface
Card. All networktrafficflows throughFPGA.
 FPGAs fromdifferentserversconnectedinto a “Torus”of 48 FPGAs.
 FPGA-to-FPGAcommunicationenablesfuturefunctionalityin the deep
learningandAI space;neural networks.
Microsoft Project Catapult
18 Cloud Saturday Atlanta
 Tensor Processing Units
 Went different route – developed their ownASICs
 Claimed FPGAs were too power hungry
 Also connected via PCIe interface, but not directly network
connected
 Tailored specifically for Machine Learning. (TensorFlow)
 Architecture still a closely guarded secret within Google.
Google TPUs
19 Cloud Saturday Atlanta
 Built for end-user consumption
 Currently in preview since Dec. 2016
 Development Tools available viaAWS Marketplace
 Built on Xilinx Ultrascale+ FPGAs
 F1.16xlarge – similar architecture to Catapult – both PCIe and bi-
directional link connectivity between FPGAs
 2M Logic Cells per FPGA!!
Amazon EC2 F1 Instances
20 Cloud Saturday Atlanta
 AWS pre-configured FPGAshell – makes I/O access to FPGA
much easier
 Pre-builtAFIs (similar to existingAMI images) – offers the ability to
create a library of FPGAconfigurations. Also offer another security
layer – bit-stream is encrypted.
Amazon EC2 F1 Instances
21 Cloud Saturday Atlanta
 Xilinx tools (Vivado Studio and SDAccel) built into the EC2 F1AMI.
Amazon EC2 F1 Instances
22 Cloud Saturday Atlanta
 Ability to republishAFIs (FPGAImages) back toAWS
Marketplace.
 Can also create solutions that leverage FPGAs but do not expose
that functionality back to end-user.
Amazon EC2 F1 Instances
23 Cloud Saturday Atlanta
 Traditional analytics – Map-Reduce paper on using FPGAs
 Genomics research – highly parallel
 Encryption/Cyrptography offload – in-line network
encryption/decryption
 NetworkAnalysis – deep packet inspection
 Machine/Deep Learning – using networks of FPGAs in unison to
mimic neural networks.
 FinancialAnalysis – market analysis; requires near real-time
computation.
 Video Manipulation – high throughput. (Go watch
“Implementation of MITMAttack on HDCP-Secured Links”)
Cloud-Based Use Cases
24 Cloud Saturday Atlanta
Getting Started with FPGAs
25 Cloud Saturday Atlanta
FPGA “Compilation”
High Level
Languages
Hardware
Description
Language
(HDLs)
Netlist
Configuration
File
26 Cloud Saturday Atlanta
VHDL/Verilog – Code Example
27 Cloud Saturday Atlanta
 Include the pin and signal
mapping files:
 Xilinx - (UCF) – User
Constraint Files.
 Altera – (SDC) – Synopsis
Design Construct
Code Packages
28 Cloud Saturday Atlanta
 Be cautious of order – remember this is hardware, not software:
 Compile time – you’ll have a greater affinity for the speed of a C++
or Java compiler. Map & Route can taken 5 minutes or 5 hours
depending on complexity of the device.
 Have a good understanding of signaling – pull up or pull down
inputs and outputs; tri-state I/O; high impedance I/O
 Know basic microcontroller programming – most dev tools use a
uC to bootstrap the FPGA.
Gotchas to Watch Out For…
29 Cloud Saturday Atlanta
 Provides GPU programmers easy access to FPGAprogramming.
 Now available from major manufactures – both Xilinx andAltera
have OpenCLSDKs
 Work OK, but can be cumbersome with smaller devices (not as
efficient)
 Good for rapid prototyping and comparing performance between a
GPU and FPGA.
Using OpenCL for FPGAs
30 Cloud Saturday Atlanta
Good Development Boards
31 Cloud Saturday Atlanta
 Intel has a good 4 hour video tutorial that
leverages the DE0-Nano platform.
 “Learning FPGAs” – book to be
released later this spring. Tutorials use
the Mojo v3 platform.
 Altera has released a “FPGAs for
Dummies” book about 2-3 years ago.
Available for free online.
Other Resources
32 Cloud Saturday Atlanta
33 Cloud Saturday Atlanta
34 Cloud Saturday Atlanta
 See website for more info and directions
 https://cloudsaturdayatlanta.com/
Continue the conversation…

More Related Content

What's hot

Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Intel® Software
 
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta..."The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
Edge AI and Vision Alliance
 
Deep learning with FPGA
Deep learning with FPGADeep learning with FPGA
Deep learning with FPGA
Ayush Singh, MS
 
OpenPOWER Webinar
OpenPOWER Webinar OpenPOWER Webinar
OpenPOWER Webinar
Ganesan Narayanasamy
 
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
Indrajit Poddar
 
Tesla Accelerated Computing Platform
Tesla Accelerated Computing PlatformTesla Accelerated Computing Platform
Tesla Accelerated Computing Platform
inside-BigData.com
 
AI OpenPOWER Academia Discussion Group
AI OpenPOWER Academia Discussion Group AI OpenPOWER Academia Discussion Group
AI OpenPOWER Academia Discussion Group
Ganesan Narayanasamy
 
TAU E4S ON OpenPOWER /POWER9 platform
TAU E4S ON OpenPOWER /POWER9 platformTAU E4S ON OpenPOWER /POWER9 platform
TAU E4S ON OpenPOWER /POWER9 platform
Ganesan Narayanasamy
 
BSC LMS DDL
BSC LMS DDL BSC LMS DDL
BSC LMS DDL
Ganesan Narayanasamy
 
Deeplearningusingcloudpakfordata
DeeplearningusingcloudpakfordataDeeplearningusingcloudpakfordata
Deeplearningusingcloudpakfordata
Ganesan Narayanasamy
 
CFD on Power
CFD on Power CFD on Power
CFD on Power
Ganesan Narayanasamy
 
OpenPOWER/POWER9 Webinar from MIT and IBM
OpenPOWER/POWER9 Webinar from MIT and IBM OpenPOWER/POWER9 Webinar from MIT and IBM
OpenPOWER/POWER9 Webinar from MIT and IBM
Ganesan Narayanasamy
 
Distributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDLDistributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDL
Yulia Tell
 
Intel's Machine Learning Strategy
Intel's Machine Learning StrategyIntel's Machine Learning Strategy
Intel's Machine Learning Strategy
inside-BigData.com
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Amazon Web Services
 
Deep Learning Accelerator Design Techniques
Deep Learning Accelerator Design TechniquesDeep Learning Accelerator Design Techniques
Deep Learning Accelerator Design Techniques
Mindos Cheng
 
OpenPOWER/POWER9 AI webinar
OpenPOWER/POWER9 AI webinar OpenPOWER/POWER9 AI webinar
OpenPOWER/POWER9 AI webinar
Ganesan Narayanasamy
 
Large Model support and Distribute deep learning
Large Model support and Distribute deep learningLarge Model support and Distribute deep learning
Large Model support and Distribute deep learning
Ganesan Narayanasamy
 
End-to-End Big Data AI with Analytics Zoo
End-to-End Big Data AI with Analytics ZooEnd-to-End Big Data AI with Analytics Zoo
End-to-End Big Data AI with Analytics Zoo
Jason Dai
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Jason Dai
 

What's hot (20)

Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
 
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta..."The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
"The Xilinx AI Engine: High Performance with Future-proof Architecture Adapta...
 
Deep learning with FPGA
Deep learning with FPGADeep learning with FPGA
Deep learning with FPGA
 
OpenPOWER Webinar
OpenPOWER Webinar OpenPOWER Webinar
OpenPOWER Webinar
 
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
Optimizing Hortonworks Apache Spark machine learning workloads for contempora...
 
Tesla Accelerated Computing Platform
Tesla Accelerated Computing PlatformTesla Accelerated Computing Platform
Tesla Accelerated Computing Platform
 
AI OpenPOWER Academia Discussion Group
AI OpenPOWER Academia Discussion Group AI OpenPOWER Academia Discussion Group
AI OpenPOWER Academia Discussion Group
 
TAU E4S ON OpenPOWER /POWER9 platform
TAU E4S ON OpenPOWER /POWER9 platformTAU E4S ON OpenPOWER /POWER9 platform
TAU E4S ON OpenPOWER /POWER9 platform
 
BSC LMS DDL
BSC LMS DDL BSC LMS DDL
BSC LMS DDL
 
Deeplearningusingcloudpakfordata
DeeplearningusingcloudpakfordataDeeplearningusingcloudpakfordata
Deeplearningusingcloudpakfordata
 
CFD on Power
CFD on Power CFD on Power
CFD on Power
 
OpenPOWER/POWER9 Webinar from MIT and IBM
OpenPOWER/POWER9 Webinar from MIT and IBM OpenPOWER/POWER9 Webinar from MIT and IBM
OpenPOWER/POWER9 Webinar from MIT and IBM
 
Distributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDLDistributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDL
 
Intel's Machine Learning Strategy
Intel's Machine Learning StrategyIntel's Machine Learning Strategy
Intel's Machine Learning Strategy
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAs
 
Deep Learning Accelerator Design Techniques
Deep Learning Accelerator Design TechniquesDeep Learning Accelerator Design Techniques
Deep Learning Accelerator Design Techniques
 
OpenPOWER/POWER9 AI webinar
OpenPOWER/POWER9 AI webinar OpenPOWER/POWER9 AI webinar
OpenPOWER/POWER9 AI webinar
 
Large Model support and Distribute deep learning
Large Model support and Distribute deep learningLarge Model support and Distribute deep learning
Large Model support and Distribute deep learning
 
End-to-End Big Data AI with Analytics Zoo
End-to-End Big Data AI with Analytics ZooEnd-to-End Big Data AI with Analytics Zoo
End-to-End Big Data AI with Analytics Zoo
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
 

Similar to A Primer on FPGAs - Field Programmable Gate Arrays

FPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and HowFPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and How
DESMOND YUEN
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
Somnath Mazumdar
 
Lecture Slide (1).pptx
Lecture Slide (1).pptxLecture Slide (1).pptx
Lecture Slide (1).pptx
BilalMumtaz9
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
venkatasuman1983
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
velamakuri
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
Marco77328
 
Fpga
FpgaFpga
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
 
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONSFIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
Professor at RYM Engineering College, Ballari
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrown
Lance Brown
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
Sanjiv Malik
 
2.FPGA for dummies: modern FPGA architecture
2.FPGA for dummies: modern FPGA architecture2.FPGA for dummies: modern FPGA architecture
2.FPGA for dummies: modern FPGA architecture
Maurizio Donna
 
InAccel FPGA resource manager
InAccel FPGA resource managerInAccel FPGA resource manager
InAccel FPGA resource manager
Christoforos Kachris
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
Ganesan Narayanasamy
 
AI Hardware Landscape 2021
AI Hardware Landscape 2021AI Hardware Landscape 2021
AI Hardware Landscape 2021
Grigory Sapunov
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
ieijjournal
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
ieijjournal1
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
ieijjournal
 
Reconfigurable ICs
Reconfigurable ICsReconfigurable ICs
Reconfigurable ICs
Anish Goel
 
ASIC VS FPGA.ppt
ASIC VS FPGA.pptASIC VS FPGA.ppt
ASIC VS FPGA.ppt
gopakumar885691
 

Similar to A Primer on FPGAs - Field Programmable Gate Arrays (20)

FPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and HowFPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and How
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
 
Lecture Slide (1).pptx
Lecture Slide (1).pptxLecture Slide (1).pptx
Lecture Slide (1).pptx
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
 
Fpga
FpgaFpga
Fpga
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
 
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONSFIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrown
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
2.FPGA for dummies: modern FPGA architecture
2.FPGA for dummies: modern FPGA architecture2.FPGA for dummies: modern FPGA architecture
2.FPGA for dummies: modern FPGA architecture
 
InAccel FPGA resource manager
InAccel FPGA resource managerInAccel FPGA resource manager
InAccel FPGA resource manager
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
AI Hardware Landscape 2021
AI Hardware Landscape 2021AI Hardware Landscape 2021
AI Hardware Landscape 2021
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
 
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATIONFROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
FROM FPGA TO ASIC IMPLEMENTATION OF AN OPENRISC BASED SOC FOR VOIP APPLICATION
 
Reconfigurable ICs
Reconfigurable ICsReconfigurable ICs
Reconfigurable ICs
 
ASIC VS FPGA.ppt
ASIC VS FPGA.pptASIC VS FPGA.ppt
ASIC VS FPGA.ppt
 

Recently uploaded

按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
ei8c4cba
 
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
uyesp1a
 
Production.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd ddddddddddddddddddddddddddddddddddProduction.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd dddddddddddddddddddddddddddddddddd
DanielOliver74
 
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
yizxn4sx
 
Why is the AIS 140 standard Mandatory in India?
Why is the AIS 140 standard Mandatory in India?Why is the AIS 140 standard Mandatory in India?
Why is the AIS 140 standard Mandatory in India?
Watsoo Telematics
 
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
terpt4iu
 
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
yizxn4sx
 
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
terpt4iu
 
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
eydeofo
 
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
zpc0z12
 
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
byfazef
 
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
nudduv
 
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
xuqdabu
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
lorraineandreiamcidl
 
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
xuqdabu
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
aozcue
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
u0g33km
 
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
yizxn4sx
 
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
xuqdabu
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
aozcue
 

Recently uploaded (20)

按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
按照学校原版(AU文凭证书)英国阿伯丁大学毕业证快速办理
 
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
按照学校原版(Columbia文凭证书)哥伦比亚大学毕业证快速办理
 
Production.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd ddddddddddddddddddddddddddddddddddProduction.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd dddddddddddddddddddddddddddddddddd
 
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
按照学校原版(Greenwich文凭证书)格林威治大学毕业证快速办理
 
Why is the AIS 140 standard Mandatory in India?
Why is the AIS 140 standard Mandatory in India?Why is the AIS 140 standard Mandatory in India?
Why is the AIS 140 standard Mandatory in India?
 
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
按照学校原版(Adelaide文凭证书)阿德莱德大学毕业证快速办理
 
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
按照学校原版(Westminster文凭证书)威斯敏斯特大学毕业证快速办理
 
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
按照学校原版(UOL文凭证书)利物浦大学毕业证快速办理
 
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
一比一原版(UOL文凭证书)利物浦大学毕业证如何办理
 
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
按照学校原版(UST文凭证书)圣托马斯大学毕业证快速办理
 
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
一比一原版(Greenwich文凭证书)格林威治大学毕业证如何办理
 
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
一比一原版(ANU文凭证书)澳大利亚国立大学毕业证如何办理
 
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
一比一原版(UQ文凭证书)昆士兰大学毕业证如何办理
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
 
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
一比一原版(TheAuckland毕业证书)新西兰奥克兰大学毕业证如何办理
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
 
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
按照学校原版(UAL文凭证书)伦敦艺术大学毕业证快速办理
 
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
一比一原版(Monash文凭证书)莫纳什大学毕业证如何办理
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
 

A Primer on FPGAs - Field Programmable Gate Arrays

  • 1. 1 Cloud Saturday Atlanta A Primer on FPGAs (Field Programmable Gate Arrays) Taylor Riggan(@triggan)
  • 2. 2 Cloud Saturday Atlanta Thank Our Sponsors
  • 3. 3 Cloud Saturday Atlanta Thank Our Sponsors
  • 4. 4 Cloud Saturday Atlanta Thank Our Sponsors
  • 5. 5 Cloud Saturday Atlanta About Me Project Manager Systems Engineer 3yr. Residence Multi-national Pharmaceutical Co. Virtualization & Storage Consulting NetApp A-Team Renewed Passion for Embedded Systems (IoT) Passion for BigData Ecosystem Chief Architect - DevOpsy Kinda Role Hobbies: Maker, High-Power Model Rocketry, Building & Flying Drones Contact Info: http://www.waflhouse.com @triggan on Twitter github.com/triggan
  • 6. 6 Cloud Saturday Atlanta  What is an FPGA? Basic architecture  FPGAs and their use by cloud service providers  Use cases and application  Where do you get started / tool chain Agenda
  • 7. 7 Cloud Saturday Atlanta  Field Programmable GateArray  “Field Programmable” – architecture can be changed after deployment (mostly).  GateArray –  Gate – Short for a transistor logic gate. Most common form is a NAND gate. Chain together to create Transistor-Transistor Logic circuits (TTL).  Array – a whole lot of them. What is an FPGA?
  • 8. 8 Cloud Saturday Atlanta  An integrated circuit – a “chip”  Programmable logic – not really a bunch of logic gates; composed of lookup tables and some other components. What is an FPGA?
  • 9. 9 Cloud Saturday Atlanta  95% of market comprised of these 3. Many other niche players.  Xilinx is the market leader (50%)  Intel/Altera (39%, but gaining ground with Intel acquisition) (purchased for $16.7B in 2015) Current Market / Manufacturers
  • 10. 10 Cloud Saturday Atlanta  ASICs –Application Specific Integrated Circuits – custom designed and printed silicon.  Susceptible to low yield rates some times.  No one wants to do VLSI (Very Large Scale Integration) chip layout. An ASIC without the mess…
  • 11. 11 Cloud Saturday Atlanta Why an FPGA vs. CPU or GPU
  • 12. 12 Cloud Saturday Atlanta CPU vs. FPGA vs. GPU vs. uC
  • 13. 13 Cloud Saturday Atlanta Combining FPGAs w/ x86 Architecture
  • 14. 14 Cloud Saturday Atlanta
  • 15. 15 Cloud Saturday Atlanta Cloud Adoption – Use Cases According to Intel executive vice president Diane Bryant, a third of all servers used by major cloud providers will utilize FPGAs by 2020.
  • 16. 16 Cloud Saturday Atlanta  Started 2010  Originally targeted to accelerate Bing search queries.  Now used for a number of different use cases.  FPGAs deployed in nearly every production server within Bing and Azure – known as the “Configurable Cloud”.  Microsoft also partnering with Baidu in China to bring FPGAs to their datacenters. Microsoft Project Catapult
  • 17. 17 Cloud Saturday Atlanta  FPGAinsertedon PCIebus with “loopback”connectivityof NetworkInterface Card. All networktrafficflows throughFPGA.  FPGAs fromdifferentserversconnectedinto a “Torus”of 48 FPGAs.  FPGA-to-FPGAcommunicationenablesfuturefunctionalityin the deep learningandAI space;neural networks. Microsoft Project Catapult
  • 18. 18 Cloud Saturday Atlanta  Tensor Processing Units  Went different route – developed their ownASICs  Claimed FPGAs were too power hungry  Also connected via PCIe interface, but not directly network connected  Tailored specifically for Machine Learning. (TensorFlow)  Architecture still a closely guarded secret within Google. Google TPUs
  • 19. 19 Cloud Saturday Atlanta  Built for end-user consumption  Currently in preview since Dec. 2016  Development Tools available viaAWS Marketplace  Built on Xilinx Ultrascale+ FPGAs  F1.16xlarge – similar architecture to Catapult – both PCIe and bi- directional link connectivity between FPGAs  2M Logic Cells per FPGA!! Amazon EC2 F1 Instances
  • 20. 20 Cloud Saturday Atlanta  AWS pre-configured FPGAshell – makes I/O access to FPGA much easier  Pre-builtAFIs (similar to existingAMI images) – offers the ability to create a library of FPGAconfigurations. Also offer another security layer – bit-stream is encrypted. Amazon EC2 F1 Instances
  • 21. 21 Cloud Saturday Atlanta  Xilinx tools (Vivado Studio and SDAccel) built into the EC2 F1AMI. Amazon EC2 F1 Instances
  • 22. 22 Cloud Saturday Atlanta  Ability to republishAFIs (FPGAImages) back toAWS Marketplace.  Can also create solutions that leverage FPGAs but do not expose that functionality back to end-user. Amazon EC2 F1 Instances
  • 23. 23 Cloud Saturday Atlanta  Traditional analytics – Map-Reduce paper on using FPGAs  Genomics research – highly parallel  Encryption/Cyrptography offload – in-line network encryption/decryption  NetworkAnalysis – deep packet inspection  Machine/Deep Learning – using networks of FPGAs in unison to mimic neural networks.  FinancialAnalysis – market analysis; requires near real-time computation.  Video Manipulation – high throughput. (Go watch “Implementation of MITMAttack on HDCP-Secured Links”) Cloud-Based Use Cases
  • 24. 24 Cloud Saturday Atlanta Getting Started with FPGAs
  • 25. 25 Cloud Saturday Atlanta FPGA “Compilation” High Level Languages Hardware Description Language (HDLs) Netlist Configuration File
  • 26. 26 Cloud Saturday Atlanta VHDL/Verilog – Code Example
  • 27. 27 Cloud Saturday Atlanta  Include the pin and signal mapping files:  Xilinx - (UCF) – User Constraint Files.  Altera – (SDC) – Synopsis Design Construct Code Packages
  • 28. 28 Cloud Saturday Atlanta  Be cautious of order – remember this is hardware, not software:  Compile time – you’ll have a greater affinity for the speed of a C++ or Java compiler. Map & Route can taken 5 minutes or 5 hours depending on complexity of the device.  Have a good understanding of signaling – pull up or pull down inputs and outputs; tri-state I/O; high impedance I/O  Know basic microcontroller programming – most dev tools use a uC to bootstrap the FPGA. Gotchas to Watch Out For…
  • 29. 29 Cloud Saturday Atlanta  Provides GPU programmers easy access to FPGAprogramming.  Now available from major manufactures – both Xilinx andAltera have OpenCLSDKs  Work OK, but can be cumbersome with smaller devices (not as efficient)  Good for rapid prototyping and comparing performance between a GPU and FPGA. Using OpenCL for FPGAs
  • 30. 30 Cloud Saturday Atlanta Good Development Boards
  • 31. 31 Cloud Saturday Atlanta  Intel has a good 4 hour video tutorial that leverages the DE0-Nano platform.  “Learning FPGAs” – book to be released later this spring. Tutorials use the Mojo v3 platform.  Altera has released a “FPGAs for Dummies” book about 2-3 years ago. Available for free online. Other Resources
  • 32. 32 Cloud Saturday Atlanta
  • 33. 33 Cloud Saturday Atlanta
  • 34. 34 Cloud Saturday Atlanta  See website for more info and directions  https://cloudsaturdayatlanta.com/ Continue the conversation…

Editor's Notes

  1. Made up of Configuration Logic Blocks (CLBs) along with programmable routing between CLBs. CLB shown in right side image. Components – CLBs, Configurable Routing, Tons of I/O blocks (lots of these chips are BGA (ball grid array) – machine soldered only), PLLs – increase clock speed from 20Mhz up to near 1Ghz
  2. CPUs and Microcontollers – good at doing things that don’t repeat very often. Built for sequential operations, not necessarily parallel ops. CPUs built for large complex operating systems – handle many different processing threads. DSP – not really built for general use case – very specific. GPUs – Great at tough math problems (BitCoin mining); but difficult to use otherwise. Combinations of these can be very powerful…
  3. FPGA PCIe cards are relatively inexpensive – starting around $200-300. About the cost of a decent graphics card. I/O interfaces vary. Most form factors are built for Network Connectivity (lots of use cases in the form of network/packet manipulation). Novena laptop – Bunnie Huang (first to crack Xbox encryption). Bunnie is THE hardware geek. Done talks on reverse engineering microcontrollers in SD Cards. Also used an FPGA for HD video manipulation (more on that in a bit). Heterogenous systems are really what we’re seeing more of today. Cell phones and mobile devices do this very well –combination of microprocessors and microcontrollers. CPUs handle a lot of the control functions and operating system overhead while FPGAs are doing application specific functions. Best of both worlds.
  4. Most hyperscalers are using FPGAs in this form factor – integrating them into x86 platforms. Not custom built appliances.
  5. Adoption of FPGAs by hyperscalers is picking up at a break neck pace. Moore’s law is on life support, if not already dead. We have to find other means to accelerate applications.
  6. Spartan-6 that I have has just shy of 10,000 logic cells.
  7. Typically accessing an FPGA via PCIe has been a bit cumbersome. Sending data requires DMA access and knowing how best to do that programmatically.
  8. Typically accessing an FPGA via PCIe has been a bit cumbersome. Sending data requires DMA access and knowing how best to do that programmatically.
  9. Adoption of FPGAs by hyperscalers is picking up at a break neck pace. Moore’s law is on life support, if not already dead. We have to find other means to accelerate applications.
  10. Two schools of thought – Use high level language – great but could be costly in terms of resources. Really should try using an HDL (know what is happening on the chip). Called an HDL – originally was created to document ASICs (hence description language). Later they decided to use the language to automate the creation of the hardware.
  11. Easter egg – can you tell what the major difference is between both counters?
  12. Maybe your not sure whether a GPU or FPGA would be a good fit for a particular application. Building it in OpenCL is a good start to figure out which might work best.