SlideShare une entreprise Scribd logo
1  sur  32
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA for
Dummies
Modern FPGA architecture
ESS | FPGA for Dummies | 2015-12-08 | 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 | 2015-12-08 | 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-08-30| Maurizio Donna
Field Programmable Gate Arrays
(FPGAs)
FPGAs initially were Similar to CPLDs, so a function to be
implemented in FPGA is partitioned into modules (each
implemented in a logic block) and then the logic blocks are
connected with the programmable interconnection: ARRAY of
logic GATES is the G and A in FPGA.
By way of a configuration file or bit stream, an FPGA can be
configured to implement the user’s desired function: this allows
customization at the user’s electronics bench, or even in the
final end product.
This is why FPGAs are FIELD PROGRAMMABLE.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
The basic structure of an FPGA is
composed of the following elements:
 Look-up table (LUT): This element
performs logic operations
 Flip-Flop (FF): This register
element stores the result of the
LUT
 Wires: These elements connect
elements to one another, both
Logic and clock
 Input/Output (I/O) pads: These
physically available ports get
signals in and out of the FPGA.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
ESS | FPGA for Dummies | 2016-08-30| 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-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: memory
Using LUTs as registers does not provide enough
space or versatility, so the FPGA fabric includes
embedded memory elements that can be used
as random-access memory (RAM), read-only
memory (ROM), or shift registers. These
elements are block RAMs (BRAMs), LUTs, and
shift registers.
Using LUTs (logic) as a memories, is called
DISTRIBUTE RAM (more Granularity)
Included dedicated RAM components in the FPGA fabric are called
BLOCKs RAM
For large data storage, are available instead hard/soft memory controllers that
commercial memory standard (DDR, cubiq-memory, etc…)
EXTERNAL MEMORY (more Capacity)
Logic
block
Logic
block
Block
RAM
Block
RAM
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: memory
Single-Port
Block RAM
True Dual-Port
Block RAM
Simple Dual-Port
Block RAM
Block RAM Cascading
Example: Cascade block RAMs to build
bigger memory
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: memory
FIFO means First-In First-Out.
A FIFO is a structure used in hardware or software application when you need to
buffer data, and/or move data between different clock domain.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components:
Off-chip memory controllers
FPGA devices provide memory interface support, including serial and
parallel interfaces.
 Serial memory: Hybrid Memory Cube (HMC) is the latest technology;
 Parallel Memory: latest devices offer parallel memory support up to
high rate for DDR4 and supports a wide range of other protocols like
o DDR3 / DDR3L, LPDDR3;
o DDR2;
o Mobile DRAMs;
o QDRII+ SRAM;
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: clocking
All synchronous designs need at least one external clock reference,
many designs require several clock sources!!!
In FPGA there are several layers of metallization to interconnect the
Logic, and there are special one to distribute the clocks to all the Flip
Flops (FF).
Modern applications have complex clocking requirements:
 Extremely high-performance clock signals;
 Support for multiple frequency domains across a wide frequency
range;
 De-skewing of clocks relative to one another;
 Low jitter and precise duty cycle to maintain the widest possible
data valid window;
 Lowest possible system power
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: clocking
A Phase Lock Loop (PLL) is a control system that uses a Controlled
Voltage Oscillator (VCO) to generates an output signal whose phase is
related to the phase of an input signal;
A Delay-Locked Loop (DLL) is similar to a PLL but instead of the VCO
to vary the frequency, introduce fixed delay to change the phase;
Both components could replicate and/or generate new clocks
combination, according to the input clock frequency.
PLL are more “clear” than DLL, but DLL are easier to integrate in logic
than PLL.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: High Speed
Tranceivers
To communicate between FPGAs or
to other devices, it’s more convenient
to use high speed differential
connection instead of parallel one, to
reduce noise spikes.
Many standard protocol use this
approach for the physical layer:
Fibre Channel, InfiniBand, PCI
Express, RapidIO, SkyRail ,
Gigabit Ethernet, etc…
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: High Speed
Tranceivers
 TX: From the FPGA
fabric a parallel bus is
encoded to increase the
robustness against the
noise and to reduce the
DC component and then
serialized;
 RX: the received
