Verification of interacting sequential circuits

The problem of verifying the equivalence of interacting finite state machines (FSMs) described at the logic level is addressed. The problem is formulated as that of checking for the equivalence of the reset/starting states of the two FSMs. First, separate sum-of-product representations of the ON-sets and OFF-sets of each of the flip-flop inputs and primary outputs of the sequential circuit, are extracted using the PODEM algorithm. We describe a fast algorithm for state differentiation based on this representation. The input as well as the state space is implicitly enumerated through a process of repeated cube intersections to generate the State Transition Graph (STG). In contrast to previous approaches, this algorithm can be efficiently generalized for verifying distributed-style specifications of interacting sequential circuits, exploiting the nature of the interconnection topology. Pipeline latches in a distributed-style specification typically do not add complexity to the sequential behavior of a circuit, but greatly add to the complexity of traditional approaches to verifying sequential circuits. Pipeline latches are easily incorporated into our generalized, hierarchical verification strategy whereby the states of pipeline latches can be implicitly enumerated. Experimental results indicate the superior efficiency of this approach as compared to previous approaches for FSM verification. It is possible to verify examples with more than 1050 states.

[1]  Gary D. Hachtel,et al.  Verification algorithms for VLSI synthesis , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Kenneth J. Supowit,et al.  A New Method for Verifying Sequential Circuits , 1986, 23rd ACM/IEEE Design Automation Conference.

[3]  Alberto L. Sangiovanni-Vincentelli,et al.  PROTEUS : A Logic Verification System for Combinational Circuits , 1986, ITC.

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  Logic verification algorithms and their parallel implementation , 1989 .

[5]  Srinivas Devadas,et al.  Approaches to Multi-Level Sequential Logic Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[6]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[7]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Srinivas Devadas,et al.  On the verification of sequential machines at differing levels of abstraction , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Prabhakar Goel,et al.  An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits , 1981, IEEE Transactions on Computers.

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  Logic Verification Algorithms and their Parallel Implementation , 1987, 24th ACM/IEEE Design Automation Conference.

[11]  Randal E. Bryant,et al.  Symbolic Verification of MOS Circuits , 1985 .

[12]  Seung-Ho Hwang,et al.  An Efficient Design Correctness Checker of Finite-State Machines , 1987 .

[13]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.

[14]  Albert R. Wang,et al.  Logic verification using binary decision diagrams in a logic synthesis environment , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.