Design and FPGA-implementation of Asynchronous Circuits Using Two-Phase Handshaking

This paper addresses the design and FPGA-prototyping of asynchronous circuits using static data-flow handshake components implemented using the two-phase bundled-data protocol. The contributions are partly tutorial and partly scientific. The paper introduces the design process, including initialization and design of coupled rings with any number of tokens. Following this, the paper presents gate-level implementations of the full set of handshake components as well as some peephole optimizations that merge the implementation of several components. The components are implemented using the click-template. The handshake register implementation is extended with circuitry that decouples the phase of the handshake signals on the input and output ports. Such decoupling is needed to facilitate implementation of rings with one token (or in the general case, rings with any number of tokens). Finally, the paper illustrates the design process using two circuits: one that outputs the sequence of Fibonacci numbers, and one that computes the greatest common divisor of two positive integers. All components are described in VHDL, and all code is available as open source. All components and the two circuits mentioned have been tested on a Xilinx Nexys4DDR FPGA board.

[1]  Bernard Brezzo,et al.  TrueNorth: Design and Tool Flow of a 65 mW 1 Million Neuron Programmable Neurosynaptic Chip , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Rasmus Bo Sorensen,et al.  A loosely synchronizing asynchronous router for TDM-scheduled NOCs , 2014, 2014 Eighth IEEE/ACM International Symposium on Networks-on-Chip (NoCS).

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

[4]  Aristides Efthymiou,et al.  Optimising Self-Timed FPGA Circuits , 2010, 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools.

[5]  Alain J. Martin Compiling communicating processes into delay-insensitive VLSI circuits , 2005, Distributed Computing.

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

[7]  Hong Wang,et al.  Loihi: A Neuromorphic Manycore Processor with On-Chip Learning , 2018, IEEE Micro.

[8]  Paolo Ienne,et al.  Dynamically Scheduled High-level Synthesis , 2018, FPGA.

[9]  Rajit Manohar,et al.  An Asynchronous Floating-Point Multiplier , 2012, 2012 IEEE 18th International Symposium on Asynchronous Circuits and Systems.

[10]  Laurent Fesquet,et al.  Implementing Asynchronous Circuits on LUT Based FPGAs , 2002, FPL.

[11]  Alexandre Yakovlev,et al.  Analysis of Static Data Flow Structures , 2008, Fundam. Informaticae.

[12]  Ad M. G. Peeters,et al.  Click Elements: An Implementation Style for Data-Driven Compilation , 2010, 2010 IEEE Symposium on Asynchronous Circuits and Systems.

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

[14]  Davide Bertozzi,et al.  A transition-signaling bundled data NoC switch architecture for cost-effective GALS multicore systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Jon Neerup Lassen FPGA Prototyping of Asynchronous Networks-on-Chip , 2008 .

[16]  Ümit Y. Ogras,et al.  xMAS: Quick Formal Modeling of Communication Fabrics to Enable Verification , 2012, IEEE Design & Test of Computers.

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

[18]  Marly Roncken,et al.  Naturalized Communication and Testing , 2015, 2015 21st IEEE International Symposium on Asynchronous Circuits and Systems.

[19]  Mark R. Greenstreet,et al.  Self-Timed Iteration , 1987 .

[20]  Rajit Manohar Reconfigurable Asynchronous Logic , 2006, IEEE Custom Integrated Circuits Conference 2006.

[21]  M. Rem,et al.  VLSI programming and silicon compilation-a novel approach from Philips research , 1988, Proceedings 1988 IEEE International Conference on Computer Design: VLSI.

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