differential signal is used
to reconstruct the clock,
and then decoded and
re-parallelized.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: multiplier
XILINX Spartan 3 (2004) include on
the side of each BRAM a multiplier
block (18x18)
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: multiplier
Altera Cyclone II (2005) has one to three columns of
embedded multipliers; each embedded multiplier
can be configured to support :
 One 18 x 18 multiplier
 Two 9 x 9 multipliers
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: XtremeDSP
Starting with Virtex 4 family (2005),
Xilinx introduced DSP48 block for
high-speed DSP on FPGAs
Essentially a multiply-accumulate
core with many other features
x
+
x
+
A[n:0]
B[n:0] Y[(2n - 1):0]
Multiplier
Adder
Accumulator
MAC
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: XtremeDSP
Adder Out = (Z ± (X + Y + CIN))
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: DSP unit
Also Altera include in the Stratix III family (2006) a similar DSP Unit.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Architecture
These additional elements, which are discussed in the following
sections, are:
 Embedded memories for distributed data storage;
 Phase-locked loops (PLLs) for driving the FPGA fabric at different
clock rates;
 High-speed serial transceivers;
 Off-chip memory controllers;
 Multiply-accumulate blocks;
 Embedded processors.
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: Embedded
Microprocessor Cores
Xilinx Virtex-II Pro (2002)
includes a PowerPC™ 405
Core in the chip (
1. Processor Block
2. RocketIO Multi-Gigabit
Transceivers
3. Configurable Logic
4. IO
5. Digital Clock Managers
6. Multipliers and Block
SelectRAM
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: Embedded
Microprocessor Cores
Xilinx Zynq (2013) is an Innovative
ARM® + FPGA architecture for
differentiation, analytics & control.
 Zynq-7000 SoC uses a Dual-core
ARM® Cortex™-A9 MPCore™ with
CoreSight™ up to 1GHz;
 Zynq UltraScale+ MPSoC uses a
Quad-core ARM® Cortex™-A53
MPCore up to 1.5GHz with a Real-
Time Processing Unit - Dual-
core ARM® Cortex™-R5 MPCore
up to 600MHz
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
FPGA Components: Embedded
Microprocessor Cores
Also Altera has ARM® +
FPGA architectures:
 Arria 10 SoCs, includes a
dual-core ARM® Cortex™-
A9 MPCore™ hard
processor system (HPS);
 Stratix 10 FPGA and SoC
system includes ad-core 64
bit ARM® Cortex®-A53 hard
processor system up to 1.5
GHz;
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna
Questions
ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna

Contenu connexe

Tendances

Programmable logic devices
Programmable logic devicesProgrammable logic devices
Programmable logic devices
Ammara Javed
 
programmable logic devices part 1
programmable logic devices part 1programmable logic devices part 1
programmable logic devices part 1
Kundan Gupta
 
Advance hdl design training on xilinx fpga
Advance hdl design training on xilinx fpgaAdvance hdl design training on xilinx fpga
Advance hdl design training on xilinx fpga
demon_2M
 
Programmable array logic
Programmable array logicProgrammable array logic
Programmable array logic
Gaditek
 
programmable_devices_en_02_2014
programmable_devices_en_02_2014programmable_devices_en_02_2014
programmable_devices_en_02_2014
Svetozar Jovanovic
 
FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014
Ibrahim Hejab
 

Tendances (20)

Programmable logic devices
Programmable logic devicesProgrammable logic devices
Programmable logic devices
 
CPLDs
CPLDsCPLDs
CPLDs
 
Unit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA ArchitectureUnit VI CPLD-FPGA Architecture
Unit VI CPLD-FPGA Architecture
 
programmable logic array
programmable logic arrayprogrammable logic array
programmable logic array
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
programmable logic devices part 1
programmable logic devices part 1programmable logic devices part 1
programmable logic devices part 1
 
Flash memory
Flash memoryFlash memory
Flash memory
 
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
 
Advance hdl design training on xilinx fpga
Advance hdl design training on xilinx fpgaAdvance hdl design training on xilinx fpga
Advance hdl design training on xilinx fpga
 
Fpga
FpgaFpga
Fpga
 
Programmable array logic
Programmable array logicProgrammable array logic
Programmable array logic
 
programmable_devices_en_02_2014
programmable_devices_en_02_2014programmable_devices_en_02_2014
programmable_devices_en_02_2014
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 
SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 
CPLDs
CPLDsCPLDs
CPLDs
 
FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014FPGA_Overview_Ibr_2014
FPGA_Overview_Ibr_2014
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
Seminar on field programmable gate array
Seminar on field programmable gate arraySeminar on field programmable gate array
Seminar on field programmable gate array
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
 

Similaire à 2.FPGA for dummies: modern FPGA architecture

FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
rahul kumar verma
 

Similaire à 2.FPGA for dummies: modern FPGA architecture (20)

SoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based socSoC - altera's user-customizable arm-based soc
SoC - altera's user-customizable arm-based soc
 
Programmable Hardware - An Overview
Programmable Hardware - An OverviewProgrammable Hardware - An Overview
Programmable Hardware - An Overview
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application
 
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONSFIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
 
FPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and HowFPGAs for Supercomputing: The Why and How
FPGAs for Supercomputing: The Why and How
 
FPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIESFPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIES
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentation
 
VLSI design Dr B.jagadeesh UNIT-5.pptx
VLSI design Dr B.jagadeesh   UNIT-5.pptxVLSI design Dr B.jagadeesh   UNIT-5.pptx
VLSI design Dr B.jagadeesh UNIT-5.pptx
 
Asic vs fpga
Asic vs fpgaAsic vs fpga
Asic vs fpga
 
Fpga 03-cpld-and-fpga
Fpga 03-cpld-and-fpgaFpga 03-cpld-and-fpga
Fpga 03-cpld-and-fpga
 
A Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate ArraysA Primer on FPGAs - Field Programmable Gate Arrays
A Primer on FPGAs - Field Programmable Gate Arrays
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
4_BIT_ALU
4_BIT_ALU4_BIT_ALU
4_BIT_ALU
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
 
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
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
 
FPGAs memory synchronization and performance evaluation using the open compu...
FPGAs memory synchronization and performance evaluation  using the open compu...FPGAs memory synchronization and performance evaluation  using the open compu...
FPGAs memory synchronization and performance evaluation using the open compu...
 
Lecture Slide (1).pptx
Lecture Slide (1).pptxLecture Slide (1).pptx
Lecture Slide (1).pptx
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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?
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
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)
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

