A Case Study in Embedded Systems Design: An Engine Control Unit

A number of techniques and software toolsfor embedded system design have been recently proposed. However,the current practice in the designer community is heavily basedon manual techniques and on past experience rather than on arigorous approach to design. To advance the state of the artit is important to address a number of relevant design problemsand solve them to demonstrate the power of the new approaches.We chose an industrial example in automotive electronics to validateour design methodology: an existing commercially available EngineControl Unit. We discuss in detail the specification, the implementationphilosophy, and the architectural trade-off analysis. We analyzethe results obtained with our approach and compare them withthe existing design underlining the advantages offered by a systematicapproach to embedded system design in terms of performance anddesign 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]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

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

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  Task scheduling with RT constraints , 2000, DAC.

[5]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

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

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

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

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

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

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

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

[13]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

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

[15]  Luciano Lavagno,et al.  A case study in embedded system design: an engine control unit , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

[17]  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).

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

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

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

[21]  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.

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

[23]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[24]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.