A Survey of Co-Design Ideas and Methodologies (draft)

Designing embedded systems becomes more and more complex due to the increasing size of integrated circuits, increasing software complexity and decreasing time-to-market requirements and product costs. A possible way to deal with this complexity is the use of high-level system design languages. Such approaches combine modelling of software and hardware, and are called Co-Design approaches. A fundamental difference between hardware components and software components is in the way commands are executed: parallel vs. sequential. A modelling approach needs to combine these, to allow efficient synthesis and to prevent a (very expensive) paradigm shift. The differences in execution between software-and hardware components can be analysed using computational models , which are mathematical descriptions of the behavior of a component. Most Co-Design approaches use a modelling language which is based on one or more computational models. The amount of computational models used in the modelling language (Internal Design Representation or IDR) of a Co-Design method can be used to discriminate between 2 types of approaches. Some approaches combine multiple computational models in the IDR; these are the most ambitious approaches. A single IDR to model the entire system has the advantage that the decision can be postponed what to implement in hardware and what in software. Many researchers are doubting whether such an approach will work, because it is very difficult to combine various models of computation in a single IDR. Therefore there are other approaches that explicitly use more than one IDR. Here the choice between hardware and software components is made before the modelling phase starts, and each component is modelled in an IDR specially targetted towards that type of computation. The integration offered by this approach is less deep, but simulation is used to validate the design and integration of the various IDR (this is called co-simulation). Future research in Co-Design will be concentrated in the following directions: • Special complete design flows based on single IDR models • Research into richer and better IDRs • Approaches that use more than one IDR (co-simulation based approaches). These have design flows that are partly manual (and in which the hardware-software split is made earlier) • Approaches based on a (much) lower level of abstraction, that are focussed on component reuse (platform-based design). ii ABSTRACT iii For Chess the most valuable investment would be research into the first and third type of approaches: special complete design flows and co-simulation based approaches. …

[1]  João M. Fernandes,et al.  Functional and Object-Oriented Modeling of Embedded Software , 2003 .

[2]  Eric K. Pauer,et al.  An architectural trade capability using the Ptolemy kernel , 1996, 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing Conference Proceedings.

[3]  K. Keutzer,et al.  System-level design: orthogonalization of concerns andplatform-based design , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Jürgen Teich,et al.  FunState —an internal design representation for codesign , 1999, ICCAD 1999.

[5]  Mattias O'Nils,et al.  Specification, Synthesis and Validation of Hardware/Software Interfaces , 1999 .

[6]  Vladimir D. Živković From High Level Application Specification to System-level Architecture Definition : Exploration , Design and Compilation , 2002 .

[7]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

[8]  Wayne Wolf,et al.  Hardware-Software Co-Synthesis of Distributed Embedded Systems , 1996 .

[9]  Tammy Noergaard,et al.  Embedded Software , 2009, Encyclopedia of Biometrics.

[10]  Wayne H. Wolf,et al.  Computers as components - principles of embedded computing system design , 2005 .

[11]  Ernst Christen,et al.  VHDL 1076.1-analog and mixed-signal extensions to VHDL , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[12]  Daniel D. Gajski,et al.  C/C++ Based System Design Flow using SpecC, VCC and SystemC , 2003 .

[13]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[14]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Edward A. Lee,et al.  A component-based approach to modeling and simulating mixed-signal and hybrid systems , 2002, TOMC.

[16]  Stephen A. Edwards,et al.  Design of embedded systems: formal models, validation, and synthesis , 1997, Proc. IEEE.

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

[18]  Ed F. Deprettere,et al.  A Methodology to Design Programmable Embedded Systems - The Y-Chart Approach , 2001, Embedded Processor Design Challenges.

[19]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[20]  Edward A. Lee,et al.  OVERVIEW OF THE PTOLEMY PROJECT MARCH 6 , 2001 , 2001 .

[21]  Edward A. Lee,et al.  Ptolemy: A Mixed-Paradigm Simulation/Prototyping Platform in C , 1991 .

[22]  Axel Jantsch,et al.  System synthesis utilizing a layered functional model , 1999, CODES '99.

