Embedded systems are informally defined as a collection of programmable parts surrounded by ASICs and other standard components, which interact continuously with an environment through sensors and actuators. The programmable parts include micro-controllers and Digital Signal Processors (DSPs). Embedded systems are often used in life-critical situations, where reliability and safety are more important criteria than performance. Today, embedded systems are designed with an ad-hoc approach that is heavily based on earlier experience with similar products and on manual design. Use of higher-level languages such as C helps structure the design somewhat, but with increasing complexity it is not sufficient. Formal verification and automatic synthesis of implementations are the surest ways to guarantee safety. Thus, the POLIS system -- a co-design environment for embedded systems based on a formal model of computation. POLIS was initiated in 1988 as a research project at the University of California at Berkeley and, over the years, grew into a full design methodology with a software system supporting it. Hardware-Software Co-Design of Embedded Systems: The POLIS Approach is intended to give a complete overview of the POLIS system, including its formal and algorithmic aspects. This book will be of interest to embedded system designers (automotive electronics, consumer electronics and telecommunications), micro-controller designers, CAD developers and students. Authors: Felice Balarin, Massimiliano Chiodo, Paolo Giusto, Harry Hsieh, Attila Jurecska, Luciano Lavagno, Claudio Passerone, Alberto Sangiovanni-Vincentelli, Ellen Sentovich, Kei Suzuki, Bassam Tabbara. Table of Contents List of Figures List of Tables Preface Introduction The Importance of Embedded Systems Design of Embedded Systems The POLIS System Book Organization Models and Representations Co-design models and languages CFSMs: Intuitive Semantics CFSMs: Mathematical Model CFSMs: Modeling Data Flow The SHIFT Format Specification: Synchronous Languages Overview of the ESTEREL language Specification: Graphical FSMs Modeling Software CFSMs Software Cost Model Processor Characterization Model Synthesis Partitioning and Architecture Selection Software Synthesis Software Cost Estimation Hardware Synthesis Interface Synthesis and the Real-Time Operating System Interface synthesis Real-Time Operating System Synthesis Network-Specific Parts: Interfacing Hardware and Software Target-Specific Parts: Creating an Abstraction Scheduling-Specific Parts: Coordinating sw-CFSMs Common Parts: Filling the Gaps Schedule Validation Verification Rapid Prototyping Simulation Co-simulation using the PTOLEMY environment Simulation as partitioning support High-level Co-simulation using VHDL Formal Verification Interfacing to External Hardware and Software External Hardware External Software Interfacing to an External RTOS Design Examples A Dashboard Controller An Automotive Bus Controller A Shock Absorber Controller Conclusions and Future Work Glossary The Syntax of SHIFT Index References Hardcover; 320 pages.
|