Simplifying Boolean constraint solving for random simulation-vector generation

Simulation by random vectors is meaningful only if the vectors meet certain requirements on the environment that drives the design under verification. When that environment is modeled by constraints, we face the problem of solving constraints efficiently. We present an efficient algorithm for simplifying conjunctive Boolean constraints defined over state and input variables, and apply it to constrained random simulation vector generation using binary decision diagrams (BDDs). The method works by extracting "hold-constraints" from the system of constraints. Hold-constraints are deterministic and trivially resolvable. They can be used to simplify the original constraints as well as refine the conjunctive partition. Experiments demonstrate significant reductions in the time and space required for constructing the conjunction BDDs, and the time spent in vector generation during simulation.

[1]  Reid G. Simmons,et al.  Optimizing Symbolic Model Checking for Constraint-Rich Models , 1999, CAV.

[2]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[3]  Mahesh A. Iyer,et al.  Race a word-level atpg-based constraints solver system for smart random simulation , 2003, International Test Conference, 2003. Proceedings. ITC 2003..

[4]  Carl Pixley,et al.  Integrated Formal and Informal Design Verification of Commercial Integrated Circuits , 1999, PDPTA.

[5]  Adnan Aziz,et al.  A Framework for Constrained Functional Verification , 2003, ICCAD 2003.

[6]  Adnan Aziz,et al.  Constraint synthesis for environment modeling in functional verification , 2003, DAC '03.

[7]  Mahesh A. Iyer A robust and scalable technique for the constraints solving problem in high-level verification , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[8]  Kurt Keutzer,et al.  An observability-based code coverage metric for functional simulation , 1996, ICCAD 1996.

[9]  Michael Burns,et al.  Commercial design verification: methodology and tools , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[10]  D. Bochmann,et al.  A new decomposition method for multilevel circuit design , 1991, Proceedings of the European Conference on Design Automation..

[11]  Robert K. Brayton,et al.  Heuristic Minimization of BDDs Using Don't Cares , 1994, 31st Design Automation Conference.

[12]  Adnan Aziz,et al.  Modeling design constraints and biasing in simulation using BDDs , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

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

[14]  Aharon Aharon,et al.  Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator , 1991, IBM Syst. J..

[15]  Valeria Bertacco,et al.  The disjunctive decomposition of logic functions , 1997, ICCAD 1997.

[16]  Daniel Geist,et al.  A methodology for the verification of a “system on chip” , 1999, DAC '99.

[17]  David L. Dill,et al.  Deriving a simulation input generator and a coverage metric from a formal specification , 2002, DAC '02.

[18]  R. C. Pixley,et al.  INTEGRATING MODEL CHECKING INTO THE SEMICONDUCTOR DESIGN FLOW , 1999 .

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

[20]  Carl Ramey,et al.  Functional verification of a multiple-issue, out-of-order, superscalar Alpha processor-the DEC Alpha 21264 microprocessor , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[21]  Kenneth L. McMillan,et al.  A Conjunctively Decomposed Boolean Representation for Symbolic Model Checking , 1996, CAV.

[22]  A. K. Chandra,et al.  Constraint solving for test case generation: a technique for high-level design verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[23]  C. Pixley,et al.  Simplifying Boolean constraint solving for random simulation-vector generation , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.