Stimulus generation for constrained random simulation

Constrained random simulation is the main workhorse in today 's hardware verification flows. It requires the random generation of input stimuli that obey a set of declaratively specified input constraints, which are then applied to validate given design properties by simulation. The efficiency of the overall flow depends critically on (1) the performance of the constraint solver and (2) the distribution of the generated solutions. In this paper we discuss the overall problem of efficient constraint solving for stimulus generation for mixed Boolean/integer variable domains and propose a new hybrid solver based on Markov-chain Monte Carlo methods with good performance and distribution.

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

[2]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[3]  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).

[4]  Adrian F. M. Smith,et al.  Sampling-Based Approaches to Calculating Marginal Densities , 1990 .

[5]  Daniel Geist,et al.  AVPGEN-A test generator for architecture verification , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Bart Selman,et al.  Towards Efficient Sampling: Exploiting Random Walk Strategies , 2004, AAAI.

[7]  W. K. Hastings,et al.  Monte Carlo Sampling Methods Using Markov Chains and Their Applications , 1970 .

[8]  Rob A. Rutenbar,et al.  Early research experience with OpenAccess gear: an open source development environment for physical design , 2005, ISPD '05.

[9]  Bart Selman,et al.  Local search strategies for satisfiability testing , 1993, Cliques, Coloring, and Satisfiability.

[10]  Thomas R. Shiple,et al.  Building Circuits from Relations , 2000, CAV.

[11]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[12]  Donald Geman,et al.  Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  Jiang Long,et al.  Smart simulation using collaborative formal and simulation engines , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[14]  Vibhav Gogate,et al.  A New Algorithm for Sampling CSP Solutions Uniformly at Random , 2006, CP.

[15]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

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

[17]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

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

[20]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[21]  Rina Dechter,et al.  Generating random solutions for constraint satisfaction problems , 2002, AAAI/IAAI.

[22]  Sasan Iman,et al.  The e Hardware Verification Language , 2004, Springer US.

[23]  Stuart Sutherland,et al.  Systemverilog for Design: A Guide to Using Systemverilog for Hardware Design and Modeling , 2006 .

[24]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.