SlideShare une entreprise Scribd logo
1  sur  22
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA for
Dummies
Design flow
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA for Dummies
• FPGA Architecture:
 basic blocks (Logic, FFs, wires and IOs);
 additional modern elements;
• FPGA Programming:
HDL languages;
Design flow;
• FPGA DSP:
Arithmetic, FFT and filters;
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA for Dummies
• FPGA Architecture:
 basic blocks (Logic, FFs, wires and IOs);
 additional modern elements;
• FPGA Programming:
HDL languages;
Design flow;
• FPGA DSP:
Arithmetic, FFT and filters;
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA Architecture
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA Architecture
Contemporary FPGA architectures incorporate the
basic elements along with additional computational
and data storage blocks that increase the
computational density and efficiency of the device.
The combination of these elements provides the
FPGA with the flexibility to implement any software
algorithm running on a processor.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Hardware Description Language -
Introduction
• HDL is a language that describes the hardware of digital
systems in a textual form.
• It resembles a programming language, but is specifically
oriented to describing HARDWARE STRUCTURES and
BEHAVIORS.
• The main difference with the traditional programming
languages is HDL’s representation of extensive parallel
operations whereas traditional ones represents mostly
serial operations.
• The most common use of a HDL is to provide an
alternative to schematics.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
System
Architect
HDL
Sources
Schematic
Sources IP
Simulation
Scripts
Test
Vectors
SIMULATE
GOLDEN
Model
FPGA
Designer
ProjectSYNTHESIZE
PLACE & ROUTE Constrain
BITSTREAM
HW
Platform
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Systems architect
• Systems Architects divide large and complex systems
into manageable subsystems that can be handled by
individual engineers.
• The Systems Architect's work MUST AVOID
implementation issues, but concentrate on High level
requirements.
• The Systems Architect delivers a GOLDEN model and
TEST vector to let the FPGA designers properly testing
their work!!!
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
FPGA Designer
• The FPGA Designer is responsible to deliver a firmware that
respect with a good approximation the high level model
provided by the SA, on a real HW platform.
• The FPGA Designer uses tools to SIMULATE, SYNTHESIZE,
PLACE&ROUTE and DOWNLOAD, the FIRMWARE on the
FPGA, and verify that the design woks as requested.
• Any FPGA provider has is own tools:
– XILINX: ISE, EDK, PlanAhead, Vivado, etc….
– ALTERA: Quartus, etc…
• For SIMULATION and SYNTHESIZE there are also Third
party tools
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Design Entry
As a designer create files and add them to
your project (FPGA vendor specific),
including a user constraints file.
• Add any existing files to your project.
• Assign constraints such as
 timing constraints,
 pin assignments,
 area constraints.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Functional Verification
• You can verify the functionality of your design
at different points in the design flow as
follows:
Before synthesis, run behavioral simulation (also
known as Register Transfer Level simulation);
After Translate, run functional simulation (also
known as gate-level simulation), using the
specific vendor library;
After device programming, run in-circuit
verification.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Simulation
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Simulation
• HDL simulators are software packages that compile and simulate any
HDL code (VHDL or/and Verilog, Schematic entry, Thrid part
propietary Ips, etc….).
• FPGA simulation can be performed
 at an earlier stage to test the Behavior of the HDL code, and fix
the algorithm function, as much as close to the provided model;
 or after the technology P&R using specific vendor library, to
verify the firmware without using the HW platform.
• this tools support scripting languages (tlc, phyton,etc..) to improve the
coverage of the testing;
• It is necessary to write some additional HDL files (called TestBenches)
to use provided test vector and emulate the interface to the real HW.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Design Synthesis
• Logic synthesis is a process by which an abstract form of
desired circuit behavior, typically RTL, is turned into a design
implementation in terms of logic gates;
 Logic optimization. Performs two-level or multi-level
minimization of the Boolean equations to optimize area,
delay, or a combination of both;
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Design Implementation
Implementation of a design includes the
following steps:
Translate to vendor specific library of technology
components;
Map: Transforms the Boolean equations into a
circuit of FPGA logic blocks.
This step also optimizes
the total number of logic blocks required
(area optimization)
the number of logic blocks in time-critical paths
(delay optimization).
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Design Implementation
Place and Route:
Placement: selects the specific
location for each logic block in the
FPGA, while trying to minimize the
total length of interconnect
required;
Routing. Connects the available
FPGA’s routing resources with the
logic blocks distributed inside the
FPGA by the placement tool,
carrying signals from where they
are generated to where they are
used.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Design Implementation
Review reports generated by
 Synthesize Report
 Translate Report
 Map Report
 Place & Route Report
