Asynchronous Circuit Design: Motivation, Background, & Methods

The purpose of this book is to present a current view of the state of the art for the field of asynchronous circuit design and analysis which was the topic of a workshop in Banff in the fall of 1993. Asynchronous circuits have been studied in one form or another since the early 1950’s [64] when the focus was primarily on mechanical relay circuits and when the differences between the asynchronous and clocked circuit design styles were somewhat indistinct. A number of theoretical issues were studied in detail by Muller and Bartky as early as 1956 [92]. Since then, the field of asynchronous circuits has gone through a number of high-interest cycles. In the last 5 years there has been an unprecedented level of interest in both academic and industrial settings [56]. This historical trend continues today with the majority of the current research effort focused more on theory than on practice. Nonetheless, the advance of practical asynchronous circuit design techniques also has an unusual level of interest. The work presented at the Banff workshop was concerned more with practice than theory and provided a reasonable coverage of the current approaches to asynchronous circuit design. Similarly this chapter will primarily focus on practical design issues. Prior to introducing the four chapters which follow, we present an introduction to the basic concepts and motivations behind asynchronous circuit design. This will hopefully enable those not already familiar with asynchronous circuit design to better understand the subsequent chapters.

[1]  Arthur D. Friedman,et al.  Realization of Asynchronous Sequential Circuits Without Inserted Delay Elements , 1968, IEEE Transactions on Computers.

[2]  David A. Huffman,et al.  The synthesis of sequential switching circuits , 1954 .

[3]  Tam-Anh Chu,et al.  Synthesis of self-timed VLSI circuits from graph-theoretic specifications , 1987 .

[4]  Jean G. Vaucher,et al.  Self-Synchronized Asynchronous Sequential Machines , 1974, IEEE Transactions on Computers.

[5]  David L. Dill,et al.  Synthesis of asynchronous state machines using a local clock , 1991, [1991 Proceedings] IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[6]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[7]  Ganesh Gopalakrishnan,et al.  Dynamic reordering of high latency transactions using a modified micropipeline , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[8]  William J. Dally Advanced research in VLSI : proceedings of the sixth MIT Conference , 1990 .

[9]  Alain J. Martin,et al.  Design of a delay-insensitive multiply-accumulate unit , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[10]  Dennis W. Shaklee,et al.  Proceedings of the 25th ACM/IEEE Design Automation Conference , 1988, DAC 1988.

[11]  S. H. Unger A building block approach to unlocked systems , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[12]  Charles L. Seitz Asynchronous machines exhibiting concurrency , 1970 .

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

[14]  L. S. Nielsen,et al.  Low-power operation using self-timed circuits and adaptive scaling of the supply voltage , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[15]  Gaetano Borriello,et al.  Practical applications of an efficient time separation of events algorithm , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[16]  Jim D. Garside,et al.  A micropipelined ARM , 1993, VLSI.

[17]  Teresa H. Y. Meng,et al.  Synthesis of timed asynchronous circuits , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[18]  Hugo De Man,et al.  Optimized synthesis of asynchronous control circuits from graph-theoretic specifications , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  David L. Dill,et al.  Algorithms for interface timing verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

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

[21]  Alexandre Yakovlev,et al.  Signal Graphs: From Self-Timed to Timed Ones , 1985, PNPM.

[22]  S. Gingras,et al.  A verifier for network decompositions of command-based specifications , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[23]  Jan L. A. van de Snepscheut,et al.  Trace theory and the definition of hierarchical components , 1983 .

[24]  Edward J. McCluskey,et al.  Logic design principles - with emphasis on testable semicustom circuits , 1986, Prentice Hall series in computer engineering.

[25]  Steven Burns Performance Analysis and Optimization of Asynchronous Circuits , 1991 .

[26]  Alan B. Hayes Stored State Asynchronous Sequential Circuits , 1981, IEEE Transactions on Computers.

[27]  Ran Ginosar,et al.  On the potential of asynchronous pipelined processors , 1990, CARN.

[28]  Igor Benko,et al.  Delay-insensitive solutions to the committee problem , 1994, Proceedings of 1994 IEEE Symposium on Advanced Research in Asynchronous Circuits and Systems.

