420 likes | 737 Views
DSP Lecture 01. Chapter 1 Introduction. Learning Objectives. Why process signals digitally? Definition of a real-time application. Why use D igital S ignal P rocessing processors? What are the typical DSP algorithms? Parameters to consider when choosing a DSP processor.
E N D
DSP Lecture 01 Chapter 1 Introduction
Learning Objectives • Why process signals digitally? • Definition of a real-time application. • Why use Digital Signal Processing processors? • What are the typical DSP algorithms? • Parameters to consider when choosing a DSP processor. • Programmable vs ASIC DSP. • Texas Instruments’ TMS320 family.
Present Day Applications • Wireless / Cellular • Voice-band audio • RF codecs • Voltage regulation • HDD • PRML read channel • MR pre-amp • Servo control • SCSI tranceivers DSP:TechnologyEnabler • Consumer Audio • Stereo A/D, D/A • PLL • Mixers • Automotive • Digital radio A/D/A • Active suspension • Voltage regulation • Multimedia • Stereo audio • Imaging • Graphics palette • Voltage regulation • DTAD • Speech synthesizer • Mixed-signalprocessor
Why go digital? • Digital signal processing techniques are now so powerful that sometimes it is extremely difficult, if not impossible, for analogue signal processing to achieve similar performance. • Examples: • FIR filter with linear phase. • Adaptive filters.
Why go digital? • Analogue signal processing is achieved by using analogue components such as: • Resistors. • Capacitors. • Inductors. • The inherent tolerances associated with these components, temperature, voltage changes and mechanical vibrations can dramatically affect the effectiveness of the analogue circuitry.
Why go digital? • With DSP it is easy to: • Change applications. • Correct applications. • Update applications. • Additionally DSP reduces: • Noise susceptibility. • Chip count. • Development time. • Cost. • Power consumption.
Why NOT go digital? • High frequency signals cannot be processed digitally because of two reasons: • Analog to Digital Converters, ADC cannot work fast enough. • The application can be too complex to be performed in real-time.
Real-time processing • DSP processors have to perform tasks in real-time, so how do we define real-time? • The definition of real-time depends on the application. • Example: a 100-tap FIR filter is performed in real-time if the DSP can perform and complete the following operation between two samples:
Real-time processing • We can say that we have a real-time application if: • Waiting Time 0 WaitingTime Processing Time n n+1 Sample Time
Why do we need DSP processors? • Why not use a General Purpose Processor (GPP) such as a Pentium instead of a DSP processor? • What is the power consumption of a Pentium and a DSP processor? • What is the cost of a Pentium and a DSP processor?
Why do we need DSP processors? • Use a DSP processor when the following are required: • Cost saving. • Smaller size. • Low power consumption. • Processing of many “high” frequency signals in real-time. • Use a GPP processor when the following are required: • Large memory. • Advanced operating systems.
What are the typical DSP algorithms? • The Sum of Products (SOP) is the key element in most DSP algorithms:
What Problem Are We Trying To Solve? DSP ADC DAC x Y Digital sampling of an analog signal: Most DSP algorithms can be expressed with MAC: A count Y = ai * xi i = 1 t for (i = 1; i < count; i++){ sum += m[i] * n[i]; } What does it take to do this fast … and easy?
Fast MAC using only C Multiply-Accumulate (MAC) in Natural C Code for (i = 0; i < count; i++){ sum += m[i] * n[i]; } • Fastest Execution of MACs • The ‘C6x roadmap ... from 200 to 2400 MMACs • Ease of C Programming • Even using natural C, the ‘C6000 Architecture can perform 2 to 4 MACs per cycle • Compiler generates 80-100% efficient code How does the ‘C6000 achieve such performance from C?
'C6000 Architecture: Built for Speed Memory A0 B0 .D1 .D2 .M1 .M2 .L1 .L2 .. .. A15 B15 .S1 .S2 .. .. A31 B31 Controller/Decoder • ‘C6000 Compiler excels at Natural C • While dual-MAC speeds math intensive algorithms, flexibility of 8 independent functional units allows the compiler to quickly perform other types of processing • All ‘C6000 instructions are conditional allowing efficient hardware pipelining • Instruction set and CPU hardware orthogonality allow the compiler to achieve 80-100% efficiency
Fastest MAC using Natural C Memory A0 B0 .D1 .D2 .M1 .M2 .L1 .L2 .. .. A15 B15 .S1 .S2 .. .. A31 B31 Controller/Decoder float mac(float *m, float *n, int count) { int i, float sum = 0; for (i=0; i < count; i++) { sum += m[i] * n[i]; } … ;** --------------------------------------------------* LOOP: ; PIPED LOOP KERNEL LDDW .D1 A4++,A7:A6 || LDDW .D2 B4++,B7:B6 || MPYSP .M1X A6,B6,A5 || MPYSP .M2X A7,B7,B5 || ADDSP .L1 A5,A8,A8 || ADDSP .L2 B5,B8,B8 || [A1] B .S2 LOOP || [A1] SUB .S1 A1,1,A1 ;** --------------------------------------------------*
'C6000 System Block Diagram P E R I P H E R A L S External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU InternalMemory Looking at the internal buses ...
‘C6000 Internal Buses Program Addr x32 PC Internal Memory Program Data x256 Data Addr - T1 x32 A regs Data Data - T1 x32/64 External Memory Data Addr - T2 x32 B regs Data Data - T2 x32/64 DMA Addr - Read DMA Peripherals DMA Data - Read DMA Addr - Write DMA Data - Write
'C6000 System Block Diagram InternalMemory External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU Next, the internal memory ...
‘C6711 Memory 0000_0000 64KB Internal 128MB External 128MB External 128MB External 128MB External 1 0 3 2 4K ProgramCache 64K Prog / Data(Level 2) 0180_0000 On-chip Peripherals CPU 8000_0000 9000_0000 4K DataCache A000_0000 B000_0000 FFFF_FFFF cache logic cache details
'C6000 System Block Diagram P E R I P H E R A L S InternalMemory External Memory Internal Buses .D1 .D2 Register Set A Register Set B .M1 .M2 .L1 .L2 .S1 .S2 CPU Looking at each peripheral ...
Hardware vs. Microcode multiplication • DSP processors are optimised to perform multiplication and addition operations. • Multiplication and addition are done in hardware and in one cycle. • Example: 4-bit multiply (unsigned). Hardware Microcode 1011 x 1110 1011 x 1110 Cycle 1 10011010 0000 Cycle 2 1011. Cycle 3 1011.. Cycle 4 1011... 10011010 Cycle 5
Parameters to consider when choosing a DSP processor Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) Arithmetic format Extended floating point Extended Arithmetic Performance (peak) Number of hardware multipliers Number of registers Internal L1 program memory cache Internal L1 data memory cache Internal L2 cache 32-bit N/A 40-bit 1200MIPS 2 (16 x 16-bit) with 32-bit result 32 32K 32K 512K 32-bit 64-bit 40-bit 1200MFLOPS 2 (32 x 32-bit) with 32 or 64-bit result 32 32K 32K 512K • C6711 Datasheet: \Links\TMS320C6711.pdf • C6211 Datasheet: \Links\TMS320C6211.pdf
Parameters to consider when choosing a DSP processor Parameter TMS320C6211 (@150MHz) TMS320C6711 (@150MHz) I/O bandwidth: Serial Ports (number/speed) DMA channels Multiprocessor support Supply voltage Power management On-chip timers (number/width) Cost Package External memory interface controller JTAG 2 x 75Mbps 16 Not inherent 3.3V I/O, 1.8V Core Yes 2 x 32-bit US$ 21.54 256 Pin BGA Yes Yes 2 x 75Mbps 16 Not inherent 3.3V I/O, 1.8V Core Yes 2 x 32-bit US$ 21.54 256 Pin BGA Yes Yes
Floating vs. Fixed point processors • Applications which require: • High precision. • Wide dynamic range. • High signal-to-noise ratio. • Ease of use. Need a floating point processor. • Drawback of floating point processors: • Higher power consumption. • Can be more expensive. • Can be slower than fixed-point counterparts and larger in size.
Floating vs. Fixed point processors • It is the application that dictates which device and platform to use in order to achieve optimum performance at a low cost. • For educational purposes, use the floating-point device (C6711) as it can support both fixed and floating point operations.
General Purpose DSP vs. DSP in ASIC • Application Specific Integrated Circuits (ASICs) are semiconductors designed for dedicated functions. • The advantages and disadvantages of using ASICs are listed below: Advantages Disadvantages • High throughput • Lower silicon area • Lower power consumption • Improved reliability • Reduction in system noise • Low overall system cost • High investment cost • Less flexibility • Long time from design to market
System Considerations Performance Interfacing Power Size • Ease-of Use • Programming • Interfacing • Debugging • Integration • Memory • Peripherals • Cost • Device cost • System cost • Development cost • Time to market
Texas Instruments’ TMS320 family C5000 C6000 Lowest Cost Control Systems • Motor Control • Storage • Digital Ctrl Systems Efficiency Best MIPS per Watt / Dollar / Size • Wireless phones • Internet audio players • Digital still cameras • Modems • Telephony • VoIP Performance & Best Ease-of-Use C2000 • Multi Channel and Multi Function App's • Comm Infrastructure • Wireless Base-stations • DSL • Imaging • Multi-media Servers • Video • Different families and sub-families exist to support different markets.
Texas Instruments’ TMS320 family TMS320C64x: The C64x fixed-point DSPs offer the industry's highest level of performance to address the demands of the digital age. At clock rates of up to 1 GHz, C64x DSPs can process information at rates up to 8000 MIPS with costs as low as $19.95. In addition to a high clock rate, C64x DSPs can do more work each cycle with built-in extensions. These extensions include new instructions to accelerate performance in key application areas such as digital communications infrastructure and video and image processing. TMS320C62x: These first-generation fixed-point DSPs represent breakthrough technology that enables new equipments and energizes existing implementations for multi-channel, multi-function applications, such as wireless base stations, remote access servers (RAS), digital subscriber loop (xDSL) systems, personalized home security systems, advanced imaging/biometrics, industrial scanners, precision instrumentation and multi-channel telephony systems. TMS320C67x: For designers of high-precision applications, C67x floating-point DSPs offer the speed, precision, power savings and dynamic range to meet a wide variety of design needs. These dynamic DSPs are the ideal solution for demanding applications like audio, medical imaging, instrumentation and automotive.
C6000 Roadmap Floating Point Multi-core C64x™ DSP 1.1 GHz 2nd Generation C6416 C6414 C6415 DM642 C6412 C6411 HighestPerformance Object Code Software Compatibility Performance 1st Generation C6713 C6203 C6202 C6204 C6205 C6201 C62x/C64x/DM642: Fixed Point C67x: Floating Point C6211 C6701 C6712 C6711 Time
C67x 3 GFLOPS and beyond C6701 C6711 1 GFLOPS C6712 Performance 900 MFLOPS 600 MFLOPS C33 C31 C32 C30 150 MFLOPS Time ’C6000 Floating-Point
TI Floating-Point Innovation TI Floating Point - A History of Firsts: First commercially-successful floating-point DSP ‘C30 (1987) First floating-point DSP with multiprocessing support ‘C40 (1991) First $10 floating-point DSP ‘C32 (1995) First 1-GFLOPS DSP ‘C6701 (1998) First $5 floating-point DSP ‘C33 (1999) First 2-level cache floating-point DSP ‘C6711 (1999) First to offer 600 MFLOPS for under $10 ‘C6712 (2000)
Useful Links • Selection Guide: • \Links\DSP Selection Guide.pdf \Links\DSP Selection Guide.pdf (3Q 2004) \Links\DSP Selection Guide.pdf (4Q 2004)
Looking for Literature on DSP? • “A Simple Approach to Digital Signal Processing”by Craig Marven and Gillian Ewers; ISBN 0-4711-5243-9 • “DSP Primer (Primer Series)”by C. Britton Rorabaugh; ISBN 0-0705-4004-7 • “Understanding Digital Signal Processing”by Richard G. Lyons;Prentice Hall; 2nd edition (March 15, 2004) ISBN 0-1310-8989-7 • “DSP First : A Multimedia Approach”James H. McClellan, Ronald W. Schafer, and Mark A. Yoder;ISBN 0-1324-3171-8
“Digital Signal Processing Implementation using the TMS320C6000TM DSP Platform” by Naim Dahnoun; ISBN 0201-61916-4 • “C6x-Based Digital Signal Processing” by Nasser Kehtarnavaz and Burc Simsek;ISBN 0-13-088310-7 • “Real-Time Digital Signal Processing: Based on the TMS320C6000” by Nasser Kehtarnavaz; Newnes; Book & CD-Rom (July 14, 2004) ISBN 0-7506-7830-5 • “Digital Signal Processing and Applications with the C6713 and C6416 DSK (Topics in Digital Signal Processing)” Wiley-Interscience; Book&CD-Rom (December 3, 2004) by Rulph Chassaing; ISBN 0-4716-9007-4 Looking for Books on ‘C6000 DSP?
“Real-Time Digital Signal Processingfrom Matlab to C with the TMS320C6x DSK” by Thad B. Welch; Cameron Wright; Michael Morrow; Book & CD-Rom (2006) ISBN 0-8493-7382-4 Looking for Books on ‘C6000 DSP?
Chapter 1 Introduction - End -