and change any of the following to improve your design:
 Process properties
 Constraints
 Source files
 Synthesize and implement your design again until
design requirements are met!!!!
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Timing Verification
You can verify the timing of your design at different
points in the design flow. Run static timing analysis
o After Map
o After Place & Route
And run timing simulation at the following points in
the design flow:
After Map (for a partial timing analysis of Logic and IO
delays);
After Place and Route (for full timing analysis of block
and net delays).
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
XILINX C-to-FPGA: VIVADO HLS
The Vivado High-Level Synthesis compiler enables C, C++ and
SystemC programs to be directly targeted into Xilinx devices without
the need to manually create RTL.
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
ALTERA C-to-FPGA: OpenCL
The OpenCL standard is the first open, royalty-free, unified programming
model for accelerating algorithms on heterogeneous systems. OpenCL
allows the use of a C-based programming language for developing code
across different platforms, such as central processing units (CPUs),
graphic processing units (GPUs), digital signal processors (DSPs), and
field-programmable gate arrays (FPGAs).
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna
Questions
ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna

Contenu connexe

Tendances (20)

Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
Altera flex
Altera flexAltera flex
Altera flex
 
PLD's
PLD'sPLD's
PLD's
 
Fpga design flow
Fpga design flowFpga design flow
Fpga design flow
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
 
FPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIESFPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIES
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : Introduction
 
Asic
AsicAsic
Asic
 
Hardware Description Language
Hardware Description Language Hardware Description Language
Hardware Description Language
 
EC6601 VLSI Design Memory Circuits
EC6601 VLSI Design   Memory CircuitsEC6601 VLSI Design   Memory Circuits
EC6601 VLSI Design Memory Circuits
 
Vlsi design flow
Vlsi design flowVlsi design flow
Vlsi design flow
 
Design options for digital systems
Design options for digital systemsDesign options for digital systems
Design options for digital systems
 
Unit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA ArchitectureUnit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA Architecture
 
ASIC design Flow (Digital Design)
ASIC design Flow (Digital Design)ASIC design Flow (Digital Design)
ASIC design Flow (Digital Design)
 
SoC Design
SoC DesignSoC Design
SoC Design
 
Logic synthesis,flootplan&placement
Logic synthesis,flootplan&placementLogic synthesis,flootplan&placement
Logic synthesis,flootplan&placement
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 

Similaire à 4.FPGA for dummies: Design Flow

A Review of FPGA-based design methodologies for efficient hardware Area estim...
A Review of FPGA-based design methodologies for efficient hardware Area estim...A Review of FPGA-based design methodologies for efficient hardware Area estim...
A Review of FPGA-based design methodologies for efficient hardware Area estim...IOSR Journals
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirHideki Takase
 
CSE 690 Internship at NIKE Inc Final Report
CSE 690 Internship at NIKE Inc Final ReportCSE 690 Internship at NIKE Inc Final Report
CSE 690 Internship at NIKE Inc Final ReportCA Technologies
 
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 FPGAsAmazon Web Services
 
FEL Flyer F12
FEL Flyer F12FEL Flyer F12
FEL Flyer F12chitlesh
 
FPGA Design Challenges
FPGA Design ChallengesFPGA Design Challenges
FPGA Design ChallengesKrishna Gaihre
 
OliverStoneResume2015-2
OliverStoneResume2015-2OliverStoneResume2015-2
OliverStoneResume2015-2Oliver Stone
 
OliverStoneSWResume2015-05
OliverStoneSWResume2015-05OliverStoneSWResume2015-05
OliverStoneSWResume2015-05Oliver Stone
 
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdfs2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdfS2C Limited
 
SoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~EmbeddedSoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~EmbeddedChili.CHIPS
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET Journal
 
Toward a Methodology to turn Smalltak code into FPGA
Toward a Methodology to turn Smalltak code into FPGAToward a Methodology to turn Smalltak code into FPGA
Toward a Methodology to turn Smalltak code into FPGAESUG
 
Electronic Hardware Design with FPGA
Electronic Hardware Design with FPGAElectronic Hardware Design with FPGA
Electronic Hardware Design with FPGAKrishna Gaihre
 
