Device Driver and DMA Controller Synthesis from HW /SW Communication Protocol Specifications

We have separated the information requiredfor HW/SW interface synthesis into three parts,the protocol specification, the operating system related information,and the processor related information. From these inputs a synthesistool generates (a) device driver functions or (b) a combinationof device driver functions and a DMA controller, depending ona designer's decision. The clean separation of information facilitates(1) efficient design space exploration with combinations of differentprocessors, operating systems and protocols, and (2) maintaininga large number of different versions and variants of HW/SWinterfaces by synthesising them on demand. Protocols are specifiedas a grammar, which is fully independent of architecture andimplementation. From this the synthesis tool generates devicedriver code in C and/or synthesizable RTL codein VHDL for DMA controllers. After the initial selection of implementationalternatives the presented methods are fully automated. Its computationalcomplexity is quadratic in terms of the number of states. Withreal-life examples we show that the quality of the generatedcode is close to hand written quality in terms of performance,area and code size.

[1]  Peter Marwedel,et al.  Synthesis of communicating controllers for concurrent hardware/software systems , 1998, Proceedings Design, Automation and Test in Europe.

[2]  Diederik Verkest,et al.  Hardware/software co-design of digital telecommunication systems , 1997, Proc. IEEE.

[3]  Marc Rose,et al.  μC/OS — The real-time kernel , 1993 .

[4]  Rolf Ernst Communication, Constraints and User Directives in COSYMA , 1994 .

[5]  Ahmed Amine Jerraya,et al.  Protocol selection and interface generation for HW-SW codesign , 1997, IEEE Trans. Very Large Scale Integr. Syst..

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

[7]  Johnny Öberg,et al.  Grammar-based hardware synthesis of data communication protocols , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[8]  Stamatios V. Kartalopoulos Asynchronous Transfer Mode , 1999 .

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

[10]  Steve Furber,et al.  ARM System Architecture , 1996 .

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

[12]  Andrew Seawright,et al.  A system for compiling and debugging structured data processing controllers , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[13]  M. Wilkes Computer Design , 1961, Nature.

[14]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[15]  Axel Jantsch,et al.  Multi-phase Validation of Hardware/Software Interfaces based on Generated Simulation Models , 1998 .

[16]  Jan Madsen,et al.  The importance of interfaces: a HW/SW codesign case study , 1997, CODES.

[17]  Paul Innella Asynchronous Transfer Mode , 2001 .

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

[19]  Jean J. Labrosse MC/OS the Real-Time Kernel , 1992 .

[20]  Axel Jantsch,et al.  Grammar based modelling and synthesis of device drivers and bus interfaces , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[21]  Luciano Lavagno,et al.  Models and methods for HW/SW intellectual property interfacing , 1999 .

[22]  Wayne H. Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, ICCAD.

[23]  Jürgen Teich,et al.  Domain-specific interface generation from dataflow specifications , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[24]  Frank Vahid,et al.  An Object-Oriented Communication Library for Hardware-Software CoDesign , 1997, CODES.