[23]  Russell Tessier,et al.  c ○ 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. Reconfigurable Computing for Digital Signal Processing: A Survey ∗ , 1999 .

[24]  Axel Jantsch,et al.  System synthesis based on a formal computational model and skeletons , 1999, Proceedings. IEEE Computer Society Workshop on VLSI '99. System Design: Towards System-on-a-Chip Paradigm.

[25]  Ahmed Amine Jerraya,et al.  Multilanguage codesign using SDL and matlab , 2000 .

[26]  Rajesh Gupta,et al.  Hardware/software co-design , 1996, Proc. IEEE.

[27]  G. H. Hilderink,et al.  Integrated Design Tool for Embedded Control Systems , 2001 .

[28]  Jose L Pino,et al.  Software Synthesis for Single-Processor DSP Systems Using Ptolemy , 1993 .

[29]  Mauricio Varea,et al.  MIXED CONTROL/DATA-FLOW REPRESENTATION FOR MODELLING AND VERIFICATION OF EMBEDDED SYSTEMS , 2002 .

[30]  Paul J.M. Havinga,et al.  Low cost & fast turnaround: reconfigurable Graph-Based execution units , 1998 .

[31]  Sandeep Neema,et al.  System-level synthesis of adaptive computing systems , 2001 .

[32]  Jürgen Teich,et al.  SPI - a system model for heterogeneously specified embedded systems , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[33]  Daniel D. Gajski,et al.  Essential Issues in Codesign , 1997 .

[34]  Frank Vahid,et al.  Codesign-extended applications , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[35]  Petru Eles,et al.  A Survey on Hardware/Software Codesign Representation Models , 1999 .

[36]  Zhonghai Lu Refinement of a system specification for a digital equalizer into HW and SW implementations , 2001 .

[37]  Rajesh Gupta,et al.  Hardware Software Co-Design of Embedded Systems , 1996, VLSI Design.

[38]  Jörg Henkel,et al.  The COSYMA environment for hardware/software cosynthesis of small embedded systems , 1996, Microprocess. Microsystems.

[39]  Kiyoung Choi,et al.  An Integrated Cosimulation Environment for Heterogeneous Systems Prototyping , 1998, Des. Autom. Embed. Syst..

[40]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[41]  Edward A. Lee,et al.  Heterogeneous Simulation—Mixing Discrete-Event Models with Dataflow , 1997, J. VLSI Signal Process..

[42]  W. Glauert,et al.  Linking codesign and reuse in embedded systems design , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[43]  Giovanni De Micheli,et al.  Real time analysis and priority scheduler generation for hardware-software systems with a synthesized run-time system , 1997, ICCAD 1997.

[44]  Klaus Buchenrieder,et al.  Concepts for Model Compilation in Hardware / Software Codesign , 2000 .

[45]  R. Brayton,et al.  Software synthesis from synchronous specifications using logic simulation techniques , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[46]  Thomas Stauner,et al.  Systematic development of hybrid systems , 2001, Ausgezeichnete Informatikdissertationen.

[47]  Vijay Kumar,et al.  Hierarchical modeling and analysis of embedded systems , 2003, Proc. IEEE.

[48]  Stamatis Vassiliadis,et al.  Embedded Processors: Characteristics and Trends , 2004 .

[49]  Paul Lieverse,et al.  An Overview of Methodologies and Tools in the Field of System-Level Design , 2002, Embedded Processor Design Challenges.

[50]  Daniel D. Gajski,et al.  IP-Centric Methodology and Design with the SpecC Language , 1999 .

[51]  Robert Parker,et al.  Reconfigurable Architectures for System Level Applications of Adaptive Computing , 2000, VLSI Design.

[52]  Edward A. Lee,et al.  Heterogeneous Modeling and Design of Control Systems , 2003 .

[53]  Jürgen Teich,et al.  Rapid prototyping of dataflow programs on hardware/software architectures , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[54]  Edward A. Lee System-Level Design Methodology for Embedded Signal Processors , 1997 .

[55]  Ahmed Amine Jerraya,et al.  MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN , 2001 .