[Part 1 lists the questions you should ask when looking for an embedded media processor—and the answers you should look for. You can read more on this topic in the article Processors for video.]
Processor selection is a crucial milestone in designing any system. There are many processor options to consider for embedded media applications, and each has its pros and cons. As we discussed in Part 1, using a familiar device can speed development time. However, you should not just reflexively choose whatever processor you've used in the past. This approach can lead to design limitations that do not appear until it's too late to address them appropriately.
This article will help you make a more intelligent choice. Let's start by reviewing the basic device alternatives available:
ASICs and ASSPs
- Application-Specific Integrated Circuit (ASIC)
- Application-Specific Standard Product (ASSP)
- Field-Programmable Gate Array (FPGA)
- Microcontroller (MCU)
- Digital Signal Processor (DSP)
- DSP/MCU Combinations (discrete or unified)
ASICs are "hardwired" to fit the exact requirements of a specific end product. Because of this, they can be optimized for both power and performance as part of the design process. The ASIC usually evolves from a non-ASIC solution developed for prototyping and/or for initial low-volume shipments. After market requirements stabilize, an ASIC can be developed to reduce the cost of the end application for high unit volumes. Thus, the ASIC is often a good choice for markets based on stable technologies and requirements.
The ASSP is a cousin of the ASIC. The ASSP is dedicated to a specific application market but sold to many customers within that market, whereas an ASIC is designed and sold to one specific company. As a result, support collateral for ASSPs is usually much more extensive than with ASICs. Because of this, ASSPs are often preferred over ASICs for companies with little in-house ASIC design expertise. ASICs and ASSPs are about equal in size and cost for a given application.
While a fixed-function ASIC/ASSP might very well embody an optimal solution for a specific embedded media processing application—including the exact peripheral set necessary to succeed in the end market—its limited flexibility hinders its ability to accommodate new features or evolving requirements. This lack of flexibility, in turn, limits a consumer's options, since separate recorders or players are then required to handle different media formats.
Given today's volatile mix of old, new and emerging media formats and standards, ASICs have become less appealing. Evolving standards do not lend themselves to ASIC implementations. Neither do complicated algorithms. After all, software mistakes on a programmable processor can be rectified with a recompile, but ASIC mistakes may mean a new chip spin at very high cost.
To keep pace with evolving performance, power and size requirements, there is a natural push towards developing devices in smaller silicon process geometries. However, as these geometries continue to shrink, ASIC development costs grow exponentially. At 65 and 90-nanometer geometry sizes, for instance, the IC mask set alone costs over $1 million. This hefty development price tag, coupled with long design lead times, has given pause to companies pursuing an ASIC development path. These factors make it hard to keep pace in custom hardware design, a prime reason why embedded media processing system developers are looking toward more programmable solutions.
Compared to ASICs, FPGA offer faster product development, thus shortening time to market. One reason FPGA development is faster is that FPGAs offer a huge base of standard building-block libraries for signal processing. FPGAs are also appealing because they can achieve performance exceeding that of programmable processors. This is possible because FPGAs, like ASICs, allow the designer to optimize the hardware for a specific end product. In addition, FPGAs can perform massively parallel computation that is not achievable on a standard microcontroller or DSP.
However, FPGAs are larger and more expensive—and consume more power—than programmable processing solutions and ASICs. Thus, FPGAs generally aren't used as the main processor for portable multimedia applications. Instead, they are best used for prototyping, or in end systems where power and price are not main selection criteria.
That said, it's hard to beat an FPGA for flexibility in interfacing a system to the outside world. Most popular peripherals and industry-standard interfaces are available as standard blocks from FPGA vendors. In addition, the configurable nature of FPGA logic is ideal for allowing the media processor to talk with any external device. Another important feature of FPGAs is that it's straightforward to create an ASIC based on an FPGA implementation.