Verification of Similar FSMs by Mixing Incremental Re-encoding, Reachability Analysis, and Combinational Checks

State space exploration is often used to prove properties about sequential behavior of Finite State Machines (FSMs). For example, equivalence of two machines is proved by analyzing the reachable state set of their product machine. Nevertheless, reachability analysis is infeasible on large practical examples. Combinational verification is far less expensive, but on the other hand its application is limited to combinational circuits, or particular design schemes. Finally, approximate techniques imply sufficient, not strictly necessary conditions.The purpose of this paper is to extend the applicability of purely combinational checks. This is generally achieved through state minimization, partitioning, and re-encoding the FSMs to factor out their differences. We focus on re-encoding. In particular, we present an incremental approach to re-encoding for verification that transforms the product machine traversal into a combinational verification in the best case, and into a computationally simpler product machine traversal in the general case.Experimental results demonstrate the effectiveness of this technique on medium-large circuits where other techniques may fail.

[1]  Magdy S. Abadir,et al.  Logic design verification via test generation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Thomas Tamisier Computing the observable equivalence relation of a finite state machine , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[3]  Kwang-Ting Cheng,et al.  Logic optimization by an improved sequential redundancy addition and removal techniques , 1995, ASP-DAC '95.

[4]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

[5]  Stefan Krischer,et al.  The Backward Walk Approach in FSM Verification , 1993, CHDL.

[6]  Robert K. Brayton,et al.  Incremental FSM Re-encoding for Simplifying Verification by Symbolic Traversal , 1995 .

[7]  Arvind Srinivasan,et al.  Verity - A formal verification program for custom CMOS circuits , 1995, IBM J. Res. Dev..

[8]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[9]  Beyin Chen,et al.  Design verification by using universal test sets , 1994, Proceedings of IEEE 3rd Asian Test Symposium (ATS).

[10]  Tiziano Villa,et al.  NOVA: State Assignment of Finite State Machines for Optimal Two-Level Logic Implementations , 1989, 26th ACM/IEEE Design Automation Conference.

[11]  Tiziano Villa,et al.  NOVA: State Assignment of Finite State Machines for Optimal Two-Level Logic Implementations , 1989, 26th ACM/IEEE Design Automation Conference.

[12]  W. Kunz,et al.  Record and play: a structural fixed point iteration for sequential circuit verification , 1997, ICCAD 1997.

[13]  A. Richard Newton,et al.  Implicit manipulation of equivalence classes using binary decision diagrams , 1991, [1991 Proceedings] IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[14]  M. Marek-Sadowska,et al.  Verifying equivalence of functions with unknown input correspondence , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[15]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[16]  A. Richard Newton,et al.  Don't care minimization of multi-level sequential logic networks , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[17]  Enrico Macii,et al.  Approximate Finite State Machine Traversal: Extensions and New Results , 1995 .

[18]  Enrico Macii,et al.  A structural approach to state space decomposition for approximate reachability analysis , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[19]  Robert K. Brayton,et al.  Incremental re-encoding for symbolic traversal of product machines , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[20]  S. Malik,et al.  Using complete-1-distinguishability for FSM equivalence checking , 1996, TODE.

[21]  Fabio Somenzi,et al.  A Symbolic Algorithms for Maximum Flow in 0-1 Networks , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[22]  Seh-Woong Jeong,et al.  ATPG aspects of FSM verification , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[23]  Edmund M. Clarke,et al.  Symbolic model checking for sequential circuit verification , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[25]  Paolo Prinetto,et al.  The General Product Machine: a New Model for Symbolic FSM Traversal , 1998, Formal Methods Syst. Des..

[26]  Einar J. Aas,et al.  Quantifying design quality through design experiments , 1994, IEEE Design & Test of Computers.

[27]  Enrico Macii,et al.  Algorithms for Approximate FSM Traversal , 1993, 30th ACM/IEEE Design Automation Conference.

[28]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[29]  G. Cabodi,et al.  Improved reachability analysis of large finite state machines , 1996, ICCAD 1996.

[30]  A. Sangiovanni-Vincentelli,et al.  Partitioned ROBDDs—a compact, canonical and efficiently manipulable representation for Boolean functions , 1996, ICCAD 1996.

[31]  Ellen M. Sentovich,et al.  Latch optimization in circuits generated from high-level descriptions , 1996, ICCAD 1996.

[32]  Gianpiero Cabodi,et al.  Efficient state space pruning in symbolic backward traversal , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[33]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[34]  Thomas Filkorn A Method for Symbolic Verification of Synchronous Circuits , 1991 .