5.FPGA for dummies: DSP
5.FPGA for dummies: DSP5.FPGA for dummies: DSP
5.FPGA for dummies: DSPMaurizio Donna
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsSatya Harish
 

Similaire à 4.FPGA for dummies: Design Flow (20)

A Common Backend for Hardware Acceleration of DSLs on FPGA
A Common Backend for Hardware Acceleration of DSLs on FPGAA Common Backend for Hardware Acceleration of DSLs on FPGA
A Common Backend for Hardware Acceleration of DSLs on FPGA
 
A Review of FPGA-based design methodologies for efficient hardware Area estim...
A Review of FPGA-based design methodologies for efficient hardware Area estim...A Review of FPGA-based design methodologies for efficient hardware Area estim...
A Review of FPGA-based design methodologies for efficient hardware Area estim...
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
Christopher_Reder_2016
Christopher_Reder_2016Christopher_Reder_2016
Christopher_Reder_2016
 
CSE 690 Internship at NIKE Inc Final Report
CSE 690 Internship at NIKE Inc Final ReportCSE 690 Internship at NIKE Inc Final Report
CSE 690 Internship at NIKE Inc Final Report
 
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
 
FEL Flyer F12
FEL Flyer F12FEL Flyer F12
FEL Flyer F12
 
FPGA Design Challenges
FPGA Design ChallengesFPGA Design Challenges
FPGA Design Challenges
 
OliverStoneResume2015-2
OliverStoneResume2015-2OliverStoneResume2015-2
OliverStoneResume2015-2
 
OliverStoneSWResume2015-05
OliverStoneSWResume2015-05OliverStoneSWResume2015-05
OliverStoneSWResume2015-05
 
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdfs2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
 
Rashmi_Palakkal_CV
Rashmi_Palakkal_CVRashmi_Palakkal_CV
Rashmi_Palakkal_CV
 
SoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~EmbeddedSoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~Embedded
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
 
J044084349
J044084349J044084349
J044084349
 
Toward a Methodology to turn Smalltak code into FPGA
Toward a Methodology to turn Smalltak code into FPGAToward a Methodology to turn Smalltak code into FPGA
Toward a Methodology to turn Smalltak code into FPGA
 
Electronic Hardware Design with FPGA
Electronic Hardware Design with FPGAElectronic Hardware Design with FPGA
Electronic Hardware Design with FPGA
 
5.FPGA for dummies: DSP
5.FPGA for dummies: DSP5.FPGA for dummies: DSP
5.FPGA for dummies: DSP
 
2007 - nxp chliopanos
2007 - nxp chliopanos2007 - nxp chliopanos
2007 - nxp chliopanos
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
 

