Heuristic algorithms for early quantification and partial product minimization

1 A set of interacting finite state machines is often used as a model for formal verification. Most formal verification algo rithms, based on Binary Decision Diagrams (BDD's), build the transition relation of the product machine, and then existentially quantify out the non-state variables. The early quantification problem is to compute a schedule for multiplying and existen tially quantifying variables, such that the maximum size BDD encountered at any point is minimized. We give two algo rithms for the early quantification problem, one which is rather fast (running in linear time on sparse structures), and produces excellent results and another which produces an optimal sched ule for a given linear ordering of the terms. Even with early quantification partial products can become very large. In this paper, we present techniques to find don't cares, with respect to which the partial products are minimized. Some of our techniques involve state minimization and can result in smaller BDD's for the reachable states set. Two notions for state minimization are new, and involve approxima tions to trace equivalence. All the algorithms have been imple mented and integrated in our formal verification software for design verification. We present our experimental results.

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

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

[3]  Alain Kerbrat,et al.  Symbolic Equivalence Checking , 1993, CAV.

[4]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.