(Proposal for a demo/poster at the DAC 2004 University Booth)
The Metropolis Project aims to develop an environment for complex electronic-system design that supports simulation, formal analysis, and synthesis. This project involves researchers, faculty and students from UC Berkeley, Cadence Berkeley Labs, UC Riverside, and Politecnico di Torino, among others. The Metropolis project is supported primarily by the Gigascale Systems Research Center and the Center for Hybrid and Embedded Software Systems. The lead faculty member is Prof. Alberto Sangiovanni-Vincentelli.
Due to the tremendous increase in design complexity during the
past few years, the electronic design automation community has been forced to
design at higher levels of abstraction. Other challenges include continued
scaling, higher power consumption, IP integration, shorter design cycles and
heterogeneous designs. Unfortunately, an ad-hoc adaptation of existing design
flows will not tackle these problems successfully. Even though new languages and
interchange formats are important, an overall design methodology - a design
science - is key. Through the Metropolis [1] project, we aim to provide a
concrete example of the platform-based design methodology [2] we advocate.
In the platform-based design approach, the separation of concerns between
different aspects of the design allows for component reuse and easier
integration, while enabling faster design space exploration. The three main
types of orthogonal aspects are:
Functionality and Architecture: These two facets of the design are
usually handled by separate groups within a company. Typically, a single
architectural platform may serve many different functional models. A functional
model contains both computation and communication elements.
Computation and Communication: Computation is usually design-specific
while communication is standardized. Having a clearly defined separation between
these two aspects of a functional description allows different communication
schemes to be utilized easily. This separation also enables design space
exploration and encourages component reuse.
Behavior and Performance: Performance indices are usually back-annotated
from estimated system performance whereas behavior is dictated by system
specifications. Since different design groups usually work on these two portions
of a design, this separation is useful. Also, changes in physical implementation
platforms usually manifest themselves as performance changes, so this separation
also provides for more implementation flexibility.
These aspects, along with a clear semantic foundation, are the main features of
the Metropolis Development Environment.
The first major industrial example that we have chosen to showcase the capabilities of the Metropolis environment is the Picture-in-Picture system example originally obtained from Philips Research. This design takes as input a multiplexed MPEG input stream and does the necessary decoding, resizing, and encoding necessary to display a PiP output MPEG stream. The functional model can either use point-to-point FIFO or a shared memory block to carry out internal communication. The design runs on an abstract architecture which models the performance provided by the Xilinx Virtex II FPGA.
Our demo will demonstrate how Metropolis allows the designer to easily substitute communication schemes and architectures without making significant modifications to the design. This enables quick design space exploration.
Outline:
Describe the methodology of Platform-Based design behind the Metropolis Development Environment
Show how the Metropolis framework is put together, with backend tools.
Introduce the PiP design in the Metropolis Metamodel language.
Describe the two communication schemes that can be used: FIFO and shared memory.
Show how multiple refined versions of the architecture are created, with different scheduling algorithms and components.
Explain how performance numbers are annotated to these architectures.
Map the functional description to the architecture, and try different combinations to explore the design space.
Show the SystemC output trace and view the generated PiP MPEG output.
[1] F. Balarin, Y. Watanabe, H. Hsieh, L. Lavagno, A. Sangiovanni-Vincentelli, "Metropolis: An Integrated Electronic System Design Environment," IEEE Computer, April 2003.
[2] Alberto Sangiovanni Vincentelli. "Defining platform-based design,"
EE Design, February 2002.