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

Xilinx lca and altera flex
Xilinx lca and altera flexXilinx lca and altera flex
Xilinx lca and altera flex
anishgoel
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
Subhash Iyer
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
dragonpradeep
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
Iffat Anjum
 
FPGA
FPGAFPGA
Vlsi design flow
Vlsi design flowVlsi design flow
Vlsi design flow
Rajendra Kumar
 
ASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENTASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENT
helloactiva
 
Low Power VLSI Design
Low Power VLSI DesignLow Power VLSI Design
Low Power VLSI Design
Mahesh Dananjaya
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
ranvirsingh
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
Usha Mehta
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
Arrow Devices
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool Terminalogy
Murali Rai
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
Neha Agarwal
 
Vlsi Synthesis
Vlsi SynthesisVlsi Synthesis
Vlsi Synthesis
SIVA NAGENDRA REDDY
 
42 PPT-5 BOUNDARY SCAN....pptx
42 PPT-5 BOUNDARY SCAN....pptx42 PPT-5 BOUNDARY SCAN....pptx
42 PPT-5 BOUNDARY SCAN....pptx
saisudheerkotta
 
fpga programming
fpga programmingfpga programming
fpga programming
Anish Gupta
 
SOC design
SOC design SOC design
Clock Tree Timing 101
Clock Tree Timing 101Clock Tree Timing 101
Clock Tree Timing 101
Silicon Labs
 
Altera flex
Altera flexAltera flex
Altera flex
Sharmil Nila
 
Physical design
Physical design Physical design
Physical design
Mantra VLSI
 

What's hot (20)

Xilinx lca and altera flex
Xilinx lca and altera flexXilinx lca and altera flex
Xilinx lca and altera flex
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 
Fpga(field programmable gate array)
Fpga(field programmable gate array) Fpga(field programmable gate array)
Fpga(field programmable gate array)
 
FPGA
FPGAFPGA
FPGA
 
Vlsi design flow
Vlsi design flowVlsi design flow
Vlsi design flow
 
ASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENTASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENT
 
Low Power VLSI Design
Low Power VLSI DesignLow Power VLSI Design
Low Power VLSI Design
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool Terminalogy
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
Vlsi Synthesis
Vlsi SynthesisVlsi Synthesis
Vlsi Synthesis
 
42 PPT-5 BOUNDARY SCAN....pptx
42 PPT-5 BOUNDARY SCAN....pptx42 PPT-5 BOUNDARY SCAN....pptx
42 PPT-5 BOUNDARY SCAN....pptx
 
fpga programming
fpga programmingfpga programming
fpga programming
 
SOC design
SOC design SOC design
SOC design
 
Clock Tree Timing 101
Clock Tree Timing 101Clock Tree Timing 101
Clock Tree Timing 101
 
Altera flex
Altera flexAltera flex
Altera flex
 
Physical design
Physical design Physical design
Physical design
 

Similar to 4.FPGA for dummies: Design Flow

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
NECST Lab @ Politecnico di Milano
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
venkatasuman1983
 
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 Elixir
Hideki Takase
 
Christopher_Reder_2016
Christopher_Reder_2016Christopher_Reder_2016
Christopher_Reder_2016
Christopher Reder
 
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
CA 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 FPGAs
Amazon Web Services
 
Efabless Marketplace webinar slides 2024
Efabless Marketplace webinar slides 2024Efabless Marketplace webinar slides 2024
Efabless Marketplace webinar slides 2024
Nobin Mathew
 
FEL Flyer F12
FEL Flyer F12FEL Flyer F12
FEL Flyer F12
chitlesh
 
FPGA Design Challenges
FPGA Design ChallengesFPGA Design Challenges
FPGA Design Challenges
Krishna Gaihre
 
OliverStoneResume2015-2
OliverStoneResume2015-2OliverStoneResume2015-2
OliverStoneResume2015-2
Oliver Stone
 
OliverStoneSWResume2015-05
OliverStoneSWResume2015-05OliverStoneSWResume2015-05
OliverStoneSWResume2015-05
Oliver 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.pdf
S2C Limited
 
Rashmi_Palakkal_CV
Rashmi_Palakkal_CVRashmi_Palakkal_CV
Rashmi_Palakkal_CV
Rashmi Bangalore
 
SoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~EmbeddedSoC~FPGA~ASIC~Embedded
SoC~FPGA~ASIC~Embedded
Chili.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
 
J044084349
J044084349J044084349
J044084349
IJERA Editor
 
module 1-2 - Design Methods, parameters and examples.pptx
module 1-2 - Design Methods, parameters and examples.pptxmodule 1-2 - Design Methods, parameters and examples.pptx
module 1-2 - Design Methods, parameters and examples.pptx
Maaz609108
 
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
ESUG
 
Electronic Hardware Design with FPGA
Electronic Hardware Design with FPGAElectronic Hardware Design with FPGA
Electronic Hardware Design with FPGA
Krishna Gaihre
 

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
 
Efabless Marketplace webinar slides 2024
Efabless Marketplace webinar slides 2024Efabless Marketplace webinar slides 2024
Efabless Marketplace webinar slides 2024
 
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
 
module 1-2 - Design Methods, parameters and examples.pptx
module 1-2 - Design Methods, parameters and examples.pptxmodule 1-2 - Design Methods, parameters and examples.pptx
module 1-2 - Design Methods, parameters and examples.pptx
 
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
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

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.