Special Report: Choosing a DSP
 Special Report: Choosing a DSP
 By Don Morgan,  Embedded.com
 March 13, 2003 (8:16 p.m. EST)
 URL: http://www.eetimes.com/story/OEG20030122S0057  
 Once upon a time, digital signal processors were used only as coprocessors in signal processing applications and programmed mostly in assembly.  Today, DSPs are used in almost every application domain. From the nitty to the gritty, here's what to look for in a DSP  When the industry's first digital signal processor (DSP) was used in the Speak & Spell toy in the late seventies who could have predicted that the chip would proliferate the way it has?   DSPs were designed to be number crunchers, usually sampling an analog signal then processing those samples digitally. At first, they were used in telecommunications and media products, because DSPs could run the intense math needed to convert a continuous analog signal into a discrete digital signal, process the data, and spit out a new analog output signal in little time. Its math abilities soon lead the DSP into other uses, such a s motion control with high-end servo control, radio in the form of "soft" or completely programmable radio, cinema, studio and consumer audio, MP3 players, scientific and engineering instrumentation and test equipment, Internet connectivity with Voice over IP and Video over IP, PDAs, and many more. That's a long way from Speak & Spell.   Digital signal processing   In the analog domain, all signals are continuous. In the digital domain, we deal with finite approximations of the continuous. The term digital signal processing refers to the act of translating analog signals into a digital form and then manipulating the data for whatever purpose we choose. The basic algorithms for accomplishing this translation can be implemented on almost any device, from an 8-bit microcontroller to a PC, but if it needs to be done quickly, we generally turn to the DSP.   Big M AC   The single-cycle, multiply and accumulate (MAC) instruction is an innovation particular to the DSP. The MAC multiplies two numbers (generally a weight coefficient and an input sample) and adds the result to another "saved" value. Performed continuously, this process is called a convolution, which is one of the fundamental elements in the implementation of all types of filters and predictors.   A good DSP will be able to execute at least one MAC in a single instruction cycle, and that instruction cycle should require only one clock cycle.  Until recently, non-DSP processors have had no rapid and efficient way to process this sort of math. In recent years, however, DSP has expanded into almost every area of engineering. Now, microcontrollers used for engine control include the MAC instruction, the ordinary PC has DSP extensions for audio and video (Intel's MMX instructions), and there are specialized DSPs with on-board peripherals for everything from motion control to audio to telephonics.     Design considerations   If you're planning a DSP-enabled project and you need to evaluate various processors, here are some important characteristics to take into account.   Word length and accuracy  To maintain the highest degree of accuracy, the DSP you choose should have an accumulator long enough to store the intermediate results of all your calculations before finally storing them in system memory. Each time you store your values to system memory, they must be rounded or truncated to the word length of the memory; this is called quantization. Your results are never any better than your input; numerous quantizations during a calculation can create drift or bias in your result.    Not all applications require accuracy. Some, such a s servo control, only require repeatability. It is important in either case that you have enough bits available to represent your results and intermediate results with enough resolution to prevent limit cycling, which occurs when there isn't enough resolution in a system to represent a result in a feedback loop. (The necessary resolution is less than the least significant bit, so the system toggles back and forth between the higher result and the lower result.)   Processing speed    Pipelined branches and conditional instructions are a real advantage. If pipelined branches are not available on the machine you choose, it means that when the processor makes the branch, it must refill the pipeline before continuing execution. This amounts to a stall. Depending on the program flow, this can occur frequently and will directly affect your speed of processing. Pipelining the branches allows them to occur without reloading the pipeline, so that any nonlinear programming doesn't bog down.   Conditional instructions are instructions you have designated to execute or not execute based on the results of a logical or arithmetic test, such as a compare or a subtraction.  Conditional instructions are almost as useful as pipelined branches in that they allow the selective execution without repeating tests or requiring additional code to branch around certain instructions. You can skip through a great deal of nonlinearity that way .   The hardware architecture can make a real difference. The most obvious difference manifests itself in the number of actions or instructions that the DSP can perform in a single instruction cycle. If you have two data memories (or a single, separable data memory), for instance, as well as a program memory, it is fairly straightforward to load two data words and one instruction on a single line. This would result in an efficient implementation of the MAC instruction mentioned earlier.   Separate data and program memory is a characteristic of the Harvard architecture. There are even DSPs that have a separate I/O bus in addition to the memory buses. A Von Neumann architecture, in which program and data memory are combined, slows down the loading of coefficients and data, since the code fetches must be interlaced.    Special stuff  With the explosion in handheld multimedia devices like PDAs and MP3 players, some companies are producing devices with both a microcontroller and DSP on the same chip. Of note are the TI OMAPs, which combine an enhanced ARM processor with a fast fixed-point DSP. Atmel provides this combination with an ARM processor and an OAK DSP. Intel is another major player with its Xscale processors, one of which (the PXA250) is the core of many popular PDAs. These processors are now targeted to general multimedia but they are also well equipped for use in wi reless, VoIP, and streaming video. Key elements to look for in a portable device are memory (RAM and flash) and power consumption.   Some more subtle enhancements that can set DSPs apart from one another are in their instruction sets. Analog Device's SHARC series comes with an instruction set that is nicely tailored to transform processing, such as (but not limited to) the Fast Fourier Transform and Discrete Cosine Transform. These processors are also good for audio and video applications.   In terms of hardware enhancements, both TI and Analog Devices now offer a line of extremely fast dual-pipeline processors that are useful in a number of multifunction applications, including audio and video. The TI series is the TMS320C6000. Analog Devices calls its multipipelined processors Black Fin.   Motorola's DSP56300 series has some devices with a coprocessor for parallel convolutions, making these devices suitable for cell phone applications. Motorola also sports a DSP based on the StarCore that can perform  four MACs in a single cycle for high speed audio and video applications.   The end? Or just the beginning?   A wealth of digital processing products  is available today; this short introduction is just a starting point. Have a look, keep your application in mind, and have fun.	esp   Don Morgan is a senior engineer at Ultra Stereo Labs and a consultant with 25 years experience in signal processing, embedded systems, hardware, and software. He is the author of several books including Numerical Methods for DSP Systems in C and Practical DSP Modeling, Techniques, and Programming in C. You may reach him at dgm@baykitty.com.   DSP Vendor List   The following vendors make DSPs. For details about specific products, visit the Embedded.com Buyer's Guide at www.embedded.com/bg. You'll find them under integrated circuits.   
