OutlineThe Goals of DesignThe ProblemSome TrendsASV’s Solution: Platform-based DesignWhy does it work?Other “Platform” DefinitionsThe System-Platform StackArchitecture PlatformSoftware (API) PlatformOther Platform StacksConclusion1Platform-Based DesignA paper byAlberto Sangiovanni-VincentelliEE 249, 11/5/2002Presenter: Mel Tsai2Outline1) The Goals of Design2) The Problem & Trends3) ASV’s Solution: Platform-based Design•Why does it work?4) Other Definitions of “Platform”5) The System Platform Stack•Architecture Platforms•Software (API) Platforms6) Other Platforms7) Conclusion3The Goals of Design•Minimize:Development costsProduction time•While Maximizing:Performance (i.e. speed, low power consumption)Functionality (i.e. more features)Production volume (i.e. more profit)4The Problem•Development & production costs are expensiveChip 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.5Some Trends•Full-custom design is being replaced by “library-based” designTrend towards design at higher levels of abstractionTrend towards hardware re-use, in both space and time•Short TTM requires architectures that can respond to late specification changesTrend towards architectures with HW or SW programmability•Fewer design startsTrend towards higher-volume production of fewer chips6ASV’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 platformDesign by successively refining a platform instance until it becomes an instance of a subsequent (lower) platform.7Why 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.Silicon ImplementationApplicationSilicon ImplementationApplication8Other “Platform” Definitions•Many overlapping & outdated definitions in the hardware context:1) A flexible integrated circuit that is customized via programming2) A family of chips, based on the same microprocessor, that support various applications with different performance requirements3) A family of architectures that all support the same characteristic abstraction, i.e. the “PC platform”4) A family of architectures that satisfy a set of architectural constraints imposed to allow the re-use of hardware and software components.9The System-Platform Stack•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” approachIt is top-down because constraints and functionality propagate to each lower platform instanceIt is bottom-up because both the characteristics and performance of the lower levels must be exported to the upper platformApplication SpaceArchitecture SpaceApplication InstanceArchitecture InstanceAPI PlatformArchitecturePlatformPlatform Design-Space ExplorationPlatform Specification10Architecture 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.11Software (API) Platform•Software development is now 80% of the design of embedded systemsThe 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 RTOSDevice drivers and I/OThe communication network12Other Platform StacksArchitecture PlatformSilicon Implementation PlatformManufacturing Interface PlatformManufacturing Interface Platform StackSilicon Implementation Platform Stack13Conclusion•Platform-based design minimizes design time and cost by breaking the design process into manageable partsThe 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 levelPoor estimates and abstractions early-on can be magnified at the later
View Full Document