Formal Design and Verification of an Asynchronous SRAM Controller

We propose a new design of an asynchronous speed-independent SRAM controller that is tolerant to variations in supply voltage and can trade off performance for power consumption. It uses the standard 6T memory cells and is more robust than a comparable speed-independent design in literature due to a delay-insensitive interface to bit-lines. Designing an asynchronous SRAM controller presents a fascinating challenge for the application of formal models: As there is no global clocking, the switching events are inherently partially ordered, with concurrency, sequencing and choice being inextricably intertwined. In contrast to previous designs, the proposed controller was systematically developed, synthesised, and formally verified.

[1]  Ivan Poliakov,et al.  Workcraft: A Static Data Flow Structure Editing, Visualisation and Analysis Tool , 2007, ICATPN.

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

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

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

[5]  Maciej Koutny,et al.  Logic Synthesis for Asynchronous Circuits Based on STG Unfoldings and Incremental SAT , 2006, Fundam. Informaticae.

[6]  Maciej Koutny,et al.  Logic synthesis for asynchronous circuits based on Petri net unfoldings and incremental SAT , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[7]  Daniel J. Inman,et al.  Energy Harvesting Technologies , 2008 .

[8]  Chiu-Sing Choy,et al.  A four-phase handshaking asynchronous static RAM design for self-timed systems , 1999, IEEE J. Solid State Circuits.

[9]  Antti Valmari,et al.  The State Explosion Problem , 1996, Petri Nets.

[10]  Tan Soon-Hwei,et al.  A 160-Mhz 45-mW Asynchronous Dual-Port 1-Mb CMOS SRAM , 2005, 2005 IEEE Conference on Electron Devices and Solid-State Circuits.

[11]  Alexandre Yakovlev,et al.  Self-Timed SRAM for Energy Harvesting Systems , 2011, J. Low Power Electron..

[12]  Victor Khomenko,et al.  Model checking based on prefixes of petri net unfoldings , 2003 .

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

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

[15]  Bo Zhai,et al.  A Variation-Tolerant Sub-200 mV 6-T Subthreshold SRAM , 2008, IEEE Journal of Solid-State Circuits.

[16]  Meng-Fan Chang,et al.  Wide $V_{\rm DD}$ Embedded Asynchronous SRAM With Dual-Mode Self-Timed Technique for Dynamic Voltage Systems , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

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

[18]  Andrew Lines,et al.  GHz Asynchronous SRAM in 65nm , 2009, 2009 15th IEEE Symposium on Asynchronous Circuits and Systems.

[19]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[20]  Victor Khomenko,et al.  Efficient Automatic Resolution of Encoding Conflicts Using STG Unfoldings , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Victor Khomenko,et al.  Logic Decomposition of Asynchronous Circuits Using STG Unfoldings , 2011, 2011 17th IEEE International Symposium on Asynchronous Circuits and Systems.

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

[23]  Alexandre Yakovlev,et al.  Improved Parallel Composition of Labelled Petri Nets , 2011, 2011 Eleventh International Conference on Application of Concurrency to System Design.