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:
-
un-biased specification, using extended Finite State Machines that can be
(almost) indifferently implemented in HW or SW.
- support of multiple specification languages (Esterel, graphical state
machines, VHDL, Verilog, ...).
- design aids for quick evaluation and optimized synthesis, to guide the
(manual) architecture selection and partitioning step.
- automated generation of interface circuitry and software (device drivers)
for the chosen micro-controller configuration.
- accurate estimation of software cost and performance (memory and cycles)
on a range of micro-controllers, without the need to compile and profile it.
- emphasis on the verifiability (both with simulation and formal
techniques)
of each design level, from specification to implementation.
POLIS is described
in a presentation
(available also here
in Powerpoint format),
as well as in several publications, including:
-
F. Balarin, E. Sentovich, M. Chiodo, P. Giusto, H. Hsieh, B. Tabbara,
A. Jurecska, L. Lavagno, C. Passerone, K. Suzuki, and
A. Sangiovanni-Vincentelli.
Hardware-Software Co-design of Embedded Systems -- The POLIS
approach.
Kluwer Academic Publishers, 1997.
-
M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, and
A. Sangiovanni-Vincentelli.
Hardware/software codesign of embedded systems
IEEE Micro, 14(4):26--36, August 1994.
-
S. Edwards, L. Lavagno, E.A. Lee, and A. Sangiovanni-Vincentelli.
Design of embedded systems: formal models, validation, and synthesis.
Proceedings of the IEEE, 85(3):366--390, March 1997.
-
F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno,
A. Sangiovanni-Vincentelli, E. Sentovich, and K. Suzuki.
Synthesis of software programs for embedded control applications.
IEEE Transactions on Computer-Aided Design, June 1999.
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