[29]  K.Y. Yun,et al.  Unifying synchronous/asynchronous state machine synthesis , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[30]  Steven M. Nowick,et al.  Automatic synthesis of burst-mode asynchronous controllers , 1993 .

[31]  Edward B. Eichelberger,et al.  Hazard Detection in Combinational and Sequential Switching Circuits , 1965, IBM J. Res. Dev..

[32]  Kees van Berkel Beware the isochronic fork , 1992, Integr..

[33]  Giovanni De Micheli,et al.  Automatic Technology Mapping for Generalized Fundamental-Mode Asynchronous Designs , 1993, 30th ACM/IEEE Design Automation Conference.

[34]  Victor I. Varshavsky,et al.  Self-Timed Control of Concurrent Processes , 1989 .

[35]  Kurt Keutzer,et al.  Verification of asynchronous interface circuits with bounded wire delays , 1992, ICCAD 1992.

[36]  James H. Tracey Internal State Assignments for Asynchronous Sequential Machines , 1966, IEEE Trans. Electron. Comput..

[37]  Chen-Shang Lin,et al.  Automatic synthesis of asynchronous circuits , 1991, 28th ACM/IEEE Design Automation Conference.

[38]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[39]  Randall Rettberg,et al.  The Monarch parallel processor hardware design , 1990, Computer.

[40]  Alexandre Yakovlev,et al.  Basic Gate Implementation of Speed-Independendent Circuits , 1994, 31st Design Automation Conference.

[41]  Mark Horowitz,et al.  Self-timed logic using current-sensing completion detection (CSCD) , 1991 .

[42]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.

[43]  Arthur D. Friedman,et al.  Synthesis of Asynchronous Sequential Circuits with Multiple-Input Changes , 1968, IEEE Transactions on Computers.

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

[45]  J. Sparso,et al.  Design and performance analysis of delay insensitive multi-ring structures , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[46]  H.Y.H. Chuang,et al.  Synthesis of Multiple-Input Change Asynchronous Machines Using Controlled Excitation and Flip-Flops , 1973, IEEE Transactions on Computers.

[47]  Ganesh Gopalakrishnan,et al.  A correctness criterion for asynchronous circuit validation and optimization , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[48]  Mark E. Dean,et al.  The design of a high-performance cache controller: a case study in asynchronous synthesis , 1993, Integr..

[49]  Steven M. Burns Automated Compilation of Concurrent Programs into Self-Timed Circuits , 1988 .

[50]  Luciano Lavagno,et al.  Algorithms for synthesis of hazard-free asynchronous circuits , 1991, 28th ACM/IEEE Design Automation Conference.

[51]  Stephen H. Unger Asynchronous Sequential Switching Circuits with Unrestricted Input Changes , 1971, IEEE Trans. Computers.

[52]  O. Yenersoy Synthesis of Asynchronous Machines Using Mixed-Operation Mode , 1979, IEEE Transactions on Computers.

[53]  Alan Marshall,et al.  Designing an asynchronous communications chip , 1994, IEEE Design & Test of Computers.

[54]  Srinivas Devadas,et al.  Synthesis Of Hazard-free Multi-level Logic Under Multiple-input Changes From Binary Decision Diagrams , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[55]  Teresa H. Y. Meng,et al.  Automatic synthesis of asynchronous circuits from high-level specifications , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[56]  Jun Gu,et al.  Area efficient synthesis of asynchronous interface circuits , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[57]  Stephen H. Unger Self-Synchronizing Circuits and Nonfundamental Mode Operation , 1977, IEEE Transactions on Computers.

[58]  David L. Dill,et al.  Efficient self-timing with level-encoded 2-phase dual-rail (LEDR) , 1991 .

[59]  Tam-Anh Chu,et al.  Automatic synthesis and verification of hazard-free control circuits from asynchronous finite state machine specifications , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[60]  Ted Eugene Williams,et al.  Self-timed rings and their application to division , 1992 .

[61]  Kenneth Y. Yun,et al.  Practical asynchronous controller design , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[62]  Ken Stevens,et al.  The Post Office experience: designing a large asynchronous chip , 1993, Integr..

