Platform-based design is an efficient way to design complex system-on-a-chip (SoC) products. PBD moves beyond the reuse of individual IP blocks, to the reuse of complex architectures of hardware and software components organized for a specific application domain. Platforms, along with libraries of predesigned and characterized hardware and software virtual components, enable rapid, low-risk creation of derivative products. Examples of SoC platforms include wireless handset chipsets, digital multimedia devices (such as set-top boxes), automotive systems, and personal digital assistants (PDAs).
Recent developments are increasing the potential application domains for PBD. Such developments include the arrival of network processor units and the creation of highly programmable platforms with fixed-core instruction set processors, memory, and large amounts of reconfigurable logic. Design methodologies for creating platforms and using them to rapidly and safely create derivative designs still require substantial development, but new approaches are on the horizon.
Many companies are investing in PBD—for example, in wireless handset platforms such as TI's Omap and Infineon's M-Gold. In fact, STMicroelectronics and many others have applied this concept to second-generation (2G) and 2.5G handsets, and are using it as the basis for upcoming 3G products. In multimedia applications, the Philips Nexperia platform is well-known. Indeed, companies seem to announce new platforms as the basis for applications such as PDAs and other consumer products almost weekly. These announcements come from IP houses as well as from semiconductor and systems suppliers. IP houses have been offering more complex platforms lately, moving beyond just embedded processors to include full processor subsystems containing on-chip buses, memory interfaces, and basic peripherals.
PBD is the best-validated industrial approach for achieving high reuse in SoC design, and incurs the lowest risk in derivative creation. According to the Virtual Socket Interface Alliance study group, PBD must be based on
• real implementation experience;
• a definable, complete architectural description derived from the implementation;
• complete, accurate models describing platform behavior and capability;
• tools allowing integration of platform models into complete, higher-level system models; and
• a common design methodology.
The six articles in this special issue touch on all these attributes. Although practical industry use is the main motivator for PBD, many would like to define it in a more disciplined, formal way and provide strong underpinnings for platform and derivative-design methodologies. The first article, by Mihal et al., describes the Modern Embedded Systems, Compilers, Architectures, and Languages project. Mescal focuses on design methodologies and tools for embedded platforms that use network-processing applications as design drivers. This article draws from several related research areas to provide a rigorous approach to application platform design.
The second article, by Paulin, Pilkington, and Bensoudane, presents an industry-driven approach to PBD and development. As with Mescal, this approach uses network-processing applications as design drivers. Although the platform approach is more common in consumer applications such as wireless handsets and set-top boxes, network applications are increasing. This article also emphasizes PBD methodology and the importance of design tools, especially for embedded systems and software, and for configuration and analysis.
Liem et al. focus on another industry-driven platform architecture, centered on specific reconfigurable and customizable IP. They show the importance of customized, optimizing tool sets and the advantages that specialized IP (in this case, the DSP-oriented Jazz processor architecture) can provide to specific application segments. Stitt and Vahid emphasize two important aspects of PBD: power optimization (especially important in handheld and battery-driven products) and reconfigurable logic (which is growing in importance).
As any designer knows, hardware platforms are not enough. It is difficult to find a SoC platform without at least one programmable processor—in fact, often there are several, and they are usually heterogeneous. The platform offered to designers must incorporate software programming and control aspects as well as configuration controls for the hardware resources. In the fifth article, Mooney and Blough propose designing the multiprocessor platform hardware architecture and the real-time operating system (RTOS) together to achieve optimal capability, rather than designing the hardware first and then porting the RTOS to it.
PBD is not the only approach for designing complex SoCs and ensuring high reuse levels. For some applications, a more block- or component-based approach is appropriate. The last article in this special issue, by Cesário et al., presents a bottom-up approach that shares many characteristics with PBD. This approach, however, is perhaps more appropriate for exploring performance-driven architectures than other PBD approaches that focus on reducing design time.
Finally, in The Last Byte, Sangiovanni-Vincentelli generalizes the platform concept and its context, applying it to design domains that go beyond SoCs. The platform concept has been important in networking and vehicle (automotive and aerospace) applications as a basis for delivering next-generation services. Hence, it is appropriate that this concept manifests itself both in the design of complex SoCs used in higher product levels and in those higher product levels themselves. The continued development of advanced methods to support PBD concepts will lead to huge reductions in delivery time for such products.
This special issue not only demonstrates the reality of PBD; it also describes the design tools and requirements for its successful implementation, and presents some likely development directions for the future. As the leading SoC reuse methodology, PBD will only grow in importance and application. In a few years' time, expect to see a much-evolved version of this dynamic design approach.
I appreciate the help and support of Rajesh Gupta and Yervant Zorian; the editorial staff; and the many reviewers, who were instrumental in the article selection. I also thank everyone who submitted an article—whether accepted or not—for this special issue.
is a Fellow at Cadence Berkeley Labs. His research interests include platform-based design, system-level design, and embedded software. Martin has a BMath and MMath in mathematics from the University of Waterloo. He is a member of the IEEE.