Hardware/Software Co-design of Embedded Systems

Hardware/Software Co-design of Embedded Systems


Embedded systems are informally defined as a collection of programmable parts surrounded by ASICs and other standard components, that interact continuously with an environment through sensors and actuators. The programmable parts include micro-controllers and Digital Signal Processors (DSPs). The main problems in their design are the definition of the architecture (choice of processors, hardware/software partitioning, etc.), and the integration of hardware and software.

Our research in this area has been part of the POLIS project, involving the University of California at Berkeley, Magneti Marelli, Cadence Design Systems, Politecnico di Torino and several other organizations. The aim of the project is to develop a complete hardware/software codesign environment for real-time reactive embedded systems.

The key aspects of the methodology and of its supporting tools are:

POLIS is described in a presentation (available also here in Powerpoint format), as well as in several publications, including:

The tools that are being developed during the POLIS project are publicly available (in source and executable form) on the POLIS group WEB site. They are one of the key technologies behind the Felix initiative of Cadence Design systems, and the VCC tool.

Between 1998 and 2001 we have also been working in the ESPRIT 25443 COSY, that is applying VCC to the design of multi-media and industrial control applications by Philips and Siemens.


Luciano Lavagno
Updated 11/5/99