[63]  Jerzy Frackowiak Methoden der Analyse und Synthese von hasardarmen Schaltnetzen mit minimalen Kosten II , 1974, J. Inf. Process. Cybern..

[64]  Peter A. Beerel,et al.  Automatic gate-level synthesis of speed-independent circuits , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[65]  Alain J. Martin,et al.  Syntax-directed translation of concurrent programs into self-timed circuits , 1988 .

[66]  Wesley A. Clark Macromodular computer systems , 1967, AFIPS '67 (Spring).

[67]  H. B. Bakoglu,et al.  Circuits, interconnections, and packaging for VLSI , 1990 .

[68]  David L. Dill,et al.  Practical generalizations of asynchronous state machines , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[69]  Teresa H. Y. Meng,et al.  Testability of asynchronous timed control circuits with delay assumptions , 1991, 28th ACM/IEEE Design Automation Conference.

[70]  Damu Radhakrishnan,et al.  Hazard-free design of mixed operating mode asynchronous sequential circuits , 1990 .

[71]  Gyula A. Magó Realization Methods for Asynchronous Sequential Circuits , 1971, IEEE Transactions on Computers.

[72]  Scott Hauck,et al.  Asynchronous design methodologies: an overview , 1995, Proc. IEEE.

[73]  Marly Roncken,et al.  Partial scan test for asynchronous circuits illustrated on a DCC error corrector , 1994, Proceedings of 1994 IEEE Symposium on Advanced Research in Asynchronous Circuits and Systems.

[74]  David L. Dill,et al.  Automatic synthesis of 3D asynchronous state machines , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[75]  M. B. Josephs,et al.  An overview of D-I algebra , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[76]  Janusz A. Brzozowski,et al.  Recent Developments in the Design of Asynchronous Circuits , 1989, FCT.

[77]  Erik Brunvand,et al.  Translating concurrent programs into delay-insensitive circuits , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[78]  Edward J. McCluskey,et al.  Introduction to the theory of switching circuits , 1965 .

[79]  Ivan E. Sutherland,et al.  The counterflow pipeline processor architecture , 1994, IEEE Design & Test of Computers.

[80]  Raymond E Miller Switching theory , 1979 .

[81]  Alian J. Martin,et al.  Testing delay-insensitive circuits , 1991 .

[82]  Amir Pnueli,et al.  Marked Directed Graphs , 1971, J. Comput. Syst. Sci..

[83]  Robert K. Brayton,et al.  Solving the state assignment problem for signal transition graphs , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[84]  Erik Brunvand Translating concurrent communicating programs into asynchronous circuits , 1992 .

[85]  Takashi Nanya,et al.  TITAC: design of a quasi-delay-insensitive microprocessor , 1994, IEEE Design & Test of Computers.

[86]  P. A. Subrahmanyam,et al.  A path-oriented approach for reducing hazards in asynchronous designs , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[87]  A. L. Davis,et al.  The architecture and system method of DDM1: A recursively structured Data Driven Machine , 1978, ISCA '78.

[88]  Steven M. Burns,et al.  The design of an asynchronous microprocessor , 1989, CARN.

[89]  Jochen Beister,et al.  A Unified Approach to Combinational Hazards , 1974, IEEE Transactions on Computers.

[90]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[91]  Luciano Lavagno,et al.  Designing asynchronous circuits from behavioural specifications with internal conflicts , 1994, Proceedings of 1994 IEEE Symposium on Advanced Research in Asynchronous Circuits and Systems.

[92]  Carl-Johan H. Seger,et al.  A bounded delay race model , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[93]  Ying Liu,et al.  Designing parallel specifications in CCS , 1993, Proceedings of Canadian Conference on Electrical and Computer Engineering.

[94]  Peter A. Beerel,et al.  Efficient verification of determinate speed-independent circuits , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[95]  David S. Kung Hazard-non-increasing gate-level optimization algorithms , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[96]  Christer Svensson,et al.  Performance of Synchronous and Asynchronous Schemes for VLSI Systems , 1992, IEEE Trans. Computers.

