130 likes | 262 Views
Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai. Outline. The Goals of Design The Problem & Trends ASV’s Solution: Platform-based Design Why does it work? Other Definitions of “Platform” The System Platform Stack
E N D
Platform-Based Design A paper by AlbertoSangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai
Outline • The Goals of Design • The Problem & Trends • ASV’s Solution: Platform-based Design • Why does it work? • Other Definitions of “Platform” • The System Platform Stack • Architecture Platforms • Software (API) Platforms • Other Platforms • Conclusion
The Goals of Design • Minimize: • Development costs • Production time • While Maximizing: • Performance (i.e. speed, low power consumption) • Functionality (i.e. more features) • Production volume (i.e. more profit)
The Problem • Development & production costs are expensive • Chip geometries are shrinking – the billion-transistor-on-a-chip age. • Complex chips have long design cycles & difficult verification issues… There is a designer “productivity gap” that is exacerbated by short time-to-market. • High NRE costs: Mask sets & probe cards are becoming prohibitively expensive. ITRS predicts >$1M for 0.15 micron and smaller.
Some Trends • Full-custom design is being replaced by “library-based” design • Trend towards design at higher levels of abstraction • Trend towards hardware re-use, in both space and time • Short TTM requires architectures that can respond to late specification changes • Trend towards architectures with HW or SW programmability • Fewer design starts • Trend towards higher-volume production of fewer chips
ASV’s Solution: Platform-based Design • Basic idea: • Goal is to hide the details of a design through a layered system of abstractions. • Identify the most natural and important layers of abstraction, and call them platforms. • Application Programming Interface (API) platform • Architecture platform • Silicon implementation platform • Design by successively refininga platform instance until it becomes an instance of a subsequent (lower) platform.
Application Application Silicon Implementation Silicon Implementation Why does it work? • Design time & cost are minimized: • Design-space at each layer is restricted because underlying layers are abstracted-away. Hence, the design of each platform instance is more manageable. • Each layer can be (mostly) designed independently of the others, eliminating the need for complete design-loop iterations when things go wrong. • Hardware and/or software components can be re-used if they can be folded into a platform and abstracted properly.
Other “Platform” Definitions • Many overlapping & outdated definitions in the hardwarecontext: • A flexible integrated circuit that is customized via programming • A family of chips, based on the same microprocessor, that support various applications with different performance requirements • A family of architectures that all support the same characteristic abstraction, i.e. the “PC platform” • A family of architectures that satisfy a set of architectural constraints imposed to allow the re-use of hardware and software components.
The System-Platform Stack Application Space • System-Platform Stack: the “sandwich” consisting of the API platform and the Architecture platform. • ASV’s Platform-based design is a “meet-in-the-middle” approach • It is top-down because constraints and functionality propagate to each lower platform instance • It is bottom-up because both the characteristics and performance of the lower levels must be exported to the upper platform Application Instance Platform Specification API Platform Architecture Platform Platform Design-Space Exploration Architecture Instance Architecture Space
Architecture Platform • In this approach, the architecture platform should support architectures that are “mainly geared towards optimizing design-time.” • This implies an approach based on a family of similar micro-architectures, i.e. programmable architectures, that can be extended or reduced for a range of different applications. • There is a trade-off between flexibility of the architecture platform and design-time. • Fewer constraints on the platform provide better support for applications & optimization, but constrained architectures have fewer parameters and are easier to assemble & verify.
Software (API) Platform • Software development is now 80% of the design of embedded systems • The re-use of application software is a must • The goal of the API platform is to present an abstracted interface to any proposed instance of the architecture platform. • The API platform is a software interface that wraps: • The processor & memory via an RTOS • Device drivers and I/O • The communication network
Other Platform Stacks Architecture Platform Silicon Implementation Platform Stack Silicon Implementation Platform Manufacturing Interface Platform Stack Manufacturing Interface Platform
Conclusion • Platform-based design minimizes design time and cost by breaking the design process into manageable parts • The exploration space for each step is small • Due to the restricted design space, this approach may not produce the highest-performing designs • The validity of this approach depends on the ability to accurately abstract and estimate final performance at each level • Poor estimates and abstractions early-on can be magnified at the later stages