A case study in embedded system design: an engine control unit

A number of techniques and software tools for embedded system design have been recently proposed. However, the current practice in the designer community is heavily based on manual techniques and on past experience rather than on a rigorous approach to design. To advance the state of the art it is important to address a number of relevant design problems and solve them to demonstrate the power of the new approaches. We chose an industrial example in automotive electronics to validate our design methodology: an existing commercially available Engine Control Unit. We discuss in detail the specification, the implementation philosophy, and the architectural trade-off analysis. We analyze the results obtained with our approach and compare them with the existing design underlining the advantages offered by a systematic approach to embedded system design in terms of performance and design time.

[1]  Niraj K. Jha,et al.  High-level synthesis of low-power control-flow intensive circuits , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[3]  Edmund M. Clarke,et al.  Symbolic model checking for sequential circuit verification , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[5]  Kunle Olukotun,et al.  A software-hardware cosynthesis approach to digital system simulation , 1994, IEEE Micro.

[6]  Herman Schmit,et al.  A Model and Methodology for Hardware-Software Codesign , 1993, IEEE Des. Test Comput..

[7]  Gaetano Borriello,et al.  Scheduling for reactive real-time systems , 1994, IEEE Micro.

[8]  Frank Vahid,et al.  System design methodologies: aiming at the 100 h design cycle , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Giovanni De Micheli,et al.  Hardware-software cosynthesis for digital systems , 1993, IEEE Design & Test of Computers.

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  A compilation-based software estimation scheme for hardware/software co-simulation , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  Modeling micro-controller peripherals for high-level co-simulation and synthesis , 1997, CODES.

[12]  A. Sangiovanni-Vincentelli,et al.  Modeling micro-controller peripherals for high-level co-simulation and synthesis , 1997, Proceedings of 5th International Workshop on Hardware/Software Co Design. Codes/CASHE '97.

[13]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[14]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[15]  Alberto L. Sangiovanni-Vincentelli,et al.  Efficient software performance estimation methods for hardware/software codesign , 1996, DAC '96.

[16]  Edward A. Lee,et al.  A hardware-software codesign methodology for DSP applications , 1993, IEEE Design & Test of Computers.

[17]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[18]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[19]  R. P. Kurshan,et al.  Automata-theoretic verification of coordinating processes , 1994 .