What is Signal Processing?What is Signal Processing?
�� Example of Signals:Example of Signals:�� Analog: Speech, Music, Photos, Video, radar, Analog: Speech, Music, Photos, Video, radar,
sonar, sonar, ……
�� DiscreteDiscrete--domain/Digital: domain/Digital: �� digitized speech, digitized music, digitized images, digitized speech, digitized music, digitized images,
digitized video, digitized radar and sonar signals,digitized video, digitized radar and sonar signals,……
�� stock market data, daily max temperature data, ...stock market data, daily max temperature data, ...
ProcessingSignal in Signal out
Operation, Transformation
(Analog or Digital) (Analog or Digital)
�� But what about analog signals? But what about analog signals?
Digital ProcessingDigital Signal in Digital Signal out
Operation, Transformation performedon digital signals (using a computer or other special-purpose digital hardware)
Analog Signal
in
Analog-to-Digital (A/D)Conversion
Digital ProcessingDigital-to-Analog (D/A)Conversion
What is Digital Signal Processing?What is Digital Signal Processing?
Step 1: Analog sensor picking analog signal (i.e: microphone picking sound)
Step 2: Analog to Digital Converter
Step 3: DSP processes the digital signals (e.g., compression, noise suppression)
Step 4: Digital to analog converter to recover the analog signal
Typical ScenarioTypical Scenario
�� DSP = Digital Signal ProcessingDSP = Digital Signal Processing
OROR
DSP = Digital Signal Processor?DSP = Digital Signal Processor?
�� DSP used to denote both DSP used to denote both �� meaning can be deduced from the context in which meaning can be deduced from the context in which
the term DSP is used.the term DSP is used.
�� What is a Digital Signal Processor (DSP)?What is a Digital Signal Processor (DSP)?�� Microprocessor specifically designed to perform fast Microprocessor specifically designed to perform fast
DSP operations (e.g., Fast Fourier Transforms, DSP operations (e.g., Fast Fourier Transforms, Multiply, Divide, Multiply & AccumulateMultiply, Divide, Multiply & Accumulate--MAC)MAC)
What is DSP?What is DSP?
A Typical DSP SystemA Typical DSP System
�� DSP ChipDSP Chip
�� MemoryMemory
�� Converters (Optional)Converters (Optional)�� Analog to DigitalAnalog to Digital
�� Digital to AnalogDigital to Analog
�� Communication PortsCommunication Ports�� SerialSerial
�� ParallelParallel
DSP
MEMORY
ADC
PORTS
DAC
Digital ComputersDigital Computers
STORED
PROGRAM
AND
DATA
ARITHMETIC
LOGIC
UNIT
INPUT/
OUTPUT
von Neuman Machine
Harvard Architecture
STORED
PROGRAM
ARITHMETIC
LOGIC
UNIT
INPUT/
OUTPUTSTORED
DATA
A
DD
D
AA
A = ADDRESS
D = DATA
‘C5510: The high runner ‘C55x DSP
VC5510 Device Specific Information
��128 Channels Each128 Channels Each
��240 Ball, 240 Ball, 15x15u*BGA15x15u*BGA
��PackagePackage
��24 24 KByteKByte CacheCache
��Connect PeripheralsConnect Peripherals��directly to the DSPdirectly to the DSP��8 GP I/O 8 GP I/O
LinesLines
��Easier DebugEasier Debug��Advanced Advanced EmulationEmulation
��Supports Cheaper Supports Cheaper & Faster Memories& Faster Memories
��External External Memory Memory
Interface (EMIF)Interface (EMIF)
��Enhanced HPIEnhanced HPI ��1616--bitbit
��160 KW SRAM160 KW SRAM�� 16 KW ROM16 KW ROM
��3 Multi3 Multi--channel channel Buffered Buffered
Serial PortsSerial Ports
��PackagePackage
�� II--CacheCache
��8 GP I/O 8 GP I/O LinesLines
��Advanced Advanced EmulationEmulation
��ExternalMemoryExternalMemoryInterface (EMIF)Interface (EMIF)
��Enhanced HPIEnhanced HPI
��SixSix--channelchannel��DMADMA
��OnOn--Chip MemoryChip Memory
Why Go Digital?Why Go Digital?
�� Programmability Programmability �� One hardware can perform several tasks.One hardware can perform several tasks.
�� Upgradeability and flexibility.Upgradeability and flexibility.�� DEVELOP NEW CODE UPGRADEDEVELOP NEW CODE UPGRADE
�� ANALOG SOLDER NEW COMPONENTANALOG SOLDER NEW COMPONENT
LOW-PASS FILTER
MOTOR CONTROL
SOFTWARE 1
SOFTWARE 2
SOFTWARE N
SAME
HARDWARE.. ..
STABILITY AND REPEATABILITYSTABILITY AND REPEATABILITY
�� ANALOG CIRCUITS ARE AFFECTED BYANALOG CIRCUITS ARE AFFECTED BY
�� TEMPERATURETEMPERATURE
�� AGINGAGING
�� TOLERANCE OF COMPONENTSTOLERANCE OF COMPONENTS
�� TWO ANALOG SYSTEMSTWO ANALOG SYSTEMS
�� USING SAME DESIGNUSING SAME DESIGN
�� USING SAME COMPONENTSUSING SAME COMPONENTS
�� MAY DIFFER IN PERFORMANCEMAY DIFFER IN PERFORMANCE
DIGITAL REPEATABILITYDIGITAL REPEATABILITY
�� PERFECT REPRODUCIBILITYPERFECT REPRODUCIBILITY�� NEARLY IDENTICAL PERFORMANCE FROM UNIT TO UNITNEARLY IDENTICAL PERFORMANCE FROM UNIT TO UNIT
�� COMPONENT TOLERANCES DO NOT AFFECT PERFORMANCECOMPONENT TOLERANCES DO NOT AFFECT PERFORMANCE
�� NO DRIFT IN PERFORMANCE DUE TO TEMPERATURE OR AGINGNO DRIFT IN PERFORMANCE DUE TO TEMPERATURE OR AGING
�� GUARANTEED ACCURACYGUARANTEED ACCURACY
A CD PLAYER ALWAYS PLAYS THE SAME MUSIC QUALITY
PerformancePerformance
Some special functions are best implemented Some special functions are best implemented
digitallydigitally
f
f1 f2
phase
frequency
gain
frequency
� Lossless Compression
� Linear Phase Filters� Adaptive Filters
Analog AdvantagesAnalog Advantages
�� Low cost and simplicity in some applicationsLow cost and simplicity in some applications
–– Attenuators/amplifiersAttenuators/amplifiers
–– Simple filtersSimple filters
�� Wide bandwidth (GHz)Wide bandwidth (GHz)
�� Low signal levelsLow signal levels
�� Infinite effective sampling rateInfinite effective sampling rate
–– Infinite resolution in frequencyInfinite resolution in frequency
–– No aliasing/reconstruction issuesNo aliasing/reconstruction issues
�� Infinite resolution in amplitudeInfinite resolution in amplitude
–– No No quantitationquantitation noisenoise
Digital Signal Processing Digital Signal Processing
(DSP) Advantages(DSP) Advantages�� RepeatabilityRepeatability
–– Low sensitivity to component tolerancesLow sensitivity to component tolerances
–– Low sensitivity to temperature changesLow sensitivity to temperature changes
–– Low sensitivity to aging effectsLow sensitivity to aging effects
–– Nearly identical performance from unit to unitNearly identical performance from unit to unit
–– Matched circuits cost lessMatched circuits cost less
�� High noise immunityHigh noise immunity
�� In many applications DSP offers higher In many applications DSP offers higher
performance and lower costperformance and lower cost
–– CD players versus phonographic turntableCD players versus phonographic turntable
AnalogAnalog’’s Place in DSPs Place in DSP
�� Most transducers are analog by natureMost transducers are analog by nature
–– Microphones, speakers, etc.Microphones, speakers, etc.
�� Analog circuits are required to preAnalog circuits are required to pre--process process
low level signals before ADClow level signals before ADC
�� Analog filters may be required to limit the Analog filters may be required to limit the
bandwidth of signalsbandwidth of signals
–– AntiAnti--alias (before ADC) and reconstruction filters alias (before ADC) and reconstruction filters
(after DAC)(after DAC)
�� Analog circuits may be required to drive Analog circuits may be required to drive
output transducersoutput transducers
–– A power amplifier is required to enable a DAC to A power amplifier is required to enable a DAC to
drive a speakerdrive a speaker
Signal Processing ApplicationsSignal Processing Applications
�� Speech processingSpeech processing
�� Speech compressionSpeech compression
�� Speech recognitionSpeech recognition
�� Speaker Identification, VerificationSpeaker Identification, Verification
�� Speech synthesisSpeech synthesis
�� Speech enhancement, Echo cancellationSpeech enhancement, Echo cancellation
�� Audio ProcessingAudio Processing
�� CompressionCompression
�� 33--D reproductionD reproduction
DSP Applications DSP Applications –– Image ProcessingImage Processing
�� Image ProcessingImage Processing
�� Image compressionImage compression
�� Pattern recognitionPattern recognition
�� Ghost cancellationGhost cancellation
�� Noise reductionNoise reduction
�� DeblurringDeblurring
�� Object trackingObject tracking
�� Image fusionImage fusion
�� Video Processing/compression, tracking...Video Processing/compression, tracking...
DSP Applications CommunicationsDSP Applications Communications
�� MODEMMODEM�� correlatorscorrelators (matched filters)(matched filters)
�� echo cancellersecho cancellers
�� equalizers equalizers
�� Cellular Telephony Cellular Telephony �� speech compressionspeech compression
�� diversity combiningdiversity combining
�� array processingarray processing
�� Software RadioSoftware Radio
End Equipments
Consumer• Used in 7 of top 8 digital
still Camera Mfrs.
• Used in 8 of top 10 internet
consumer electronic Mfrs.
Emerging
Telecom
VoIP
Networking
Terminal
Modems
• T1 – E1 PABX
• VoIP, VoATM, VoDSL
• Access gateways
• IP-Phones, Public phones
• Vsat systems
• Fiber Optic test equipments
• Switches
• ADSL, Modems, Fax
• P.O.S.
• Multimedia Jukebox
• Digital still camera
• Internet Audio
• Web phones
• STB
• Gaming
• Alarm systems
Audio
Video
Imaging
Internet appliances
Automotive
Biometrics
Voice recognition
• Telematics, Hands-Free Kits
• Fingerprint recognition
• Tire pressure monitoring
• Medical equipments
• Power line comms, GPS
• Access gate, Secured POS
• E-commerce
• D-Ins in 4 of top 5 European Hands – Free Kit mfrs.
• Over 30 D-Ins in Biometrics
• 80% of VoIP Gateway market
•Used in 8 of the top 10 wireless
infrastructures Mfrs.
‘‘C5000 DSP Market Segments TargetedC5000 DSP Market Segments TargetedOver 500 million C5000 Over 500 million C5000 DSPsDSPs shipped in more than 1000 different applicationsshipped in more than 1000 different applications
DSP Market By Application - 2005
4.40%4.00%
5.30%
4.00%
81.90%
0.40%
Consumer Electronics
Auto
Computer
Industrial
Communications
Gov/Mil
DSP Market DSP Market –– By ApplicationBy Application
Communications applications (i.e: wireless)Jumped from 68.3% in 2003 to 82% in 2005.
Expectations:1) DSP market will increase by
9% in 20062) Followed by an 18%
increase in 2007.3) A boom of 27% in 2008
Power Efficiency
/Sys
tem Den
sity
Code Compatible
OMAP5910C55x+ARM9
C5509288-400MIPS
C5510320-400MIPS
C540980-160 MIPS
C5410100-160MIPS
C5416120-160MIPS
C540150 MIPS
C5402100-160MIPS
C5404120 MIPS
C5407120 MIPS
C55xTM DSPMulticore
OMAPTM
C55x+ARM9
C55xTM
DSP
In Silicon
Announcement
Roadmap TNET30104800 MIPS
C5420200 MIPS
C5421200 MIPS
C5441532 MIPS
C5470C54x+ARM7
C5471C54xTM+ARM7
C5501600 MIPS
C5502400-600MIPS
TI Extends WorldTI Extends World’’s Most Popular DSP Platforms Most Popular DSP Platform
Feature Integration
Power-Efficient, High-performance and
Programmable Solutions for Hand-held
Applications
Software Libraries, Proven Development
Environment, and EVMs Enable Rapid design
of imaging and video applications and projects
C5510 and C5509
C55x DSPC55x DSP
The Solution for Portable ApplicationsThe Solution for Portable Applications
-Speech Coders
-Speech Recognition
-Equalizers
-Antenna noise cancellation
-Image enhancement techniques
DSP
Chip
DSP
Chip
RF
Codec
RF
Codec
Voice
Codec
Voice
Codec
RF
Receiver
RF
Receiver
Microprocessor
Chip
Microprocessor
Chip
Cell
Peripherals
Cell
Peripherals
Controlled by Power Management Unit
DSP Targets: Cell PhoneDSP Targets: Cell Phone
DSP Targets: PORTABLE MEDIA DEVICESDSP Targets: PORTABLE MEDIA DEVICES
Audio CodingSpeech RecognitionImage CompressionImage enhancement
�� Embedded signal and image processing tasks are Embedded signal and image processing tasks are becoming more demandingbecoming more demanding�� Wireless communications (e.g., 3G, UWB): higher data rates, Wireless communications (e.g., 3G, UWB): higher data rates,
more complex systems and air interfacesmore complex systems and air interfaces
�� Video processing (DTV, HDTV, Camcorders, 3DTV): Video processing (DTV, HDTV, Camcorders, 3DTV): compression, decompression, enhancement, compression, decompression, enhancement, superresolutionsuperresolution, , feature extractionfeature extraction
�� Still image processing: cameras, copiers, printers, imageStill image processing: cameras, copiers, printers, image--based renderingbased rendering
�� High efficiency: 100s of MOPS/High efficiency: 100s of MOPS/mWmW (GOPS/(GOPS/mWmW), 10s ), 10s GOPS/$GOPS/$
�� Programmability: multiple modes, evolving standards, Programmability: multiple modes, evolving standards, evolving featuresevolving features
Portable ApplicationsPortable Applications
What is Special about Signal Processing Applications?What is Special about Signal Processing Applications?
�� Large number of samples being continuously Large number of samples being continuously
fed to the system (samples or blocks).fed to the system (samples or blocks).
�� Repetitive Operations:Repetitive Operations:
�� The same operation being applied to different set The same operation being applied to different set
of samplesof samples
�� Parallel processingParallel processing
�� Vector and Matrix OperationsVector and Matrix Operations
�� Real time operationsReal time operations
�� The two most common realThe two most common real--time digital filters time digital filters are:are:�� Finite Impulse Filter (FIR)Finite Impulse Filter (FIR)
�� Infinite Impulse Filter (IIR)Infinite Impulse Filter (IIR)
�� The basic FIR Filter equation is The basic FIR Filter equation is
where h[k] is an array of constantswhere h[k] is an array of constants
∑ −= ][].[][ knxkhny
In C language
y[n]=0;
For (n=0; n<N;n++)
{
For (k = 0;k<N;k++)
//inner loop
y[n] = y[n] + h[k]*x[n-k];}
Only Multiply and Accumulate (MAC) is needed!
Example: Digital FilteringExample: Digital Filtering
MAC using General Purpose Processor (GPP)MAC using General Purpose Processor (GPP)
R0
R1
33
22
11
33
1212
1111
X
99
2424
1111
∑ 44
R2
;Move result to memory;Move result to memory
;Different than zero loop again;Different than zero loop again
;Test for the value;Test for the value
;Dec N (initially equals to 3);Dec N (initially equals to 3)
;R1 + 1 ;R1 + 1 --> R1> R1
;R0 + 1 ;R0 + 1 --> R0> R0
;A + B ;A + B --> B> B
;X0*Y0 ;X0*Y0 -->A>A
; Move data from memory location 2 to register X0; Move data from memory location 2 to register X0
; Move data from memory location 1 to register Y0; Move data from memory location 1 to register Y0
; Clear Accumulator B; Clear Accumulator B
;Clear Accumulator A;Clear Accumulator AAAClrClr
BBClrClr
B,*R2B,*R2MovMov
LoopLoopJnzJnz
NNTstTst
NNDecDec
R1R1IncInc
R0R0IncInc
A,BA,BAddAdd
X0,Y0,AX0,Y0,AMpyMpy
*R1,X0*R1,X0MovMov
*R0, Y0*R0, Y0MovMovLoopLoop
MAC using DSPMAC using DSP
; Move result to memory; Move result to memory
; Fetch the two memory locations pointed by R0 and R1, ; Fetch the two memory locations pointed by R0 and R1,
multiply them together and add the result to A, the final resultmultiply them together and add the result to A, the final result
is stored back in Ais stored back in A
; Rep N times the next instruction; Rep N times the next instruction
;Clear Accumulator A;Clear Accumulator AAAClrClr
A, *R2A, *R2MovMov
*(R0)+, *(R1)+, A*(R0)+, *(R1)+, AMACMAC
NNRepRep33
22
11
33
1212
1111
X
99
2424
1111
∑ 44
R2
R0
R1
DSP versus GPPDSP versus GPP�� Multiple parallel unitsMultiple parallel units
�� multiply accumulate (possibly several units)multiply accumulate (possibly several units)
�� address calculation in parallel to processingaddress calculation in parallel to processing
�� barrel shifterbarrel shifter
�� Memory AccessMemory Access�� special ALU for address calculationspecial ALU for address calculation
�� Bit reversed addressingBit reversed addressing
�� circular addressingcircular addressing
�� Automatic loopsAutomatic loops�� Software looping: writing assembly code to perform branchingSoftware looping: writing assembly code to perform branching
�� Hardware looping: dedicated hardware loop counter registerHardware looping: dedicated hardware loop counter register
�� Hardware support for managing arithmetic computation Hardware support for managing arithmetic computation (in GPP it needs multiple cycles)(in GPP it needs multiple cycles)�� ShiftersShifters
�� Guard bits Guard bits
�� SaturationSaturation
Preventing Overflow!!
Digital Signal Processor (DSP) Digital Signal Processor (DSP) -- OverviewOverview�� DSP Core includes:DSP Core includes:
�� Address busesAddress buses
�� Data busesData buses
�� Data arithmetic logic unit (ALU)Data arithmetic logic unit (ALU)
�� Address generation unit (AGU)Address generation unit (AGU)
�� Program controllerProgram controller
�� BitBit--manipulation unitmanipulation unit
�� Enhanced debugging moduleEnhanced debugging module
�� Peripherals on chipPeripherals on chip
�� TimerTimer
�� serial linkserial link
�� communication linkscommunication links
�� DSP to DSPDSP to DSP
�� EthernetEthernet
�� ATMATM
�� host portshost ports
�� input/output pinsinput/output pins
�� Adaptation for FFTAdaptation for FFT
�� bit reverse addressingbit reverse addressing
�� Special instructionsSpecial instructions
�� Parallel move supportParallel move support
�� Loop instructions; special hardware instructions (Loop instructions; special hardware instructions (i.ei.e: FIR): FIR)
Core
On-chip Peripherals
PM
DM
Data memory
Program Memory
Enhancing DSP ArchitecturesEnhancing DSP Architectures
�� More parallelismMore parallelism�� Increase the number of operations that can Increase the number of operations that can
be performed in each instructionbe performed in each instruction�� Adding More Executing units (Adding More Executing units (i.ei.e: Multipliers): Multipliers)
�� Increase the number of instructions that Increase the number of instructions that can be issued and executed in every cyclecan be issued and executed in every cycle
�� Highly specialized hardware in coreHighly specialized hardware in core
�� CoCo--processorsprocessors
�� MultiMulti--Core Core DSPsDSPs
�� Integrates a TMS320C55xIntegrates a TMS320C55x™™ DSP core with an ARM GPP on a DSP core with an ARM GPP on a Single ChipSingle Chip
�� Targeted for embedded applications Targeted for embedded applications
�� ARM interfacing peripherals:ARM interfacing peripherals:
�� BluetoothBluetooth
�� IrDAIrDA
�� KeypadKeypad
�� Touch ScreenTouch Screen
�� C55x to perform DSP algorithmsC55x to perform DSP algorithms
�� Mobile MessagingMobile Messaging
�� Handwriting Recognition Handwriting Recognition
�� Digital Cameras Image processingDigital Cameras Image processing
�� OMAP 2 (released May 2005) Architecture includes a dedicatedOMAP 2 (released May 2005) Architecture includes a dedicated
�� Image and video acceleratorImage and video accelerator
�� 3D graphics accelerator3D graphics accelerator
Example: TI OMAP ChipExample: TI OMAP Chip
Example: TI Example: TI DaVinciDaVinci ProcessorsProcessors
�� Released in Dec 2005.Released in Dec 2005.
�� Also known as TMS320DM644x series.Also known as TMS320DM644x series.
�� While OMAP targets mainly wireless and While OMAP targets mainly wireless and
handled applications, handled applications, DaVinciDaVinci targets home targets home
entertainment, surveillance, and other video entertainment, surveillance, and other video
applications.applications.
�� Can perform coding/decoding of standard Can perform coding/decoding of standard
video codec: MPEG4, H.264.video codec: MPEG4, H.264.
�� Include camera and video interfaces.Include camera and video interfaces.
Why Consider DSP AlternativesWhy Consider DSP Alternatives
�� Wireless Systems requires more and more Wireless Systems requires more and more
high performance and higher bandwidthhigh performance and higher bandwidth
2.5G
3G
2GBit Rate
Performance
~100MIPS8-13 Kbps
~10,000MIPS64-384 Kbps
~100,000MIPS384-2000 Kbps
DSP performance DSP performance might not be might not be enough for enough for future future applications applications
What are the alternativesWhat are the alternatives
�� HighHigh--performance performance GPPsGPPs with DSP enhancements.with DSP enhancements.�� Eliminating the need of a DSP and GPP for many products and Eliminating the need of a DSP and GPP for many products and
thus reducing costthus reducing cost
�� Example: Pentium 4Example: Pentium 4
�� Single Instruction Multiple Data (SIMD) instructions allowing Single Instruction Multiple Data (SIMD) instructions allowing identical operations on multiple pieces of data in parallel.identical operations on multiple pieces of data in parallel.
�� 144 new special instructions providing advanced capabilities for144 new special instructions providing advanced capabilities forapplications such as 3D graphics, video encoding/decoding, and applications such as 3D graphics, video encoding/decoding, and speech recognition.speech recognition.
�� Several Data Types (floating/integer)Several Data Types (floating/integer)
�� MultiMulti--Core Core DSPsDSPs
�� Application Specific Integrated Circuits (ASIC)Application Specific Integrated Circuits (ASIC)
�� Field Programmable Gate Array (FPGA)Field Programmable Gate Array (FPGA)
ASIC (applicationASIC (application--specific specific
integrated circuit) integrated circuit)
�� Uses hardUses hard--wired logic with varied wired logic with varied
architectures according to the application architectures according to the application
(i.e: 256 point hardware implemented (i.e: 256 point hardware implemented
FFT)FFT)
�� Sometimes includes proprietary processor Sometimes includes proprietary processor
cores (cores (i.ei.e: licensed Intellectual Properties : licensed Intellectual Properties
–– IP)IP)
ASIC ASIC -- AdvantagesAdvantages
�� SpeedSpeed
�� Reduced Power ConsumptionReduced Power Consumption
�� Cost/performanceCost/performance
�� Design FlexibilityDesign Flexibility
ASICASIC-- DisadvantageDisadvantage
�� Large development costsLarge development costs
�� Lengthy development cyclesLengthy development cycles
�� InflexibilityInflexibility
FPGA
Another Solution
What is FPGAWhat is FPGA
�� It is a network of reconfigurable It is a network of reconfigurable
hardware with reconfigurable hardware with reconfigurable
interconnect controlled by a switching interconnect controlled by a switching
matrixmatrix
�� Historically used for prototypingHistorically used for prototyping
�� Recently includes DSP featuresRecently includes DSP features
�� Major Companies DSP + FPGA: ALTERA Major Companies DSP + FPGA: ALTERA
(e.g.: (e.g.: StratexStratex) & XILINX (e.g.: ) & XILINX (e.g.: VirtexVirtex II)II)
FPGA FPGA -- AdvantagesAdvantages
�� More Flexible than ASICMore Flexible than ASIC
�� Huge Performance Gain in Some Huge Performance Gain in Some
ApplicationsApplications
�� ReRe--use Hardware for different use Hardware for different
applicationsapplications
FPGA FPGA -- DisadvantagesDisadvantages
�� Long Development CycleLong Development Cycle
�� Expensive compared to DSPExpensive compared to DSP
�� Much higher power consumption Much higher power consumption
compared to DSPcompared to DSP
�� Slow time to market compared to DSPSlow time to market compared to DSP
Why Still use DSP?Why Still use DSP?
�� Several applications are not suited to be Several applications are not suited to be
implemented in FPGAimplemented in FPGA
�� Parallelism is sometimes inherently limitedParallelism is sometimes inherently limited
�� Speed is not always the highest factor to Speed is not always the highest factor to
considerconsider
�� FPGA is still very expensive for terminal FPGA is still very expensive for terminal
products (i.e: cell phones)products (i.e: cell phones)
Why Still use DSP?Why Still use DSP?�� Comparison: DSP, FPGA, ASICComparison: DSP, FPGA, ASIC ((ref: Bill Dally, ref: Bill Dally,
Stanford University, IEEE ICASSP04 Talk)Stanford University, IEEE ICASSP04 Talk)DSP� < 10 MOPS/mW� ~0.1 GOPS/$� < 10 GOPS peak performance� 1 M $ programming cost� Programmable
ASIC� 50-200 MOPS/mW� 2-10 GOPS/$� Up to 1000 GOPS peak performance� 10M-15M $ design cost� Fixed
FPGA� 2-10 MOPS/mW� ~1 GOPS/$� Up to 500 GOPS peak performance� ~5M $ design cost� Reconfigurable
� New improved DSPs with more efficiency and parallelism (e.g., multi-core)
Types of DSPTypes of DSP
�� Low End Low End Fixed PointFixed Point�� TMS320C2XX, ADSP21XX, DSP56XXXTMS320C2XX, ADSP21XX, DSP56XXX
�� High End High End Fixed PointFixed Point�� TMS320C55XX, DSP16XXX,TMS320C55XX, DSP16XXX,
�� ADSP215XX, DSP56800ADSP215XX, DSP56800
�� Floating PointFloating Point�� TMS320C3X, C67XX, ADSP210XX, TMS320C3X, C67XX, ADSP210XX,
DSP96000, DSP32XXDSP96000, DSP32XX
Fixed Point Vs Floating PointFixed Point Vs Floating Point�� Fixed Point/Floating PointFixed Point/Floating Point
�� fixed point processor are :fixed point processor are :�� cheapercheaper
�� smallersmaller
�� less power consumingless power consuming
�� Harder to programHarder to program�� Watch for errors: truncation, overflow, roundingWatch for errors: truncation, overflow, rounding
�� Limited dynamic rangeLimited dynamic range
�� Used in 95% of consumer productsUsed in 95% of consumer products
�� floating point processorsfloating point processors�� have larger accuracyhave larger accuracy
�� are much easier to programare much easier to program
�� can access larger memorycan access larger memory
�� It is harder to create an efficient program in C on a fixed It is harder to create an efficient program in C on a fixed point processors than on floating point processorspoint processors than on floating point processors
Fixed Point Vs Floating PointFixed Point Vs Floating Point
Floating Point Fixed Point
Applications
•Modems
•Digital Subscriber Line (DSL)
•Wireless Basestations
•Central Office Switches
•Private Branch Exchange (PBX)
•Digital Imaging
•3D Graphics
•Speech Recognition
•Voice over IP
Applications
•Portable Products
•2G, 2.5G and 3G Cell Phones
•Digital Audio Players
•Digital Still Cameras
•Electronic Books
•Voice Recognition
•GPS Receivers
•Headsets
•Biometrics
•Fingerprint Recognition
TI Family TreeTI Family Tree
C2000 C6000C5000
C24x C28x
TI DSP Family Tree [2006]
C54x C55xC54x + RISC C55x + RISC C62x C64x C67x
C6416
C6415
C6414
C6412
C6411
DM640
DM641
DM642
C6211
C6205
C6204
C6203
C6202
C6201
C6713
C6712
C6711
C6701
C5510C5509C5502C5501
C5416
C5410
C5409
C5407
C5404
C5402
C5401
C549
C54CST, C54V90
OMAP5910OMAP5912
C5470
C5471
F2810F2812
F2407, F2406
F2403, F2402
F2401, C2406
C2404, C2402
C2401, F243
F241, C242
F240
C3000
C3x
C33C32C31C30
TI Families SummaryTI Families Summary
�� C24x and C28x families: low performance 16C24x and C28x families: low performance 16--bit fixed point bit fixed point used for control purposeused for control purpose
�� C54x family: midC54x family: mid--range performance 16range performance 16--bit fixed pointbit fixed point
�� C55x family: midC55x family: mid--range performance 16range performance 16--bit fixed point with bit fixed point with reduced power consumption and increased parallelismreduced power consumption and increased parallelism
�� C5000 + RISC microprocessor: used for embedded applications C5000 + RISC microprocessor: used for embedded applications such as cell phone and such as cell phone and PDAsPDAs
�� C62x: highC62x: high--range performance 16range performance 16--bit fixed point supporting bit fixed point supporting VLIW architectureVLIW architecture
�� C64x: very high performance 16C64x: very high performance 16--bit fixed point with extension bit fixed point with extension capabilities of C62x with higher clock frequency (>2500 MIPS)capabilities of C62x with higher clock frequency (>2500 MIPS)
�� C3x: first generation low performance 32C3x: first generation low performance 32--bit floating pointbit floating point
�� C67xx family: very high performance 32C67xx family: very high performance 32--bit floating pointbit floating point
Top Related