Exact calculation of synchronizing sequences based on binary decision diagrams

In order to reliably predict the behavior of a finite state machine (FSM) M or to generate acceptance tests for sequential designs, it is necessary to drive M to a predictable state or set of states. One possible way of accomplishing this is to have a special reset circuit to force all the latches to a specific state. However, if the circuit can be driven to a predictable state by applying an input sequence, the area required for reset circuitry can be saved. A synchronizing sequence for an FSM M is an input sequence which, when applied to any initial state of M, will drive M to a single specific state, called a reset state. An efficient and exact method for computing synchronizing sequences based on the efficient image and pre-image computation methods using binary decision diagrams is presented. The method is exact in the sense that it is a decision procedure: Given enough time and memory, the method can compute a synchronizing sequence if M has one; otherwise, the method says that M is not resettable. The theoretical heart of the proposed method is Universal Alignment, which is an analysis of the product of an FSM with itself. Algorithms and their related theorems are presented to perform the following: decide whether M has a synchronizing sequence (i.e., M is resettable), calculate a synchronizing sequence for M, calculate the set of all reset states, decide whether a specific state is a reset state. New results on the resettability of some benchmark circuits are reported. >

[1]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[2]  Olivier Coudert,et al.  Verifying Temporal Properties of Sequential Machines without Building Their State Diagrams , 1990, CAV.

[3]  Carl Pixley,et al.  Calculating resettability and reset sequences , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

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

[5]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

[6]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[7]  Jeffrey D. Ullman,et al.  Formal languages and their relation to automata , 1969, Addison-Wesley series in computer science and information processing.

[8]  Frederick C. Hennie,et al.  Finite-state Models for Logical Machines , 1968 .

[9]  Fabio Somenzi,et al.  Variable ordering and selection of FSM traversal , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[10]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, ICCAD 1990.

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

[12]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[13]  Hideo Fujiwara,et al.  Logic Testing and Design for Testability , 1985 .

[14]  J. Hartmanis,et al.  Algebraic Structure Theory Of Sequential Machines , 1966 .

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

[16]  Robert K. Brayton,et al.  Testing Language Containment for omega-Automata Using BDD's , 1995, Inf. Comput..

[17]  Fabio Somenzi,et al.  Multiple observation time single reference test generation using synchronizing sequences , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[18]  Srinivas Devadas,et al.  Test generation for highly sequential circuits , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

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

[20]  Seh-Woong Jeong,et al.  Exact calculation of synchronization sequences based on binary decision diagrams , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[21]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.