DSPs and FPGAs both offer advantages for signal processing. Here are the design guidelines you need to choose between DSPs, FPGAs, or a combination of the two. Topics covered include device cost, performance, NRE, and availability of application-specific features.
Application example: IP camera reference design
To illustrate these design decisions in more detail, let us consider an example video application. Video applications such as IP set-top-boxes, digital video recorders (DVRs), entertainment devices, and digital cameras (to name a few) are growing rapidly. In such applications, system architects search for a platform that can address the following areas:
- Video ports and other interface connectivity
- Digital signal processing power
- A CPU that can execute various scheduling, management, and control tasks
- Volume pricing for multi-unit applications
Often these applications target the consumer electronic market. This translates to cost sensitivity, including a desire to minimize NRE costs. Furthermore, as consumer electronics is a fast moving market, time-to-market becomes a crucial factor. Overall project risk also needs to be minimized. Finally, the trend toward miniaturization of consumer electronics and security applications plays an important role in the system's form factor.
The IP camera market illustrates these concerns. The explosive growth of video surveillance, machine vision and video teleconferencing, have created a need for a low-cost camera reference design. Such a design should allow clients to achieve rapid time-to-market with minimum NRE, while also allowing modification of the design to tailor it to a specific application. In response to these needs, Nuvation specified the following requirements for its IP camera reference design:
- Smallest form factor IP camera
- Standard optics (CS mount) with wide dynamic range (WDR) imaging
- Low power with PoE support
- Low BOM cost
- DFM/DfX including RoHS compliance and obsolescence risk mitigation
- Full embedded Linux, real-time
- TCP/IP and/or analog video output
- H.264, MPEG-4, MJPEG encoder flexibility, up to D1 at 30 fps
- Support for custom or licensed video analytics software
- Field programmable

Figure 1. Nuvation IP camera reference design. Photo Credit: Jason Rothe.
To meet the requirement objectives, Nuvation engineers chose a DaVinci device from TI, the TMS320DM6446. This device is a high performance digital media system on chip (SoC) targeted at high-end video applications. It is a dual processor device that contains a C64x+ DSP core for accelerated video processing and an ARM9 core for co-processing tasks and peripheral management.
As the central device in the IP camera reference design, the DM6446 is responsible for acquiring video data, encoding it in the desired format and outputting it via Ethernet and TCP/IP. As a dual processor device, the DM6446 allows designers to implement signal processing algorithms in the C64x+ DSP core while executing other tasks, such as packet assembly and peripheral management, in the ARM9 microcontroller core.
The availability of a full Linux distribution for the ARM9 is another advantage of the DM6446. Linux allows system designers to use existing firmware in the open source community and quickly integrate third party libraries. The DM6446's Ethernet ports, video ports and small footprint and power consumption were also driving factors for choosing the device. In brief, the DM6446 DSP made it possible to meet the design requirements while minimizing NRE.
FPGA or DSP? Choose
The choice between the FPGA and DSP depends on many parameters. There is no global recipe for making the right choice, and there are always trade-offs. It is the understanding of these trade-offs that guides an architect to choose a platform that best meets the requirements of a specific system. We highlighted design examples where a FPGA or a DSP is the superior choice, as well as cases that call for a DSP/FPGA hybrid system. Using these examples, we hope to have given you more insight into choosing the appropriate device for your design. For more information, or help on choosing the correct device, contact Nuvation at sales@nuvation.com.
About the authors
Bamdad Afra obtained his bachelor's degree from University of Waterloo, Canada. He has over two years of experience in signal processing and over 5 years of experience in FPGA design. He has held various technical positions at Texas Instruments and Nuvation.
Amit Kapadiya has more than 10 years of experience in the embedded system design industry. He is currently the Marketing Manager at Nuvation, and has held hardware engineering positions prior to marketing. His undergraduate degree in computer engineering is from the University of Waterloo, Canada.
Related articles