2.FPGA for dummies: modern FPGA architecture

  • 1. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA for Dummies Modern FPGA architecture
  • 2. ESS | FPGA for Dummies | 2015-12-08 | 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 | 2015-12-08 | 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-08-30| Maurizio Donna Field Programmable Gate Arrays (FPGAs) FPGAs initially were Similar to CPLDs, so a function to be implemented in FPGA is partitioned into modules (each implemented in a logic block) and then the logic blocks are connected with the programmable interconnection: ARRAY of logic GATES is the G and A in FPGA. By way of a configuration file or bit stream, an FPGA can be configured to implement the user’s desired function: this allows customization at the user’s electronics bench, or even in the final end product. This is why FPGAs are FIELD PROGRAMMABLE.
  • 5. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture The basic structure of an FPGA is composed of the following elements:  Look-up table (LUT): This element performs logic operations  Flip-Flop (FF): This register element stores the result of the LUT  Wires: These elements connect elements to one another, both Logic and clock  Input/Output (I/O) pads: These physically available ports get signals in and out of the FPGA.
  • 6. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture
  • 7. ESS | FPGA for Dummies | 2016-08-30| 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.
  • 8. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 9. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 10. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: memory Using LUTs as registers does not provide enough space or versatility, so the FPGA fabric includes embedded memory elements that can be used as random-access memory (RAM), read-only memory (ROM), or shift registers. These elements are block RAMs (BRAMs), LUTs, and shift registers. Using LUTs (logic) as a memories, is called DISTRIBUTE RAM (more Granularity) Included dedicated RAM components in the FPGA fabric are called BLOCKs RAM For large data storage, are available instead hard/soft memory controllers that commercial memory standard (DDR, cubiq-memory, etc…) EXTERNAL MEMORY (more Capacity) Logic block Logic block Block RAM Block RAM
  • 11. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: memory Single-Port Block RAM True Dual-Port Block RAM Simple Dual-Port Block RAM Block RAM Cascading Example: Cascade block RAMs to build bigger memory
  • 12. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: memory FIFO means First-In First-Out. A FIFO is a structure used in hardware or software application when you need to buffer data, and/or move data between different clock domain.
  • 13. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 14. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: Off-chip memory controllers FPGA devices provide memory interface support, including serial and parallel interfaces.  Serial memory: Hybrid Memory Cube (HMC) is the latest technology;  Parallel Memory: latest devices offer parallel memory support up to high rate for DDR4 and supports a wide range of other protocols like o DDR3 / DDR3L, LPDDR3; o DDR2; o Mobile DRAMs; o QDRII+ SRAM;
  • 15. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 16. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: clocking All synchronous designs need at least one external clock reference, many designs require several clock sources!!! In FPGA there are several layers of metallization to interconnect the Logic, and there are special one to distribute the clocks to all the Flip Flops (FF). Modern applications have complex clocking requirements:  Extremely high-performance clock signals;  Support for multiple frequency domains across a wide frequency range;  De-skewing of clocks relative to one another;  Low jitter and precise duty cycle to maintain the widest possible data valid window;  Lowest possible system power
  • 17. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: clocking A Phase Lock Loop (PLL) is a control system that uses a Controlled Voltage Oscillator (VCO) to generates an output signal whose phase is related to the phase of an input signal; A Delay-Locked Loop (DLL) is similar to a PLL but instead of the VCO to vary the frequency, introduce fixed delay to change the phase; Both components could replicate and/or generate new clocks combination, according to the input clock frequency. PLL are more “clear” than DLL, but DLL are easier to integrate in logic than PLL.
  • 18. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 19. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: High Speed Tranceivers To communicate between FPGAs or to other devices, it’s more convenient to use high speed differential connection instead of parallel one, to reduce noise spikes. Many standard protocol use this approach for the physical layer: Fibre Channel, InfiniBand, PCI Express, RapidIO, SkyRail , Gigabit Ethernet, etc…
  • 20. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: High Speed Tranceivers  TX: From the FPGA fabric a parallel bus is encoded to increase the robustness against the noise and to reduce the DC component and then serialized;  RX: the received differential signal is used to reconstruct the clock, and then decoded and re-parallelized.
  • 21. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 22. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: multiplier XILINX Spartan 3 (2004) include on the side of each BRAM a multiplier block (18x18)
  • 23. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: multiplier Altera Cyclone II (2005) has one to three columns of embedded multipliers; each embedded multiplier can be configured to support :  One 18 x 18 multiplier  Two 9 x 9 multipliers
  • 24. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: XtremeDSP Starting with Virtex 4 family (2005), Xilinx introduced DSP48 block for high-speed DSP on FPGAs Essentially a multiply-accumulate core with many other features x + x + A[n:0] B[n:0] Y[(2n - 1):0] Multiplier Adder Accumulator MAC
  • 25. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: XtremeDSP Adder Out = (Z ± (X + Y + CIN))
  • 26. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: DSP unit Also Altera include in the Stratix III family (2006) a similar DSP Unit.
  • 27. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Architecture These additional elements, which are discussed in the following sections, are:  Embedded memories for distributed data storage;  Phase-locked loops (PLLs) for driving the FPGA fabric at different clock rates;  High-speed serial transceivers;  Off-chip memory controllers;  Multiply-accumulate blocks;  Embedded processors.
  • 28. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: Embedded Microprocessor Cores Xilinx Virtex-II Pro (2002) includes a PowerPC™ 405 Core in the chip ( 1. Processor Block 2. RocketIO Multi-Gigabit Transceivers 3. Configurable Logic 4. IO 5. Digital Clock Managers 6. Multipliers and Block SelectRAM
  • 29. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: Embedded Microprocessor Cores Xilinx Zynq (2013) is an Innovative ARM® + FPGA architecture for differentiation, analytics & control.  Zynq-7000 SoC uses a Dual-core ARM® Cortex™-A9 MPCore™ with CoreSight™ up to 1GHz;  Zynq UltraScale+ MPSoC uses a Quad-core ARM® Cortex™-A53 MPCore up to 1.5GHz with a Real- Time Processing Unit - Dual- core ARM® Cortex™-R5 MPCore up to 600MHz
  • 30. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna FPGA Components: Embedded Microprocessor Cores Also Altera has ARM® + FPGA architectures:  Arria 10 SoCs, includes a dual-core ARM® Cortex™- A9 MPCore™ hard processor system (HPS);  Stratix 10 FPGA and SoC system includes ad-core 64 bit ARM® Cortex®-A53 hard processor system up to 1.5 GHz;
  • 31. ESS | FPGA for Dummies | 2016-08-30| Maurizio Donna Questions
  • 32. ESS | FPGA for Dummies | 2016-08-30| 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.
  2. 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.
  3. Typical FIFO FPGA or ASIC hardware architecture is implemented using a DUAL-PORT RAM write counter to address the write side of the RAM read counter to address the write side of the RAM control logic aiming to update the write counter, at each write data into the RAM, and the read counter, every time a data is read from RAM. Moreover, the control logic shall drive the FIFO flag FIFO-Empty: flags no data is present inside the FIFO RAM FIFO-Full: no data can be written to FIFO memory FIFO-Almost Empty/Full: if required A typical use of the FIFO-Almost Empty flags is when the FIFO is used in order to buffer input data stream of a device where the input and output data throughput is the same but the timing is different: Input as burst data; Output as continuous data. The FIFO is used to buffer the minimum number of burst data in order to guarantee continuous reading from FIFO without interruption. In this case, the FIFO Read Control Logic block check for almost empty flag going high and set FIFO read control signal to read continuously from FIFO.