homepage : Polis is a system level design tool. The project started in
1985 as a collaboration between Magneti Marelli and University of
California at Berkeley. It offers an entire flow form concept to
implementation. The function is described as a set of Communicating Finite
State Machine. Each machine can be independently mapped into software or
into hardware by means of a-hoc synthesis tools. Also the interfaces
between them are synthesized. A great description of the methodology and
technical implementation is given in “Hardware-Software Co-Design of Embedded Systems: The
Kluwer Academic Press , June 1997. Gzipped Postscript of Table of content and Preface
- Metropolis : is the natural successor of Polis. The project I guess started in 1997 from the idea of freeing the designer for the too strict CFSM model of computation. Recently the notion of architecture and mapping has been clarified and implemented making this tool a real promise for future system level design environment.
- Ptolemy : Led by prof. E. A. Lee, Ptolemy is one of the most stable, clean and very well designed simulation environment for heterogeneous system. Using Ptolemy it is possible to simulate systems resulting form the interconnection of models described in different computation domains.
- Mescal : Prof. K. Keutzer is the leader of this project whose goal is two fold: (1) to provide a programmer's model and software development environment that allows for efficient implementation of an interesting set of applications onto a family of fully-programmable architectures/microarchitectures and (2) to develop an architecture development system to specify, evaluate and explore such fully-programmable (micro-) architectures using a correct-by-construction method
- GIOTTO: The Giotto system is a programming methodology for embedded control systems running on possibly distributed platforms. The Giotto system consists of a time-triggered programming language, a compiler, and a runtime system. Giotto aims at hard real-time applications with periodic behavior.
- Esterel : is a synchronous language. A lot of work has been done since it’s invention. Here you can find a complete toolset for modeling and simulation, verification and synthesis.
- SIGNAL : also a synchronous language. Signal allows polychorony (different clocks), clock calculus is used to infer clocks on signals defined in the system. A formal method has been developed to desynchronize SIGNAL programs and map them onto asynchronous platforms.
- LIBERTY : "The Liberty Computer Architecture Research Group exploits unique opportunities exposed by considering the interaction of compilers and architectures to improve performance, to reduce cost, to lower power, and to shorten the time to market of microprocessor systems. This objective is accomplished by providing critical computer architecture and compiler research, expertise, and prototypes to the community" [The Liberty Research Group]].
- CINDERELLA: Cinderella is a tool for determining a tight bound on a program's best case and worst case execution times. The tool performs a static analysis of the program's executable code, models the instruction cache memory and computes the bound through the use of integer linear programming. During the analysis, the user can provide additional path information so as to tighten the bound". [Yau-Tsun Steven Li]
- SperC : "SpecC is a system-level design language (SLDL) and a system-level design methodology".
- VCC [Cadence]: co-design environment for embedded systems. Commercial implementation of Polis based on CFSM model of computation.
- Cocentric [Synopsys]: based on SystemC
- ConvergenSC [CoWare]
- Future Design Automation Corp.: produces SystemCenter, a tool to develop algorithms in C and synthesize them into verilog
- Summit Design : Visual Elite