A Framework for Asynchronous Circuit Modeling and Verification in ACL2

Formal verification of asynchronous circuits is known to be challenging due to highly non-deterministic behavior exhibited in these systems. One of the main challenges is that it is very difficult to come up with a systematic approach to establishing invariance properties, which are crucial in proving the correctness of circuit behavior. Non-determinism also results in asynchronous circuits having a complex state space, and hence makes the verification task much more difficult than in synchronous circuits. To ease the verification task by reducing non-determinism, and consequently reducing the complexity of the set of execution paths, we impose design restrictions to prevent communication between a module M and other modules while computations are still taking place that are internal to M. These restrictions enable our verification framework to verify loop invariants efficiently via induction and subsequently verify the functional correctness of asynchronous circuit designs. We apply a link-joint paradigm to model asynchronous circuits. Our framework applies a hierarchical verification approach to support scalability. We demonstrate our framework by modeling and verifying the functional correctness of a 32-bit asynchronous serial adder.

[1]  Edmund M. Clarke,et al.  Automatic Verification of Asynchronous Circuits , 1983, Logic of Programs.

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

[3]  Proceedings 14th International Workshop on the ACL2 Theorem Prover and its Applications: Extended Abstract: Formal Specification and Verification of the FM9001 Microprocessor Using the DE System , 2017 .

[4]  Jens Sparsø,et al.  Principles of Asynchronous Circuit Design , 2001 .

[5]  Marly Roncken,et al.  Modular Timing Constraints for Delay-Insensitive Systems , 2016, Journal of Computer Science and Technology.

[6]  Peter A. Beerel,et al.  Relative timing based verification of timed circuits and systems , 2002, Proceedings Eighth International Symposium on Asynchronous Circuits and Systems.

[7]  Panagiotis Manolios,et al.  Computer-aided reasoning : ACL2 case studies , 2000 .

[8]  Alex Kondratyev,et al.  Checking delay-insensitivity: 10/sup 4/ gates and beyond , 2002, Proceedings Eighth International Symposium on Asynchronous Circuits and Systems.

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

[10]  Jr. Warren A. Hunt The DE language , 2000 .

[11]  Julien Schmaltz,et al.  Verification of Building Blocks for Asynchronous Circuits , 2013, ACL2.

[12]  Warren A. Hunt,et al.  Applications of the DE 2 Language , 2006 .

[13]  Alex Kondratyev,et al.  Checking Delay-Insensitivity: 104 Gates and Beyond , 2002 .

[14]  Anna Slobodová,et al.  A flexible formal verification framework for industrial scale validation , 2011, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011).

[15]  Peter A. Beerel,et al.  Timing Verification of GasP Asynchronous Circuits: Predicted Delay Variations Observed by Experiment , 2010, Concurrency, Compositionality, and Correctness.

[16]  Sudarshan K. Srinivasan,et al.  Desynchronization: Design for verification , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

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

[18]  Scott C. Smith,et al.  Equivalence verification for NULL Convention Logic (NCL) circuits , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).