Model-Checking Synthesizable SystemVerilog Descriptions of Asynchronous Circuits

Asynchronous circuits have key advantages in terms of low energy consumption, robustness, and security. However, the absence of a global clock makes the design prone to deadlock, livelock, synchronization, and resource-sharing errors. Formal verification is thus essential for designing such circuits, but it is not widespread enough, as many hardware designers are not familiar with it and few verification tools can cope with asynchrony on complex designs. This paper suggests how an industrial design flow for asynchronous circuits, based upon the standard HDL SystemVerilog, can be supplemented with formal verification capabilities rooted in concurrency theory and model-checking technology. We demonstrate the practicality of our approach on an industrial asynchronous circuit (4000 lines of SystemVerilog) implementing a memory protection unit.

[1]  Frédéric Lang,et al.  SVL: A Scripting Language for Compositional Verification , 2001, FORTE.

[2]  Marta Z. Kwiatkowska,et al.  Towards a Unifying CSP approach to Hierarchical Verification of Asynchronous Hardware , 2005, AVoCS.

[3]  Laurent Mounier,et al.  Compositional State Space Generation from Lotos Programs , 1997, TACAS.

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

[5]  Matthias Függer,et al.  Unfaithful Glitch Propagation in Existing Binary Circuit Models , 2016, IEEE Trans. Computers.

[6]  Laurent Fesquet,et al.  Formal Verification of C-element Circuits , 2011, 2011 17th IEEE International Symposium on Asynchronous Circuits and Systems.

[7]  Wendelin Serwe,et al.  Formal Specification and Verification of Fully Asynchronous Implementations of the Data Encryption Standard , 2015, MARS.

[8]  Tomohiro Yoneda,et al.  Verification of asynchronous circuits based on zero‐suppressed BDDs , 2001 .

[9]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[10]  Alexandre Yakovlev,et al.  Formal Design and Verification of an Asynchronous SRAM Controller , 2017, 2017 17th International Conference on Application of Concurrency to System Design (ACSD).

[11]  Chris J. Myers,et al.  A Compositional Minimization Approach for Large Asynchronous Design Verification , 2012, SPIN.

[12]  Hemangee K. Kapoor,et al.  PAFSV: A Formal Framework for Specification and Analysis of SystemVerilog , 2016, Comput. Informatics.

[13]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[14]  Frédéric Lang,et al.  From LOTOS to LNT , 2017, ModelEd, TestEd, TrustEd.

[15]  Alexandre Yakovlev,et al.  Compositional design of asynchronous circuits from behavioural concepts , 2015, 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE).

[16]  Jianmin Hou,et al.  Verification of Asynchronous Circuits using Timed Automata , 2002, Theory and Practice of Timed Systems @ ETAPS.

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

[18]  Yan Peng,et al.  Finding Glitches Using Formal Methods , 2016, 2016 22nd IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC).

[19]  Hemangee K. Kapoor,et al.  A Process Algebraic View of Latency-Insensitive Systems , 2009, IEEE Transactions on Computers.

[20]  Marc Renaudin,et al.  Tiempo Asynchronous Circuits System Verilog Modeling Language , 2012, 2012 IEEE 18th International Symposium on Asynchronous Circuits and Systems.

[21]  Jochen Eisinger,et al.  Formal Verification of an Arbiter Circuit , 2010, 2010 IEEE Symposium on Asynchronous Circuits and Systems.

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

[23]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[24]  Luciano Lavagno,et al.  The Use of Petri Nets for the Design and Verification of Asynchronous Circuits and Systems , 1998, J. Circuits Syst. Comput..

[25]  Mark B. Josephs,et al.  Gate-level modelling and verification of asynchronous circuits using CSPM and FDR , 2007, 13th IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC'07).

[26]  Jan Tijmen Udding,et al.  A formal model for defining and classifying delay-insensitive circuits and systems , 1986, Distributed Computing.

[27]  Arash Saifhashemi,et al.  SystemVerilogCSP: Modeling Digital Asynchronous Circuits Using SystemVerilog Interfaces , 2011, CPA.

[28]  Doug A. Edwards,et al.  Balsa: An Asynchronous Hardware Synthesis Language , 2002, Comput. J..

[29]  Marta Z. Kwiatkowska,et al.  On process-algebraic verification of asynchronous circuits , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

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

[31]  Alexandre Yakovlev,et al.  Automated Verification of Asynchronous Circuits Using Circuit Petri Nets , 2008, 2008 14th IEEE International Symposium on Asynchronous Circuits and Systems.

[32]  Paul Loewenstein,et al.  Formal Verification of Counterflow Pipeline Architecture , 1995, TPHOLs.

[33]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[34]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[35]  Alexandre Yakovlev,et al.  Design and Verification of Speed-Independent Multiphase Buck Controller , 2015, 2015 21st IEEE International Symposium on Asynchronous Circuits and Systems.

[36]  Dominique Borrione,et al.  Modeling CHP descriptions in Labeled Transitions Systems for an efficient formal validation of asynchronous circuit specifications , 2003, FDL.

[37]  Marly Roncken,et al.  A Framework for Asynchronous Circuit Modeling and Verification in ACL2 , 2017, Haifa Verification Conference.

[38]  Alexandre Yakovlev,et al.  Conditional Partial Order Graphs: Model, Synthesis, and Application , 2010, IEEE Transactions on Computers.

[39]  Ad M. G. Peeters,et al.  The tangram framework (embedded tutorial): asynchronous circuits for low power , 2001, ASP-DAC '01.

[40]  Gwen Salaün,et al.  On the semantics of communicating hardware processes and their translation into LOTOS for the verification of asynchronous circuits with CADP , 2009, Sci. Comput. Program..

[41]  Radu Mateescu,et al.  Compositional verification of asynchronous concurrent systems using CADP , 2015, Acta Informatica.

[42]  Michael Yoeli Title of Paper: Lotos/cadp-based Verification of Asynchronous Circuits , 2011 .

[43]  Morgan Hill,et al.  Asynchronous Behaviors Meet Their Match with SystemVerilog Assertions Doug Smith Doulos , 2010 .

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

[45]  Luciano Lavagno,et al.  Automated synthesis of micro-pipelines from behavioral Verilog HDL , 2000, Proceedings Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000) (Cat. No. PR00586).

[46]  Yvain Thonnart,et al.  Formal Verification of CHP Specifications with CADP Illustration on an Asynchronous Network-on-Chip , 2007, 13th IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC'07).

[47]  Kenneth J. Turner,et al.  Verifying and Testing Asynchronous Circuits using LOTOS , 2000, FORTE.