Asynchronous circuit design - A tutorial

Asynchronous circuits have characteristics that differ significantly from those of synchronous circuits and, as will be clear from some of the later chapters in this book, it is possible exploit these characteristics to design circuits with very interesting performance parameters in terms of their power, performance, electromagnetic emissions (EMI), etc. Asynchronous design is not yet a well-established and widely-used design methodology. There are textbooks that provide comprehensive coverage of the underlying theories, but the field has not yet matured to a point where there is an established currriculum and university tradition for teaching courses on asynchronous circuit design to electrical engineering and computer engineering students. As this author sees the situation there is a gap between understanding the fundamentals and being able to design useful circuits of some complexity. The aim of Part I of this book is to provide a tutorial on asynchronous circuit design that fills this gap. More specifically the aims are: (i) to introduce readers with background in synchronous digital circuit design to the fundamentals of asynchronous circuit design such that they are able to read and understand the literature, and (ii) to provide readers with an understanding of the “nature” of asynchronous circuits such that they are to design non-trivial circuits with interesting performance parameters. The material is based on experience from the design of several asynchronous chips, and it has evolved over the last decade from tutorials given at a number of European conferences and from a number of special topics courses taught at the Technical University of Denmark and elsewhere. In May 1999 I gave a one-week intensive course at Delft University of Technology and it was when preparing for this course I felt that the material was shaping up, and I set out to write the following text. Most of the material has recently been used and debugged in a course at the Technical University of Denmark in the spring 2001. Supplemented by a few journal articles and a small design project, the text may be used for a one semester course on asynchronous design.

[1]  Alain J. Martin Asynchronous datapaths and the design of an asynchronous adder , 1992, Formal Methods Syst. Des..

[2]  Ad M. G. Peeters,et al.  Single-rail handshake circuits , 1995, Proceedings Second Working Conference on Asynchronous Design Methodologies.

[3]  Kiyoshi Oguri,et al.  Asynchronous Circuit Design , 2001 .

[4]  D. Dill,et al.  Automatic Synthesis of Extended Burst-mode Circuits: Part Ii (automatic Synthesis) , 1996 .

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

[6]  Leon Stok,et al.  Architectural synthesis and optimization of digital systems , 1991 .

[7]  A. J. Martin Formal program transformations for VLSI circuit synthesis , 1989 .

[8]  Peter A. Beerel,et al.  AUTOMATIC SYNTHESIS OF GATE-LEVEL SPEED-INDEPENDENT CIRCUITS , 1998 .

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

[10]  Marly Roncken Defect-oriented testability for asynchronous ICs , 1999 .

[11]  Steven M. Nowick,et al.  Asynchronous Circuit Design: Motivation, Background, & Methods , 1995 .

[12]  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.

[13]  Van Berkel VLSI programming and silicon compilation , 1988 .

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

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

[16]  Steven M. Nowick,et al.  Scanning the Technology Applications of Asynchronous Circuits , 1999 .

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

[18]  Andrew Bardsley,et al.  Compiling the language Balsa to delay insensitive hardware , 1997 .

[19]  Jim D. Garside,et al.  AMULET2e: an asynchronous embedded controller , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[20]  Peter A. Beerel,et al.  Speculative completion for the design of high-performance asynchronous dynamic adders , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[21]  T. Agerwala,et al.  Putting Petri nets to work , 1989 .

[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]  Alain J. Martin The limitations to delay-insensitivity in asynchronous circuits , 1990 .

[24]  Michael Goldsmith,et al.  Programming in occam 2 , 1985, Prentice Hall international series in computer science.

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

[26]  Siamak Mohammadi,et al.  AMULET3i-an asynchronous system-on-chip , 2000, Proceedings Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000) (Cat. No. PR00586).

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

[28]  Steven M. Nowick,et al.  Modeling and design of asynchronous circuits , 1999, Proc. IEEE.

[29]  A. L. Davis A Data-Drive Machine Architecture Suitable for VLSI Implementation , 1979 .

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

[31]  Ad M. G. Peeters,et al.  Stretching quasi delay insensitivity by means of extended isochronic forks , 1995, Proceedings Second Working Conference on Asynchronous Design Methodologies.

[32]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[33]  Jens Sparsø,et al.  Design of delay insensitive circuits using multi-ring structures , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[34]  Ivan E. Sutherland,et al.  Two FIFO ring performance experiments , 1999, Proc. IEEE.

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

[36]  Steven M. Nowick,et al.  Special Issue On Asynchronous Circuits And Systems , 1999 .

[37]  A. J. Martin,et al.  The first asynchronous microprocessor: the test results , 1989, CARN.

[38]  Marly Roncken,et al.  A single-rail re-implementation of a DCC error detector using a generic standard-cell library , 1995, Proceedings Second Working Conference on Asynchronous Design Methodologies.

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

