Asynchronous Data-Driven Circuit Synthesis

A method is described for synthesizing asynchronous circuits based on the Handshake Circuit paradigm but employing a data-driven, rather than a control-driven, style. This approach attempts to combine the performance advantages of data-driven asynchronous design styles with the handshake circuit style of construction used in existing syntax-directed synthesis. The method is demonstrated on a significant design-a 32-bit microprocessor. This example shows that the data-driven circuit style provides better performance than control-driven synthesized circuits. This paper extends previous reported work by illustrating how conditional execution, oft-cited as a problem for data-driven descriptions, is handled within the system, and by a more detailed analysis of the design example.

[1]  Bill Lin,et al.  Control resynthesis for control-dominated asynchronous designs , 1996, Proceedings Second International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[2]  Montek Singh,et al.  Concurrency-Enhancing Transformations for Asynchronous Behavioral Specifications: A Data-Driven Approach , 2008, 2008 14th IEEE International Symposium on Asynchronous Circuits and Systems.

[3]  Jim D. Garside,et al.  SPA - a synthesisable Amulet core for smartcard applications , 2002, Proceedings Eighth International Symposium on Asynchronous Circuits and Systems.

[4]  Doug A. Edwards,et al.  A burst-mode oriented back-end for the Balsa synthesis system , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

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

[6]  Steven M. Nowick,et al.  The Design of High-Performance Dynamic Asynchronous Pipelines: Lookahead Style , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Seth Copen Goldstein,et al.  C to Asynchronous Dataflow Circuits: An End-to-End Toolflow , 2004 .

[8]  Andrew M Lines,et al.  Pipelined Asynchronous Circuits , 1998 .

[9]  David E. Muller Asynchronous logics and application to information processing , 1962 .

[10]  Niraj K. Jha,et al.  MINIMALIST: An Environment for the Synthesis, Verification and Testability of Burst-Mode Asynchronous Machines , 1999 .

[11]  Steven M. Nowick,et al.  The Design of High-Performance Dynamic Asynchronous Pipelines: High-Capacity Style , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Ted Williams Latency and throughput tradeoffs in self-timed speed-independent pipelines and rings , 1990 .

[13]  Steve Furber,et al.  Principles of Asynchronous Circuit Design: A Systems Perspective , 2010 .

[14]  Ivan E. Sutherland,et al.  GasP: a minimal FIFO control , 2001, Proceedings Seventh International Symposium on Asynchronous Circuits and Systems. ASYNC 2001.

[15]  Steven M. Nowick,et al.  MOUSETRAP: High-Speed Transition-Signaling Asynchronous Pipelines , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Paul I. Pénzes,et al.  The design of an asynchronous MIPS R3000 microprocessor , 1997, Proceedings Seventeenth Conference on Advanced Research in VLSI.

[17]  Luis A. Plana,et al.  Architectural optimization for low-power nonpipelined asynchronous systems , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[18]  Jan Madsen,et al.  Behavioral synthesis of asynchronous circuits , 2005 .

[19]  T. Chelcea,et al.  Resynthesis and peephole transformations for the optimization of large-scale asynchronous systems , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[20]  Marc Renaudin,et al.  A design framework for asynchronous/synchronous circuits based on CHP to HDL translation , 1999, Proceedings. Fifth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[21]  Doug A. Edwards,et al.  Automatic Compilation of Data-Driven Circuits , 2008, 2008 14th IEEE International Symposium on Asynchronous Circuits and Systems.

[22]  Luciano Lavagno,et al.  Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers (Special Issue on Asynchronous Circuit and System Design) , 1997 .

[23]  D. Heidel,et al.  Asynchronous interlocked pipelined CMOS circuits operating at 3.3-4.5 GHz , 2000, 2000 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.00CH37056).

[24]  Alain J. Martin,et al.  High-level synthesis of asynchronous systems by data-driven decomposition , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[25]  John Teifel,et al.  Static tokens: using dataflow to automate concurrent pipeline synthesis , 2004, 10th International Symposium on Asynchronous Circuits and Systems, 2004. Proceedings..

[26]  Mathew A. Sacker,et al.  A general purpose behavioural asynchronous synthesis system , 2004, 10th International Symposium on Asynchronous Circuits and Systems, 2004. Proceedings..

[27]  Alain J. Martin Programming in VLSI: from communicating processes to delay-insensitive circuits , 1991 .

[28]  D. A. Edwards,et al.  The Balsa Asynchronous Circuit Synthesis System , 2000 .

[29]  Andrew Bardsley Implementing Balsa Handshake Circuits , 2000 .

[30]  Kees van Berkel,et al.  Handshake Circuits: An Asynchronous Architecture for VLSI Programming , 1993 .

[31]  Luciano Lavagno,et al.  Desynchronization: Synthesis of Asynchronous Circuits From Synchronous Specifications , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  Alex Kondratyev,et al.  Design of Asynchronous Circuits Using Synchronous CAD Tools , 2002, IEEE Des. Test Comput..

[33]  Josep Carmona,et al.  Logic Synthesis of Handshake Components Using Structural Clustering Techniques , 2008, PATMOS.