FPGA is an electronic device that helps the design engineers to create custom logic for high commutation signal processing and DSP is a CPU for signal processing applications that has been designed to execute signal processing algorithms for which the principle algorithm that is multiply-and-accumulate operation is similar to all other algorithms. In the implementation of DSP (Digital Signal Processor) and FPGA (Field Programmable Gate Array), design engineers focus on various parameters such as: Power Consumption, System Performance, Form Factor, System’s Future Upgrade Ability, Non-Recurring Engineering (NRE) Investment, Bill-of-Materials (BOM) Cost and Project Risk. Generally the engineers know about DSP but not completely aware of FPGA and hence this creates a situation where they need to select any one of them.
These devices are very different from each other and designed to serve different purposes. DSP provide an optimized platform for signal processing algorithms implemented in software whereas FPGA were for glue logic. Nowadays, there are certain applications where both these devices deliver optimum solutions. FPGA is the better choice for networking applications and DSP is at its best in video applications. This example indicates their performance has gone through a remarkable change over the years.
In terms of cost-performance values, DSP and FPGA are compared in three MMAC (Millions of Multiply-Accumulate Operations per Second) performance categories viz. High, Medium and Low.
MMAC is the number of fixed-point-32-bit or single-precision floating-point multiply-and-accumulate operations that can be executed in units of millions per second. The table given below can help the design engineers in making the right selection between DSP and FPGA.
MMAC Category | Minimum Cents/MMAC for FPGA | Minimum Cents/MMAC for DSP | |
High (>1000 MMAC) | $100 to $300 | 2.9 | 5.8 |
$300 to $1000 | 4.2 | 13.4 | |
$1000 to $10000 | 20 | - | |
Medium (300 to 1000 MMAC) | $10 to $30 | 1.4 | 1.6 |
$30 to $100 | 2.8 | 3 | |
Low (<300> | < $10 | - | 1.8 |
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. 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.
Applications where system architects search for platforms provided by DSP and FPGA such as video ports and other interface connectivity, digital signal processing power, for executing management and controlling tasks are:
- Digital Cameras
- Set-top-boxes in video applications
- Entertainment devices
No comments:
Post a Comment