Upload
pr0100tak
View
238
Download
4
Embed Size (px)
Citation preview
8/14/2019 FPGA Co-Processing for DSP
1/38
8/14/2019 FPGA Co-Processing for DSP
2/38
FPGA Co-Processing
for DSP
FPGA Co-Processing
for DSP
8/14/2019 FPGA Co-Processing for DSP
3/38
AgendaAgenda
Applications of FPGA-Based Co-Processors for
DSP
Development Tools & Methodologies Availablefrom Altera to Build Co-Processors
SOPC Builder
DSP Builder
FPGA Co-Processor Development Examples
QAM Modulator FIR Filter
8/14/2019 FPGA Co-Processing for DSP
4/38
Growing Demand for MIPS &
Memory Bandwidth
Growing Demand for MIPS &
Memory Bandwidth Growth Drivers
Algorithm Complexity
Security
Multiple Users
DigitalS
ignal
Processing(D
SP)MIPS&
MemoryBa
ndwidth
Time
Digital Signal
Processors
Application
Requirements
8/14/2019 FPGA Co-Processing for DSP
5/38
Dedicated HardwareArchitecture
DSP System Architecture OptionsDSP System Architecture Options
Performanc
e(MACs/S
ec)
DSP DSP DSP DSP
DSP DSP DSP DSP
DSP DSP DSP DSP
DSP DSP DSP DSP
Processor ArrayStand-AloneProcessor
DSP
Processor +Co-Processor
DSP
8/14/2019 FPGA Co-Processing for DSP
6/38
Exploring the DSP Design SpaceExploring the DSP Design Space
Digital Signal
ProcessorFarm
Digital SignalProcessor
withCo-Processor
ConventionalProcessor
AlteraFPGA
Co-Processor
AlteraFPGA with
Nios &Co-Processor
Digital Signal
Processor
Altera
FPGACo-Processor
AlteraFPGAAlgorithm
in Hardware
TheFlexibilityZone
CustomASIC
Performance
Digital SignalProcessor Conventional
Processor
Flexibility
8/14/2019 FPGA Co-Processing for DSP
7/38
Co-Processing on FPGAsCo-Processing on FPGAs
FIRFIR
NCO
IQMap
Processor External to FPGAProcessor External to FPGAProcessor on FPGAProcessor on FPGA
MemoryMemory
FPGAFPGA
MemoryMemoryNCO
FPGA
IQMap
MemoryMemory
Processor
Processor
8/14/2019 FPGA Co-Processing for DSP
8/38
Off-Loading Algorithms to Co-Processor ReducesNumber or Cost of Digital Signal Processors
Applications Algorithms with Large Amount of Digital Signal Processing &
Small Amount of Control Processing
When Do FPGA Co-Processors
Reduce System Cost?
When Do FPGA Co-Processors
Reduce System Cost?
Expensive Array
to DSP + FPGA
Expensive DSP to
Inexpensive DSP + FPGA
DSP DSP DSP DSP
DSP DSP DSP DSP
DSP DSP DSP DSP
DSP DSP DSP DSP
FIR
NCO
IQMap
MemoryMemory
DSP
MemoryMemory
DSP
$$$
8/14/2019 FPGA Co-Processing for DSP
9/38
FPGA Co-Processor ApplicationsFPGA Co-Processor Applications
Wireless
2.5-G EDGE Equalization
3-G Baseband Processing
HSDPA
1xEVDV
3-G RF Linearization
Consumer Broadcast - Studio & Cable
Plant
Digital Entertainment
MPEG2 & MPEG4
Medical
Imaging
Wireline Communications
Encryption
Framer
Traffic Management
TCP/IP
Computer & Storage
Data Analysis & RoutingEngine
Digital Imaging
Military & Aerospace Security
8/14/2019 FPGA Co-Processing for DSP
10/38
DSP Development
Tools & DesignMethodology
DSP Development
Tools & DesignMethodology
8/14/2019 FPGA Co-Processing for DSP
11/38
FPGA Co-Processor Design ToolsFPGA Co-Processor Design Tools
Dedicated HardwareArchitecture
Stand-AloneProcessor
Processor + Co-Processor
DSP BuilderDSP BuilderSOPC BuilderSOPC Builder
8/14/2019 FPGA Co-Processing for DSP
12/38
CreatesHDL Code
DSP BuilderDownloadDesign to
DevelopmentBoard
CreatesSimulation Test Bench
Verifyin
Hardware
CreatesProcessor
Plug-In
HDLSynthesis
DSP Builder OverviewDSP Builder Overview
8/14/2019 FPGA Co-Processing for DSP
13/38
DSP Builder Library ComponentsDSP Builder Library Components
Arithmetic
Bus Manipulation
Complex Signals
Logical Components
SOPC Ports
Storage
MegaCore IP Rate Change
State Machine
Altera Library DSP Board
8/14/2019 FPGA Co-Processing for DSP
14/38
MegaCore IP in DSP BuilderMegaCore IP in DSP Builder
DSP BuilderMegaCoreFunctions
FIR FFT Viterbi Turbo Reed Solomon NCO
DSP BuilderMegaCoreFunctions
FIR FFT
Viterbi Turbo Reed Solomon NCO
8/14/2019 FPGA Co-Processing for DSP
15/38
DSP Builder Support for Multiple
Clock Domains
DSP Builder Support for Multiple
Clock Domains Inherit Sampling Frequency (FS)
Adhere to Clock Design Rules All Sample Times Match One of
Phase-Locked Loops (PLLs)
Output Clock Periods
Simplify Analysis &
Implementation of
Multi-Rate System
Up Sampling
Down Sampling
8/14/2019 FPGA Co-Processing for DSP
16/38
State Machine BuilderState Machine Builder
8/14/2019 FPGA Co-Processing for DSP
17/38
Sub-System BuilderSub-System Builder
Import Existing VHDL Design into Simulink
Simulink Simulation Options
Convert into DSP Builder Blocks or MATLAB Functions
Treat VHDL Design as Black Box
8/14/2019 FPGA Co-Processing for DSP
18/38
Signal CompilerSignal Compiler
Generates VHDL Design Files
Generates Tool
Command Language
(Tcl) Scripts
Generates Testbench
Enables Parameterization
of IP Blocks
Launch Hardware
Compilation from
Simulink Cockpit
8/14/2019 FPGA Co-Processing for DSP
19/38
Stratix DSP Development BoardStratix DSP Development Board
AlteraNios
Expansion
PrototypeConnector
80-Pin I/O Connector
14-Bit,165-MHz D/A
PrototypingArea
12-Bit,125-MHz A/D Push-Button
SwitchesSMAConnector
9-Pin RS232Connector5-V PowerSupply
Texas Instruments Connectors CanBe Found on Underside of Board40-Pin Connector for AnalogDevices Evaluation Boards LEDs
8/14/2019 FPGA Co-Processing for DSP
20/38
Altera DSP Development KitsAltera DSP Development Kits
Contains Everything You Needto Develop High-Performance DSP
Designs on FPGAs
30-Day EvaluationVersion
System ReferenceDesigns
8/14/2019 FPGA Co-Processing for DSP
21/38
QAM Modulator Co-
Processor DesignExample
QAM Modulator Co-
Processor DesignExample
8/14/2019 FPGA Co-Processing for DSP
22/38
Modem Reference DesignModem Reference Design
Installed with Code Composer Studio As a Tutorial
C:\ti\tutorial\dsk6711\modem
Used to Demonstrate
CCS Functionality
16 QAM TX Modem
8/14/2019 FPGA Co-Processing for DSP
23/38
Modem Design Code ProfileModem Design Code Profile
8/14/2019 FPGA Co-Processing for DSP
24/38
Modem Design Hardware/ Software
PetitionMain100%
Initialize
3%Add Noise Signal
0.5%
Shaping Filter82%
Modulation 8%
Sine Lookup 2.5%
Cosine Lookup 2.5%
HardwareAccelerator
Modem Design Hardware/ Software
Petition
ModemTransmitter
96.5%
8/14/2019 FPGA Co-Processing for DSP
25/38
Modulator Co-ProcessorModulator Co-Processor
DSP Builder Used to Build Hardware DSP Data Path
8/14/2019 FPGA Co-Processing for DSP
26/38
Avalon Interface in SOPC BuilderAvalon Interface in SOPC Builder
DSP B ild SOPC B ild I t
8/14/2019 FPGA Co-Processing for DSP
27/38
Import DSP Builder Generated Co-Processorinto SOPC Builder
DSP Builder SOPC Builder ImportDSP Builder SOPC Builder Import
SOPC B ild I t ti
8/14/2019 FPGA Co-Processing for DSP
28/38
SOPC Builder IntegrationSOPC Builder Integration
Modem Co-Processor (fir_comp)Integrated with TI EMIF I/F (TIMaster)
8/14/2019 FPGA Co-Processing for DSP
29/38
FIR Filter Co-ProcessorDesign Example
FIR Filter Co-ProcessorDesign Example
D i i D S t C tD i i D S t C t
8/14/2019 FPGA Co-Processing for DSP
30/38
Driving Down System CostsDriving Down System Costs
Digital Signal Processor +
FPGA Co-Processor
Digital Signal Processor +
FPGA Co-Processor
Multi-Processing
DSP
DSP DSP
DSP DSPDSP DSPDSP DSP
FPGA
DSP
MemoryMemory
FPGA
FIRFIR
FIR C P D iFIR C P D i
8/14/2019 FPGA Co-Processing for DSP
31/38
FIR Co-Processor Design
Example
FIR Co-Processor Design
Example FIR Parameters
128-Tap
16-Bit Data, 14-Bit Coefficients
Four FIR Implementations for Comparison
TI C6711-Optimized TI DSPLib Function
TI C6416-Optimized TI DSPLib Function
Altera Eight-Cycle FIR Co-Processor
Altera One-Cycle FIR Co-Processor
TI Filt i Lib (DSP Lib)TI Filt i Lib (DSP Lib)
8/14/2019 FPGA Co-Processing for DSP
32/38
TI Filtering Library (DSP Lib)TI Filtering Library (DSP Lib)
C-Callable Optimized Assembly Routines
TI C67x DSPLib: Fir Filter (Radix 8)
Formula: Nh * Nr /2 + 13
Nh = Number of Coefficients
Nr = Number of Samples
~1 Sample/ 64 Cycles (128 Tap Filter)
TI C64x DSPLib: FIR Filter (Radix 8)
Formula: Nh * Nr/4 + 17
~ 1 Sample/ 32 Cycles (128 Tap Filter)
Filt C P D iFilter Co Processor Design
8/14/2019 FPGA Co-Processing for DSP
33/38
Filter Co-Processor Design
Example
Filter Co-Processor Design
Example Current Implementation
100 MHz, 32-Bit, Asynchronous EMIF on DSK
TI Writes 300 Samples to Co-Processor (Input Data)
Filter & Send Output to TI
C6000
DigitalSignalProcessor
External
MemoryI/
F
FPGA Co-Processor
TII/FCore
QDMA
In
putFIFO
FIR
C
ompiler
FIR Filter Example* 16XFIR Filter Example* 16X
8/14/2019 FPGA Co-Processing for DSP
34/38
FIR Filter Example 16XCost/Performance ImprovementFIR Filter Example 16XCost/Performance Improvement
1-Cycle***at 170 MHz
7-Cycles***at 200 MHz
32-Cycles**at 600 MHz
64-Cycles**at 200 MHz
Solution
$84
$14
$160
$24.59
DeviceCost****
170
28
18.75
3.125
FIR Performance(MHz)
AlteraEP1C12-8
AlteraEP1C3-8
TI C6416-600
TI C6713-200
Device
$0.50
$0.49
$8.53
$7.87
Cost perFIR MHz
* FIR 128 Tap, 16-Bit Data, 14-Bit Coefficients
** DSPLib Optimized Assembly Libraries from Texas Instruments
*** Optimized MegaCore FIR Compiler from Altera
**** Pricing in Quantity of 100 at Arrow 6/25/03
* FIR 128 Tap, 16-Bit Data, 14-Bit Coefficients
** DSPLib Optimized Assembly Libraries from Texas Instruments
*** Optimized MegaCore FIR Compiler from Altera
**** Pricing in Quantity of 100 at Arrow 6/25/03
14X Reduction in System Costs14X Reduction in System Costs
8/14/2019 FPGA Co-Processing for DSP
35/38
14X Reduction in System Costs14X Reduction in System Costs
DSP DSPDSP DSP
DSP DSPDSP DSP
FPGA
DSP
MemoryMemory
FPGA
FIRFIR
173
167
Total FIRPerformance
(MHz)
$84 +$25
9 *
$160
DeviceCosts
$110
$1,440
TotalCost
170 + 3
9 * 18.75
FIRPerformance
(MHz)
Altera EP1C12-8 +1 TI c6713-200
9 * TI C6416-600
Architecture
SummarySummary
8/14/2019 FPGA Co-Processing for DSP
36/38
SummarySummary
FPGA Co-Processors for DSP Offer ManyAdvantages 10X Performance Boost
More Channels
More Complex Algorithms
Increased System Throughput
10X Cost Reduction Fewer Components
Complementary to DSP-Based SystemsOffloads Existing DSP Integrates Into Existing DSP IDE
Evolution Not Revolution
Altera Code: DSP SolutionsAltera Code: DSP Solutions
8/14/2019 FPGA Co-Processing for DSP
37/38
Altera Code: DSP SolutionsAltera Code: DSP Solutions
FPGAs Stratix, Stratix GX, Cyclone
Development Tools
DSP Builder, SOPC Builder
Intellectual Property FIR, FFT, Viterbi, Turbo, Reed Solomon, NCO
AMPP Third-Party Partners
Development Kits Altera
Third-Parties
Design Services ACAP Third-Party Partners
Training
8/14/2019 FPGA Co-Processing for DSP
38/38