CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

DSP or FPGA? How to choose the right device
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.



DSP DesignLine
For designs with MMAC requirement below 300 MMAC, DSPs are in general the optimum solution from cost/performance perspective. For designs with MMAC requirement between 300 and 1000 MMAC, the DSP is generally preferable when it comes with application specific resources (such as video/audio ports, ARM processor, etc., as is the case with the DaVinci digital media processors). When a DSP with application specific resources does not exist, other aspects of the design must be considered.

For applications with performance requirements above 1000 MMAC, FPGA/DSP Hybrid solutions are often the ideal solution. These applications often include multiple signal processing algorithms, some of which have low performance requirements. In such cases, relatively inexpensive DSPs can implement the algorithms with low-to-medium performance requirements, leaving the higher-performance algorithms to FPGAs.

It is important to note that each design is unique. No global solution exists for choosing between DSPs and FPGAs. The aim of this article is to provide the reader with an overall overview of DSPs and FPGAs along with their overall cost/performance values and features. The data and guidelines presented in here may be used as the initial step for choosing a DSP and/or FPGA. The choice must be justified based on the totality of the design requirements. In the following sections, we look at some of the additional requirements one must consider when choosing DSPs and/or FPGAs.

DSP in signal processing applications
A DSP is a specialized CPU for signal processing applications. Its core is designed to optimally execute signal processing algorithms for which the principle operation (multiply-and-accumulate) is similar across almost all algorithms. DSPs are also packaged with many peripherals and different types of memory in the same device, similar to micro-controllers. In a sense, DSPs concurrently offer all flexibilities and functionalities offered by microcontrollers in addition to being optimal for signal processing applications for low and medium performance applications. Therefore, DSPs become the device of choice for system architects for a large range of application given the combination of:

  • Microcontroller functionality,
  • Being optimized for signal processing, and
  • Numerous on-chip peripherals bundled in the same package.
As an example, a Nuvation customer wanted to develop a laser control loop. For that project a DSP-capable microcontroller was optimal for cost and integration reasons. FPGAs lack integrated ADCs (analog to digital converters) and DACs (digital to analog converters) internally, but developers can get that functionality in a DSP. Nuvation used a small DSP-capable microcontroller with a 12-bit ADC, 8-bit DAC, and an Ethernet interface to handle an entire control loop without additional parts. This approach saved considerably on the BOM cost and board complexity.

As another example, Nuvation recently worked on a motor control application with multiple control loops that would work well in an FPGA's parallel architecture. However, a TI DSP capable controller was clearly optimal when we considered the cost implications of developing each separate processor-type function (communications, supervising, etc).

FPGAs in signal processing applications
FPGA devices let designers to create custom logic for widely parallel, high computation rate signal processing. For example, an 81-tap FIR filter operating at 400 MSPS requires over 32 billion MMACS. Such performance is approximately an order of magnitude beyond the capabilities of a single DSP. However, a single FPGA can easily provide this performance.

It is important to mention that this performance is available at a cost premium, which can be up to an order of magnitude higher than the price of a DSP. The increased cost is due to NRE costs and the cost of the FPGA itself. For example, most signal processing systems require more than just a simple function such as a FIR filter. Most systems perform other types of functions such as data treatment and decision making. When using an FPGA, every additional signal processing function, data treatment and/or algorithm requires its own specialized logic. Therefore, added system complexity may quickly increase the device size, NRE costs and schedule.

FPGA-DSP co-processing architectures
As mentioned in the previous paragraph, each added function in the FPGA has the potential to increase the schedule, NRE and parts cost. If the added functionality is within the capabilities of a DSP chip, it is cost effective to implement that function on a DSP while keeping the MAC-intensive operations in the FPGA.

In general, this means placing functions that consume less than 1000 MMAC on the DSP, and placing functions with higher requirements on the FPGA. For example, Nuvation implemented an envelope detection application with a 500 MSPS sample rate on a DSP-FPGA hybrid. The FPGA performed the initial high-sampling rate filtering and decimation, and a DSP performed the remaining signal processing functions. This system configuration profiting from advantages offered on each platform.

1 | 2 | 3 | 4

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :