Interface co-synthesis techniques for embedded systems

A key aspect of the synthesis of embedded systems is the automatic integration of system components. This entails the derivation of both the hardware and software interfaces that will bind these elements together and permit them to communicate correctly and efficiently. Without the automatic synthesis of these interfaces, designers are not able to fully simulate and evaluate their systems. Frequently, they are discouraged from exploring the design space of different hardware/software partitions because practical concerns mandate minimizing changes late in the design cycle, thus leading to more costly implementations than necessary. This paper presents a set of techniques that form the basis of a comprehensive solution to the synthesis of hardware/software interfaces. Software drivers and glue logic are generated to connect processors to peripheral devices, hardware co-processors, or communication interfaces while meeting bandwidth and performance requirements. We use as examples a set of devices that communicate over an infrared local communications network (highlighting a video wrist-watch display) to explain our techniques and the need for design space exploration tools for embedded systems.

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

[2]  Mark Weiser,et al.  Some computer science issues in ubiquitous computing , 1993, CACM.

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

[4]  Mani B. Srivastava,et al.  System level hardware module generation , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Gaetano Borriello,et al.  The Chinook hardware/software co-synthesis system , 1995 .

[6]  Gaetano Borriello,et al.  Synthesis of the hardware/software interface in microcontroller-based systems , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

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

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

[9]  Allan Collins,et al.  Assessment and technology , 1993, CACM.

[10]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[11]  Michael Andrews,et al.  Computational noise effects on adaptive filter algorithms , 1983 .