[40]  L. S. Nielsen,et al.  A low-power asynchronous data-path for a FIR filter bank , 1996, Proceedings Second International Symposium on Advanced Research in Asynchronous Circuits and Systems.

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

[42]  P. Jensen,et al.  The Design of an Asynchronous TinyRISCTM TR4101 Microprocessor Core , 1998 .

[43]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[44]  Paul Day,et al.  Four-phase micropipeline latch control circuits , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[45]  Daniel W. Dobberpuhl,et al.  The design and analysis of VLSI circuits , 1985 .

[46]  Alain J. Martin The Probe: An Addition to Communication Primitives , 1985, Inf. Process. Lett..

[47]  Ad M. G. Peeters,et al.  An asynchronous low-power 80C51 microcontroller , 1998, Proceedings Fourth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[48]  Teresa H. Y. Meng,et al.  Covering conditions and algorithms for the synthesis of speed-independent circuits , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[49]  Marly Roncken,et al.  A fully asynchronous low-power error corrector for the DCC player , 1994 .

[50]  L. Heller,et al.  Cascode voltage switch logic: A differential CMOS logic family , 1984, 1984 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

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

[52]  Jianwei Liu,et al.  A low-power, low noise, configurable self-timed DSP , 1998, Proceedings Fourth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[53]  Luciano Lavagno,et al.  Logic decomposition of speed-independent circuits , 1999 .

[54]  Ganesh Gopalakrishnan,et al.  Performance analysis and optimization of asynchronous circuits , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[55]  J. B. Dennis,et al.  Data flow computation , 1986 .

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

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

[58]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[59]  Gene W. Shen,et al.  SPARC64: a 64-b 64-active-instruction out-of-order-execution MCM processor , 1995 .

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

[61]  L. S. Nielsen,et al.  Designing asynchronous circuits for low power: an IFIR filter bank for a digital hearing aid , 1999, Proc. IEEE.

[62]  T. S. Balraj,et al.  Miss Manners: a specialized silicon compiler for synchronizers , 1986 .

[63]  Steven M. Nowick,et al.  An introduction to asynchronous circuit design , 1998 .

[64]  Eby G. Friedman,et al.  System Timing , 2000, The VLSI Handbook.

[65]  Jim D. Garside,et al.  AMULET3: a 100 MIPS asynchronous embedded processor , 2000, Proceedings 2000 International Conference on Computer Design.

[66]  Marly Roncken,et al.  The VLSI-programming language Tangram and its translation into handshake circuits , 1991, Proceedings of the European Conference on Design Automation..

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

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

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

[70]  Kenneth Y. Yun,et al.  Automatic synthesis of extended burst-mode circuits. II. (Automaticsynthesis) , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[71]  Scott A. Brandt,et al.  NULL Convention Logic/sup TM/: a complete and consistent logic for asynchronous digital circuit synthesis , 1996, Proceedings of International Conference on Application Specific Systems, Architectures and Processors: ASAP '96.

[72]  Hugo De Man,et al.  Assassin: a synthesis system for asynchronous control circuits , 1994 .

[73]  Ivan E. Sutherland,et al.  Micropipelines , 1989, Commun. ACM.

[74]  Christian D. Nielsen Evaluation of function blocks for asynchronous design , 1994, EURO-DAC '94.

[75]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[76]  Alain J. Martin,et al.  An asynchronous pipelined lattice structure filter , 1994, Proceedings of 1994 IEEE Symposium on Advanced Research in Asynchronous Circuits and Systems.

[77]  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..

[78]  Jens Sparsø,et al.  Delay-insensitive multi-ring structures , 1993, Integr..

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

[80]  J. Ebergen,et al.  Response-time properties of linear asynchronous pipelines , 1999 .

[81]  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.

[82]  Bruce Gilchrist,et al.  Fast Carry Logic for Digital Computers , 1955, IRE Trans. Electron. Comput..

[83]  Ad M. G. Peeters,et al.  Applying asynchronous circuits in contactless smart cards , 2000, Proceedings Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000) (Cat. No. PR00586).

[84]  Ted E. Williams Performance of iterative computation in self-timed rings , 1994, J. VLSI Signal Process..

[85]  Geraint Jones Programming in occam , 1986, Prentice Hall International Series in Computer Science.

[86]  Steven M. Burns,et al.  General conditions for the decomposition of state holding elements , 1996, Proceedings Second International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[87]  Hugo De Man,et al.  Optimized synthesis of asynchronous control circuits from graph-theoretic specifications , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[88]  N. P. Singh A DESIGN METHODOLOGY FOR SELF-TIME SYSTEMS , 1981 .

[89]  Kamran Eshraghian,et al.  Principles of CMOS VLSI Design: A Systems Perspective , 1985 .

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