Accuracy depends on the elements (such as A/D) you use to convert from the analog domain to the digital. Precision is the number of bits you use to represent this conversion.  
 Very often the efficiency and utility of your product depends on the speed of your processor. To determine a DSP's speed, here are some questions you should ask:  	
 DSPs increasingly have instructions or peripherals that offer special advantages in certain applications. Motion control, for example, is receiving a great deal of  attention from the DSP vendors. Analog Devices, Motorola, and TI (to name a few) have all come out with a series of processors that ease the design and development of complex motion control systems. These include peripherals for generating the PWM and implementing encoders, along with a wealth of general purpose I/O. If you are interested, you might check out the ADMC 300 and ADMC 400 from Analog Devices, Motorola's DSP56F800 series, and TI's TMS320F2800 series.  
     3DSP  
 16271 Laguna Canyon Rd., Ste. 200
 Irvine, CA  92618
 United States
 (949) 435-0600
 www.3dsp.com
 Amphion Semiconductor  
 2001 Gateway Place, Ste. 130W
 San Jose, CA  95110
 United States
 (408) 441-1248
 www.amphion.comAnalog Devices  
 Three Technology Way
 Norwood, MA  02062
 United States
 (800) 262-5643
 www.analog.com   Atmel  
 2325 Orc hard Parkway
 San Jose, Ca 95131 
 (408) 441-0311
 www.atmel.comBOPS  
 1200 Charleston Rd.
 Mountain View, CA  94043
 United States
 (888) 890-BOPS
 www.bops.comChipWrights  
 2150 Washington St.
 Newton, MA  02462
 United States
 (617) 928-0100
 www.chipwrights.com   Delphi Communication Systems  
 Two Clock Tower Place, Ste. 310
 Maynard, MA  01754
 United States
 (978) 897-5650
 www.delcomsys.comDSP Group  
 3120 Scott Boulevard
 Sa nta Clara, CA  95054
 United States
 (408) 986-4300
 www.dspg.comInfineon Technologies  
 1730 North First Street 
 San Jose, CA  95112 
 United States
 (408) 501-6385
 www.infineon.com   Intel  
 2200 Mission College Blvd.
 Santa Clara, CA 95052
 United States
 (408) 765-8080
 www.intel.comLSI Logic   
 1551 McCarthy Blvd.
 Milpitas, CA  95035
 United States
 (866) 574-5741
 www.zsp.com
 Lucent Technologies  
 600 Mountain Avenue
 Murray Hil l, NJ  07974
 United States
 (888) 4-LUCENT
 www.lucent.com   Motorola  
 6501 William Cannon Dr.
 Austin, TX  78735
 United States
 (512) 895-2000
 www.motorola.com/semiconductorsNetergy Microelectronics  
 2445 Mission College Blvd.
 Santa Clara, CA  95054
 United States
 (408) 727-1212
 www.netergymicro.comOxford Micro Devices  
 731 Main Street, Building 2
 Monroe, CT  06468
 United States
 (203) 445-0562
 www.oxfordmicrodevices.com
    Philips Semiconductors  
 P.O. Box 218
 5600 MD EINDHOVEN
 The Netherlands
 www.semiconductors.philips.comSharp  
 Sharp Plaza
 Mahwah, NJ  07430
 United States
 (201) 529-8200
 www.sharp-usa.comSTMicroelectronics  
 Route de Pré-Bois, 20
 P.O. Box 1898
 CH-1215 Geneva 15
 Switzerland
 (41)-22-929-29-29
 www.st.com   Texas Instruments  
 12500 TI Blvd.
 Dallas, TX  75243
 United States
 (800) 477-8924
 www.ti.com    
Related Semiconductor IP
- LPDDR6/5X/5 PHY V2 - Intel 18A-P
- MIPI SoundWire I3S Peripheral IP
- LPDDR6/5X/5 Controller IP
- Post-Quantum ML-KEM IP Core
- MIPI SoundWire I3S Manager IP
Related White Papers
- Customized DSP -> VLIW calls for special debugging
- Special Report: Intellectual Property
- Special Preview: BDTI's FPGAs for DSP, Second Edition
- Designing an Efficient DSP Solution: Choosing the Right Processor and Software Development Toolchain
Latest White Papers
- Attack on a PUF-based Secure Binary Neural Network
- BBOPlace-Bench: Benchmarking Black-Box Optimization for Chip Placement
- FD-SOI: A Cyber-Resilient Substrate Against Laser Fault Injection—The Future Platform for Secure Automotive Electronics
- In-DRAM True Random Number Generation Using Simultaneous Multiple-Row Activation: An Experimental Study of Real DRAM Chips
- SPAD: Specialized Prefill and Decode Hardware for Disaggregated LLM Inference