Bus-based communication synthesis on system-level

We present an approach to automatic generation of communication topologies on system-level. Given a set of processes communicating via abstract send and receive functions and detailed information about the communication requirements of each process, we first perform a clustering of data transfers. This results in groups of transfers suited to share a common bus. For each of these clusters we execute a bus generation algorithm which schedules bus accesses in order to minimize the total communication costs. Other than previous approaches, we infer RAM, if necessary, and consider data-dependencies as well as periodic execution of processes, like in VHDL. An example demonstrates the efficiency of the developed algorithm.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[2]  S. Hayati,et al.  Automatic Production of Controller Specifications from Control and Timing Behavioral Descriptions , 1989, 26th ACM/IEEE Design Automation Conference.

[3]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[4]  Gaetano Borriello,et al.  Sizing synchronization queues: a case study in higher level synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[5]  John O'Leary,et al.  Codesign of communication protocols , 1993, Computer.

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

[7]  Daniel Gajski,et al.  Synthesis of system-level bus interfaces , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

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

[9]  Michael Gasteier,et al.  An overview on hardware/software co-design , 1996 .

[10]  G. Borriello,et al.  Communication synthesis for distributed embedded systems , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).