Mobile device designers face a critical question: what functionality should be incorporated in their next-generation designs? Answering this question while simultaneously addressing the market needs of rapid development, lowest cost, and long battery life presents a major challenge. The advent of customer specific standard products is helping designers maximize their design options while minimizing cost and effort.
Because next-generation mobile devices will likely assume a central role in consumer electronics, serving both as a personal device and as key core elements in a full-featured home entertainment and communications system, they must provide many connectivity options. Further, the functions of the portable media player, digital camera/camcorder, game system, and enhanced mobile phone with web browsing and PDA capabilities are converging into a single mobile device. To enable all these features, the solutions that designers need require a variety of interfaces, including high-capacity storage, WLAN and Bluetooth, GPS and the like. However, the exact mix of functions that the market will demand is difficult to predict.
Mobile device developers are therefore faced with a major challenge. To succeed in a rapidly changing market their designs must be flexible with a high degree of design reuse or they will take too long in development and miss market opportunities. At the same time, the designs will have to achieve the lowest possible cost, so developers cannot hedge their bets by including functions solely for future expansion. Further, the device must offer high performance and yet still enable long battery life.
The ideal design approach for mobile devices, therefore, is one that offers high-integration, design flexibility, ease of implementation and low-power. Unfortunately, conventional design approaches, which include the use of ASICs and ASSPs (application specific standard products), processor-based software implementations and programmable logic, all tend to fall short in one or more of these areas. As a result, designers have had to resort to making tradeoffs.
Limitations of current design approaches
An ASIC-based design, for instance, can produce components that are relatively inexpensive on a per-unit basis and will yield high-performance and long battery life. They are able to achieve these benefits because ASIC developers can craft a design optimized for performance and battery life while also minimizing die area for lowest cost. The drawback is that ASICs take a long time to design – often from 12 to 18 months. In the rapidly-changing mobile device market, only commodity features – ones that customers expect to be in every device – are suitable for ASIC implementation. New and innovative features would take too long to implement in ASIC form, risking both late market entry and heavy investment in a function that may not become popular.
The ASSP approach tries to improve on ASIC development by offering components that are mostly pre-designed, awaiting only software configuration during system boot-up to complete the implementation. This approach is relatively inflexible, however, with limited opportunities for customization. It relies solely on the ASSP vendor to have pre-defined exactly the right mix of capabilities in the silicon. Otherwise, the component will have silicon area dedicated to functions that are not being used, inflating production costs. Also, while shorter than full ASIC implementations, ASSP design times are still long enough to risk missing market opportunities.
Processor-based software implementations offer a high degree of design flexibility; simply reprogram the processor to add new functions. They also provide an opportunity for design reuse to speed development of derivative and next-generation devices. While the processor-based approach may have been optimal for early mobile devices, today's designs are so function rich that a pure software-based implementation requires substantial processing capability. That, in turn, demands high power levels that can severely reduce battery operating time. Building peripherals into the processor helps address these concerns, but introduces the same costs and inflexibility issues that ASSPs face.
Like processors, programmable logic also offers flexibility and design reuse benefits. By itself, however, programmable logic cannot address all of a mobile device's requirements. Primarily, this is due to the fact that memory-based programmable logic technologies are notorious for their power demands, high cost and volatility. Typically, the only programmable logic one will see in a mobile device is in the form of a Complex Programmable Logic Device (CPLD) – a true misnomer since CPLDs can really only handle glue logic and GPIO functionality.
In many cases, a mobile device design will end up using a blend of these techniques. Software handles some functions, ASSPs and other standard product peripherals handle I/O interfaces, and occasionally a CPLD will glue them together. Unfortunately the blended approach is not particularly cost-competitive as it requires too many components and results in a relatively large and inefficient design.