Specification and Design of Embedded Hardware-Software Systems

Embedded-system specification and design consists of describing a system's desired functionality and mapping that functionality for implementation by a set of system components such as processors, ASICs, memories, and buses. This paper discusses the key problems of system specification and design, including specification capture, design exploration, hierarchical modeling, software and hardware synthesis, and cosimulation. The authors highlight existing tools and methods for solving those problems and describe a "specify-explore-refine" methodology for meeting today's embedded-system product development requirements. >

[1]  William S. Davis,et al.  Tools and Techniques for Structured Systems Analysis and Design , 1983 .

[2]  Hugo De Man,et al.  Instruction set definition and instruction selection for ASIPs , 1994, Proceedings of 7th International Symposium on High-Level Synthesis.

[3]  Wayne Wolf,et al.  Hardware-software co-design of embedded systems , 1994, Proc. IEEE.

[4]  Mani Srivastava,et al.  Rapid-prototyping of hardware and software in a unified framework , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[5]  Gaetano Borriello Specification and Synthesis of Interface Logic , 1991 .

[6]  Catherine H. Gebotys,et al.  An optimization approach to the synthesis of multichip architectures , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Donald E. Thomas,et al.  Behavioral transformation for algorithmic level IC design , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[9]  Klaus Buchenrieder Hardware / software co-design - an annotated bibliography , 1994, IT Press information technique microsystems engineering series.

[10]  Stephen G. Tell,et al.  An engineering environment for hardware/software co-simulation , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[11]  Jie Gong,et al.  Software estimation from executable specifications , 1994 .

[12]  Alice C. Parker,et al.  CHOP: a constraint-driven system-level partitioner , 1991, 28th ACM/IEEE Design Automation Conference.

[13]  Robert W. Brodersen Anatomy of a Silicon Compiler , 1992 .

[14]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[15]  Ashok K. Agrawala,et al.  Real-time system design , 1990, McGraw-Hill Computer Science series.

[16]  Frank Vahid,et al.  A binary-constraint search algorithm for minimizing hardware during hardware/software partitioning , 1994, EURO-DAC '94.

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

[18]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[19]  Chung-Ta King,et al.  MULTIPAR: behavioral partition for synthesizing multiprocessor architectures , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[20]  John William Hagerman Synthesis of multiple process digital systems , 1995 .

[21]  Ahmed Amine Jerraya,et al.  Interactive system-level partitioning with PARTIF , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[22]  Dieter Hogrefe,et al.  SDL - with applications from protocol specification , 1991, BCS practitioner series.

[23]  Robert W. Brodersen,et al.  Design of system interface modules , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[24]  Petru Eles,et al.  VHDL system-level specification and partitioning in a hardware/software co-synthesis environment , 1994, Third International Workshop on Hardware/Software Codesign.

[25]  Gregory R. Andrews,et al.  Concepts and Notations for Concurrent Programming , 1983, CSUR.

[26]  G. Goossens,et al.  CATHEDRAL II—a computer-aided synthesis system for digital signal processing VLSI systems , 1988 .

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

[28]  Wolfgang Rosenstiel,et al.  A method for partitioning UNITY language in hardware and software , 1994, EURO-DAC '94.

[29]  Giovanni De Micheli,et al.  Interface optimization for concurrent systems under timing constraints , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[30]  Donatella Sciuto,et al.  A methodology for control-dominated systems codesign , 1994, Third International Workshop on Hardware/Software Codesign.

[31]  Frank Vahid,et al.  100-hour design cycle: a test case , 1994, EURO-DAC '94.

[32]  Hans Peter Amann,et al.  High-level modeling using extended timing diagrams - A formalism for the behavioral specification of digital hardware , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

[33]  Michael C. McFarland,et al.  Incorporating bottom-up design into hardware synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[34]  Jörg Henkel,et al.  Fast timing analysis for hardware-software co-synthesis , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[35]  Frank Vahid,et al.  Specification partitioning for system design , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[36]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[37]  Giovanni De Micheli,et al.  Partitioning of functional models of synchronous digital systems , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

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

[39]  Kurt Keutzer,et al.  Logic Synthesis , 1994 .

[40]  Alice C. Parker,et al.  Synthesis of application-specific multiprocessor architectures , 1991, 28th ACM/IEEE Design Automation Conference.

[41]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.