Dernier

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Dernier (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

4.FPGA for dummies: Design Flow

  • 1. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA for Dummies Design flow
  • 2. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA for Dummies • FPGA Architecture:  basic blocks (Logic, FFs, wires and IOs);  additional modern elements; • FPGA Programming: HDL languages; Design flow; • FPGA DSP: Arithmetic, FFT and filters;
  • 3. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA for Dummies • FPGA Architecture:  basic blocks (Logic, FFs, wires and IOs);  additional modern elements; • FPGA Programming: HDL languages; Design flow; • FPGA DSP: Arithmetic, FFT and filters;
  • 4. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA Architecture
  • 5. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA Architecture Contemporary FPGA architectures incorporate the basic elements along with additional computational and data storage blocks that increase the computational density and efficiency of the device. The combination of these elements provides the FPGA with the flexibility to implement any software algorithm running on a processor.
  • 6. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Hardware Description Language - Introduction • HDL is a language that describes the hardware of digital systems in a textual form. • It resembles a programming language, but is specifically oriented to describing HARDWARE STRUCTURES and BEHAVIORS. • The main difference with the traditional programming languages is HDL’s representation of extensive parallel operations whereas traditional ones represents mostly serial operations. • The most common use of a HDL is to provide an alternative to schematics.
  • 7. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna System Architect HDL Sources Schematic Sources IP Simulation Scripts Test Vectors SIMULATE GOLDEN Model FPGA Designer ProjectSYNTHESIZE PLACE & ROUTE Constrain BITSTREAM HW Platform
  • 8. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Systems architect • Systems Architects divide large and complex systems into manageable subsystems that can be handled by individual engineers. • The Systems Architect's work MUST AVOID implementation issues, but concentrate on High level requirements. • The Systems Architect delivers a GOLDEN model and TEST vector to let the FPGA designers properly testing their work!!!
  • 9. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna FPGA Designer • The FPGA Designer is responsible to deliver a firmware that respect with a good approximation the high level model provided by the SA, on a real HW platform. • The FPGA Designer uses tools to SIMULATE, SYNTHESIZE, PLACE&ROUTE and DOWNLOAD, the FIRMWARE on the FPGA, and verify that the design woks as requested. • Any FPGA provider has is own tools: – XILINX: ISE, EDK, PlanAhead, Vivado, etc…. – ALTERA: Quartus, etc… • For SIMULATION and SYNTHESIZE there are also Third party tools
  • 10. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Design Entry As a designer create files and add them to your project (FPGA vendor specific), including a user constraints file. • Add any existing files to your project. • Assign constraints such as  timing constraints,  pin assignments,  area constraints.
  • 11. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Functional Verification • You can verify the functionality of your design at different points in the design flow as follows: Before synthesis, run behavioral simulation (also known as Register Transfer Level simulation); After Translate, run functional simulation (also known as gate-level simulation), using the specific vendor library; After device programming, run in-circuit verification.
  • 12. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Simulation
  • 13. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Simulation • HDL simulators are software packages that compile and simulate any HDL code (VHDL or/and Verilog, Schematic entry, Thrid part propietary Ips, etc….). • FPGA simulation can be performed  at an earlier stage to test the Behavior of the HDL code, and fix the algorithm function, as much as close to the provided model;  or after the technology P&R using specific vendor library, to verify the firmware without using the HW platform. • this tools support scripting languages (tlc, phyton,etc..) to improve the coverage of the testing; • It is necessary to write some additional HDL files (called TestBenches) to use provided test vector and emulate the interface to the real HW.
  • 14. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Design Synthesis • Logic synthesis is a process by which an abstract form of desired circuit behavior, typically RTL, is turned into a design implementation in terms of logic gates;  Logic optimization. Performs two-level or multi-level minimization of the Boolean equations to optimize area, delay, or a combination of both;
  • 15. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Design Implementation Implementation of a design includes the following steps: Translate to vendor specific library of technology components; Map: Transforms the Boolean equations into a circuit of FPGA logic blocks. This step also optimizes the total number of logic blocks required (area optimization) the number of logic blocks in time-critical paths (delay optimization).
  • 16. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Design Implementation Place and Route: Placement: selects the specific location for each logic block in the FPGA, while trying to minimize the total length of interconnect required; Routing. Connects the available FPGA’s routing resources with the logic blocks distributed inside the FPGA by the placement tool, carrying signals from where they are generated to where they are used.
  • 17. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Design Implementation Review reports generated by  Synthesize Report  Translate Report  Map Report  Place & Route Report and change any of the following to improve your design:  Process properties  Constraints  Source files  Synthesize and implement your design again until design requirements are met!!!!
  • 18. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Timing Verification You can verify the timing of your design at different points in the design flow. Run static timing analysis o After Map o After Place & Route And run timing simulation at the following points in the design flow: After Map (for a partial timing analysis of Logic and IO delays); After Place and Route (for full timing analysis of block and net delays).
  • 19. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna XILINX C-to-FPGA: VIVADO HLS The Vivado High-Level Synthesis compiler enables C, C++ and SystemC programs to be directly targeted into Xilinx devices without the need to manually create RTL.
  • 20. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna ALTERA C-to-FPGA: OpenCL The OpenCL standard is the first open, royalty-free, unified programming model for accelerating algorithms on heterogeneous systems. OpenCL allows the use of a C-based programming language for developing code across different platforms, such as central processing units (CPUs), graphic processing units (GPUs), digital signal processors (DSPs), and field-programmable gate arrays (FPGAs).
  • 21. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna Questions
  • 22. ESS | FPGA for Dummies | 2016-09-20 | Maurizio Donna

Notes de l'éditeur

  1. An FPGA is a type of integrated circuit (IC) that can be programmed for different algorithms after fabrication. Modern FPGA devices consist of up to two million logic cells that can be configured to implement a variety of software algorithms. Although the traditional FPGA design flow is more similar to a regular IC than a processor, an FPGA provides significant cost advantages in comparison to an IC development effort and offers the same level of performance in most cases. Another advantage of the FPGA when compared to the IC is its ability to be dynamically reconfigured. This process, which is the same as loading a program in a processor, can affect part or all of the resources available in the FPGA fabric.