MILAN
Technical Overview

The Model-based Integrated simuLAtioN (MILAN) framework is an extensible environment that facilitates rapid evaluation of different performance metrics, such as power, latency, and throughput, at multiple levels of granularity, of a large class of embedded systems by seamlessly integrating different widely-used simulators into a unified environment. The MILAN framework is aimed at the design of embedded high-performance computing platforms, of System-on-Chip (SoC) architectures for embedded systems, and for the hardware/software co-design of heterogeneous systems.

MILAN is based-on model-integrated technology. The hardware architecture and the application design are captured in the form of models along with a set of explicit formal constraints that represent requirements. The Generic Modeling Environment (GME 2000), a configurable modeling and program synthesis environment, provides the user interface to MILAN.

The application models take the form of a hierarchical dataflow representation. As opposed to a point solution, the models capture the design space of the application by allowing the user to specify explicit implementation alternatives at any location in the hierarchy. The architectural options are also described in a similar manner. Requirements related to performance, timing, power consumption, cost, etc. are specified by explicit constraints. Resource and mapping constraints are also captured this way. The potentially huge design space can be explored and pruned by symbolic constraint satisfaction. This is usually an iterative and interactive process that requires the user to modify the system models by relaxing various existing constraints or adding new ones. The goal is to get to a handful of candidate solutions that satisfy all of the constraints. These candidates are then subjected to further, more detailed, analysis via the integrated simulators. Model interpreters are used to translate model data for use in driving the various functional and performance simulation engines. Functional simulation can be performed by MATLAB or SystemC. The high-level power and performance simulator provides an initial estimate of the application performance. Bottlenecks can be identified and the selected components can be simulated with a lower level (i.e. more accurate, but slower) simulator, such as SimpleScalar or Trimaran.

Results from the different simulations need to be integrated back into the models in the form of performance attributes or architectural parameters. For certain simulators this can be automated, for others this will be a human-in-the-loop process.

For the list of currently integrated tools and the public release schedule visit the status page.

For more information:

 

Distributed Object Computing
Model-Integrated Computing
Model-Driven Architecture
Projects
Courses
SIPHER
Tutorials
Current Papers & Reports
Archived Papers & Reports
Presentations
Theses
Workshops/Seminars