SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot (20)

Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
PLDs
PLDsPLDs
PLDs
 
Overview of digital design with Verilog HDL
Overview of digital design with Verilog HDLOverview of digital design with Verilog HDL
Overview of digital design with Verilog HDL
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Unit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA ArchitectureUnit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA Architecture
 
Michael john sebastian smith application-specific integrated circuits-addison...
Michael john sebastian smith application-specific integrated circuits-addison...Michael john sebastian smith application-specific integrated circuits-addison...
Michael john sebastian smith application-specific integrated circuits-addison...
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentation
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
System partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSystem partitioning in VLSI and its considerations
System partitioning in VLSI and its considerations
 
VLSI routing
VLSI routingVLSI routing
VLSI routing
 
Actel fpga
Actel fpgaActel fpga
Actel fpga
 
Asic design flow
Asic design flowAsic design flow
Asic design flow
 
ASIC VS FPGA.ppt
ASIC VS FPGA.pptASIC VS FPGA.ppt
ASIC VS FPGA.ppt
 
Logic Synthesis
Logic SynthesisLogic Synthesis
Logic Synthesis
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
 
ASIC DESIGN FLOW
ASIC DESIGN FLOWASIC DESIGN FLOW
ASIC DESIGN FLOW
 
Asic design
Asic designAsic design
Asic design
 
Basics Of VLSI
Basics Of VLSIBasics Of VLSI
Basics Of VLSI
 

Similar to 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
 

Similar to 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
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
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
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
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
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
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
 

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

Editor's Notes

  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.