Communication architecture tuners: a methodology for the design of high-performance communication architectures for system-on-chips

In this chapter, we present a general methodology for the design of custom system-on-chip communication architectures. Our technique is based on the addition of a layer of circuitry, called the Communication Architecture Tuner (CAT), around any existing communication architecture topology. The added layer enhances the ability of the system to adapt to changing communication needs of its constituent components. For example, more critical data may be handled differently, leading to lower communication latencies. The CAT monitors the internal state and communication transactions of each component, and “predicts” the relative importance of each communication transaction in terms of its potential impact on different system-level performance metrics. It then configures the protocol parameters of the underlying communication architecture (e.g., priorities, DMA modes,etc.) to best suit the system's changing communication needs. We illustrate issues and tradeoffs involved in the design of CAT-based communication architectures, and present algorithms to automate the key steps. Experimental results indicate that performance metrics (e.g. number of missed deadlines, average processing time) for systems with CAT-based communication architectures are significantly (sometimes, over an order of magnitude) better than those with conventional communication architectures.

[1]  Mohamed Abid,et al.  COSMOS: a codesign approach for communicating systems , 1994, CODES.

[2]  Ahmed Amine Jerraya,et al.  Synthesis of system-level communication by an allocation-based approach , 1995 .

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

[4]  Giovanni De Micheli,et al.  Automated composition of hardware components , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

[6]  R. M. Loynes,et al.  Non-Linear Regression. , 1990 .

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

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

[9]  Alberto L. Sangiovanni-Vincentelli,et al.  Automatic synthesis of interfaces between incompatible protocols , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[10]  Sujit Dey,et al.  Fast performance analysis of bus-based system-on-chip communication architectures , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[11]  W. Rosenstiel,et al.  Specification of interface components for synchronous data paths , 1994, Proceedings of 7th International Symposium on High-Level Synthesis.

[12]  Niraj K. Jha,et al.  COSYN: hardware-software co-synthesis of embedded systems , 1997, DAC.

[13]  Jianwen Zhu,et al.  Specification and Design of Embedded Systems , 1998, Informationstechnik Tech. Inform..

[14]  Robert W. Brodersen,et al.  Design of system interface modules , 1992, ICCAD.

[15]  Bill Lin A system design methodology for software/hardware co-development of telecommunication network applications , 1996, DAC '96.

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

[17]  Jan Madsen,et al.  Integrating communication protocol selection with partitioning in hardware/software codesign , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[18]  Sujit Dey,et al.  Performance analysis of systems with multi-channel communication architectures , 2000, VLSI Design 2000. Wireless and Digital Imaging in the Millennium. Proceedings of 13th International Conference on VLSI Design.

[19]  Manfred Glesner,et al.  Bus-Based Communication Synthesis on System-Level , 1996, TODE.

[20]  Edward A. Lee,et al.  A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem , 1994, CODES.

[21]  Gaetano Borriello,et al.  Interface co-synthesis techniques for embedded systems , 1995, ICCAD.

[22]  Daniel Gajski,et al.  Interfacing Incompatible Protocols Using Interface Process Generation , 1995, 32nd Design Automation Conference.