Professional Documents
Culture Documents
for DSP
Agenda
Applications of FPGA-Based Co-Processors for
DSP
Development Tools & Methodologies Available
from Altera to Build Co-Processors
− SOPC Builder
− DSP Builder
FPGA Co-Processor Development Examples
− QAM Modulator
− FIR Filter
Growing Demand for MIPS &
Memory Bandwidth
Application
Growth Drivers Requirements
− Algorithm Complexity
− Security
Processing (DSP) MIPS &
Processors
Digital Signal
Time
DSP System Architecture Options
DSP
DSP DSP DSP DSP
Altera
Conventional
FPGA
Digital Signal Processor
Co-Processor
Processor
with
Altera
Co-Processor FPGA with
Nios &
Co-Processor
Digital Signal
Processor
Farm Digital Signal
Processor Conventional
Processor
Flexibility
Co-Processing on FPGAs
Processor
Processor on
on FPGA
FPGA Processor
Processor External
External to
to FPGA
FPGA
FPGA
FPGA FPGA
FIR FIR
Processor
Processor IQ IQ
Map Map
NCO NCO
Memory
Memory Memory
Memory
Memory
Memory
When Do FPGA Co-Processors
Reduce System Cost?
Off-Loading Algorithms to Co-Processor Reduces
Number or Cost of Digital Signal Processors
DSP DSP DSP DSP
Expensive Array
DSP DSP DSP DSP
to DSP + FPGA
DSP DSP DSP DSP FIR
DSP DSP DSP DSP DSP
$$$ DSP IQ
Map
Expensive DSP to
Inexpensive DSP + FPGA NCO
Memory
Memory Memory
Memory
Applications
− Algorithms with Large Amount of Digital Signal Processing &
Small Amount of Control Processing
FPGA Co-Processor Applications
Wireless Wireline Communications
− 2.5-G EDGE Equalization − Encryption
− 3-G Baseband Processing − Framer
z HSDPA − Traffic Management
z 1xEVDV − TCP/IP
− 3-G RF Linearization
Computer & Storage
Consumer − Data Analysis & Routing
− Broadcast - Studio & Cable Engine
Plant − Digital Imaging
− Digital Entertainment –
Military & Aerospace
MPEG2 & MPEG4
Security
Medical
− Imaging
DSP Development
Tools & Design
Methodology
FPGA Co-Processor Design Tools
SOPC Builder DSP Builder
HDL
Synthesis
DSP Builder Library Components
Arithmetic
Bus Manipulation
Complex Signals
Logical Components
SOPC Ports
Storage
MegaCore® IP
Rate Change
State Machine
Altera Library
DSP Board
MegaCore IP in DSP Builder
DSP
DSP Builder
Builder
MegaCore®® Functions
MegaCore Functions
•• FIR
FIR
•• FFT
FFT
•• Viterbi
Viterbi
•• Turbo
Turbo
•• Reed
Reed Solomon
Solomon
•• NCO
NCO
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
State Machine Builder
Sub-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
Signal Compiler
Generates VHDL Design Files
Generates Tool
Command Language
(Tcl) Scripts
Generates Testbench
Enables Parameterization
of IP Blocks
Launch Hardware
Compilation from
Simulink Cockpit
Stratix DSP Development Board
80-Pin I/O Connector
Altera® Nios®
Expansion
14-Bit, Prototype
165-MHz D/A Connector
Prototyping
Area
12-Bit,
125-MHz A/D Push-Button
Switches
SMA
Connector
9-Pin RS232
5-V Power
Connector
Supply
30-Day Evaluation
Version
System Reference
Designs
QAM Modulator Co-
Processor Design
Example
Modem Reference Design
Installed with Code Composer Studio As a Tutorial
− C:\ti\tutorial\dsk6711\modem
Used to Demonstrate
CCS Functionality
16 QAM TX Modem
Modem Design Code Profile
Modem Design Hardware/ Software
Petition
Main
100%
Hardware
Accelerator
Modem
Transmitter Shaping Filter 82%
96.5%
Modulation 8%
FPGA
FPGA
DSP DSP FIR
DSP DSP FIR
DSP DSP
DSP DSP DSP
Memory
Memory
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 Filtering Library (DSP Lib)
C-CallableOptimized Assembly Routines
TI C67x DSPLib: Fir Filter (Radix 8)
− Formula: Nh * Nr /2 + 13
z Nh = Number of Coefficients
z Nr = Number of Samples
C6000
Input FIFO
Compiler
Digital
Memory I/F
TI I/F Core
External
FIR
Signal
QDMA
Processor
FPGA Co-Processor
FIR Filter Example* – 16X
Cost/Performance Improvement
Device Solution FIR Performance Device Cost per
(MHz) Cost**** FIR MHz