Contents
Metropolis Home
Overview
Metamodel
Tools
Design Methodologies
Platform-Based Design
Wiki
Publications
4/07 IEEE Article
4/03 IEEE Article
6/02 GSRC Presentations
People
Polis
Search
Members
src
Private Forum
|
Metropolis: Design Environment for
Heterogeneous Systems
Tool Support
The meta model serves as input for all the tools built in Metropolis.
The meta model files are parsed and turned into an Abstract Syntax Tree
(AST) by the metropolis frontend. Tools are written as back-ends that
operate on the AST, and either output results or modified meta model
code.
One
tool of particular importance is a metamodel simulator. A simulator is
developed for
an executable language. It first parses the meta model and provides an
implementation of each construct of our model using primitives of the
language
so that the result is semantically compatible. This is then simulated
by a
simulator of the language. As an example, we have developed a
based on System C 2.0 that is semantically compatible with the
metamodel semantics. It synthesizes SystemC code from the model's AST,
which is then compiled and executed. We are also currently developing a
simulator written directly in C++. As with VCC, the meta model can be
annotated
with performance information generated from the architecture
specification, so
that the same simulator can be used to conduct performance simulation
for
mapped functions.
The Toolset
We break the tools into three categories: Simulation, Synthesis, and
Analysis and Verification. All tools take the form of a Metropolis
backend that interprets designs specified in the metamodel language and
parsed by the front-end into an abstract syntax tree.
Simulation
Metropolis SystemC Simulator -
Synthesis
Communication Synthesis -
Interface Synthesis -
Quasi-Static Scheduling -
Analysis and Verification
LOC-Checker/Monitor
SPIN Interface
Refinement Verification
Prometheus Timing Verification
|
|