Early quantification and partitioned transition relations

Hardware systems are generally specified as a set of interacting finite state machines (FSMs). An important problem in formal verification using Binary Decision Diagrams (BDDs) is forming the transition relation of the product machine. This problem reduces to conjuncting (or multiplying) the BDDs representing the transition relations of the individual machines, and then existentially quantifying out the set of input and output variables. The resulting graph is called the product graph. Computing the set of reachable states of the product graph is the central verification problem. In this paper, we discuss two related problems. The early quantification problem is the problem of interleaving multiplication of a set of BDDs with the quantification of a set of variables so that the size of the largest BDD encountered is minimized. We show that an abstraction of this problem is NP-complete, and provide heuristic solutions for it. In some cases, the size of the BDD representing the transition relation of the product graph is too large. The partitioned transition relations problem deals with partially combining the BDD's and quantifying as many variables as possible, so that the time for computing the set of reachable states of the product graph is minimized. We offer heuristic solutions to this problem based on our algorithms for early quantification. The algorithms have been implemented and good experimental results have been achieved.

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

[2]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

[3]  Paul D. Seymour,et al.  Graph Minors. II. Algorithmic Aspects of Tree-Width , 1986, J. Algorithms.

[4]  Gianpiero Cabodi,et al.  Exploiting cofactoring for efficient FSM symbolic traversal based on the transition relation , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

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

[6]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[7]  Ilan Beer,et al.  Efficient Model Checking by Automated Ordering of Transition Relation Partitions , 1994, CAV.

[8]  Szu-Tsung Cheng,et al.  HSIS: A BDD-Based Environment for Formal Verification , 1994, 31st Design Automation Conference.

[9]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD 1993.

[10]  Tiziano Villa,et al.  A Fully Implicit Algorithm for Exact State Minimization , 1994, 31st Design Automation Conference.

[11]  Derek G. Corneil,et al.  Complexity of finding embeddings in a k -tree , 1987 .

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