[97]  Alexandre Yakovlev On limitations and extensions of STG model for designing asynchronous control circuits , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[98]  David L. Dill,et al.  Exact two-level minimization of hazard-free logic with multiple-input changes , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[99]  Janusz A. Brzozowski,et al.  On the Delay-Sensitivity of Gate Networks , 1992, IEEE Trans. Computers.

[100]  Jon G. Bredeson Synthesis of multiple input-change hazard-free combinational switching circuits without feedback† , 1975 .

[101]  C.H. van Berkel,et al.  Compilations of communicating processes into delay-insensitive circuits , 1988, Proceedings 1988 IEEE International Conference on Computer Design: VLSI.

[102]  Kenneth S. Stevens,et al.  Practical verification and synthesis of low latency asynchronous systems , 1994 .

[103]  David L. Dill,et al.  Specification and automatic verification of self-timed queues , 1989, Formal Methods Syst. Des..

[104]  Stephen H. Unger,et al.  Asynchronous sequential switching circuits , 1969 .

[105]  Luciano Lavagno,et al.  Synthesis for testability techniques for asynchronous circuits , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[106]  Mark Horowitz,et al.  A zero-overhead self-timed 160-ns 54-b CMOS divider , 1991 .

[107]  Teresa H. Meng,et al.  Synchronization Design for Digital Systems , 1991 .

[108]  Niraj K. Jha,et al.  Synthesis of asynchronous circuits for stuck-at and robust path delay fault testability , 1995, Proceedings of the 8th International Conference on VLSI Design.

[109]  Paul T. Hulina,et al.  Elimination of Static and Dynamic Hazards for Multiple Input Changes in Combinatorial Switching Circuits , 1972, Inf. Control..

[110]  Robert K. Brayton,et al.  Synthesis of hazard-free asynchronous circuits from graphical specifications , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[111]  Soha Hassoun,et al.  A 200-MHz 64-bit Dual-Issue CMOS Microprocessor , 1992, Digit. Tech. J..

[112]  Ganesh Gopalakrishnan,et al.  SHILPA: a high-level synthesis system for self-timed circuits , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[113]  Charles E. Molnar,et al.  Anomalous Behavior of Synchronizer and Arbiter Circuits , 1973, IEEE Transactions on Computers.

[114]  C. N. Liu,et al.  A State Variable Assignment Method for Asynchronous Sequential Switching Circuits , 1963, JACM.

[115]  William P. Birmingham,et al.  Synthesis of multiple-input change asynchronous finite state machines , 1991, 28th ACM/IEEE Design Automation Conference.

[116]  Hugo De Man,et al.  A Generalized State Assignment Theory for Transformations on Signal Transition Graphs. * Peter Vanbekbergenl Bill Linl Gert Goossensl Hugo De Man'T2 , 1992, ICCAD 1992.

[117]  Jim D. Garside,et al.  Register locking in an asynchronous microprocessor , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[118]  Kai Hwang,et al.  Computer arithmetic: Principles, architecture, and design , 1979 .

[119]  Erik Brunvand,et al.  Testing micropipelines , 1994, Proceedings of 1994 IEEE Symposium on Advanced Research in Asynchronous Circuits and Systems.

[120]  Erik Brunvand The NSR processor , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[121]  Vernon L. Chi Salphasic Distribution of Clock Signals for Synchronous Systems , 1994, IEEE Trans. Computers.

[122]  Marly Roncken,et al.  Linear Test Times for Delay-Insensitive Circuits: a Compilation Strategy , 1993, Asynchronous Design Methodologies.

[123]  William Keister,et al.  The design of switching circuits , 1951 .

[124]  Jack B. Dennis,et al.  VAL -- A Value-Oriented Algorithmic Language (Preliminary Reference Manual), , 1979 .

[125]  Richard L. Sites,et al.  Alpha Architecture Reference Manual , 1995 .

[126]  Nigel Charles Paver,et al.  The Design and Implementation of an Asynchronous Microprocessor , 1994 .

[127]  Marly Roncken,et al.  Asynchronous circuits for low power: a DCC error corrector , 1994, IEEE Design & Test of Computers.

[128]  Jim D. Garside,et al.  The design and evaluation of an asynchronous microprocessor , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[129]  Polly Siegel,et al.  The Design ofAn Asynchronous Communications Chip , 1994 .