Balancing scalability and uniformity in SAT witness generator

Constrained-random simulation is the predominant approach used in the industry for functional verification of complex digital designs. The effectiveness of this approach depends on two key factors: the quality of constraints used to generate test vectors, and the randomness of solutions generated from a given set of constraints. In this paper, we focus on the second problem, and present an algorithm that significantly improves the state-of-the-art of (almost-)uniform generation of solutions of large Boolean constraints. Our algorithm provides strong theoretical guarantees on the uniformity of generated solutions and scales to problems involving hundreds of thousands of variables.

[1]  Yehuda Naveh,et al.  Constraint-Based Random Stimuli Generation for Hardware Verification , 2006, AI Mag..

[2]  Toniann Pitassi,et al.  Algorithms and complexity results for #SAT and Bayesian inference , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[3]  Andreas Kuehlmann,et al.  Stimulus generation for constrained random simulation , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[4]  Supratik Chakraborty,et al.  A Scalable and Nearly Uniform Generator of SAT Witnesses , 2013, CAV.

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

[6]  Bart Selman,et al.  A New Approach to Model Counting , 2005, SAT.

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

[8]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[9]  Jinian Bian,et al.  Self-adjusting constrained random stimulus generation using splitting evenness evaluation and XOR constraints , 2009, 2009 Asia and South Pacific Design Automation Conference.

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

[11]  Nathan Kitchen Markov Chain Monte Carlo Stimulus Generation for Constrained Random Simulation , 2010 .

[12]  Bart Selman,et al.  Embed and Project: Discrete Sampling with Universal Hashing , 2013, NIPS.

[13]  Igor L. Markov,et al.  Random Stimulus Generation using Entropy and XOR Constraints , 2008, 2008 Design, Automation and Test in Europe.

[14]  Supratik Chakraborty,et al.  A Scalable Approximate Model Counter , 2013, CP.

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

[16]  Mihir Bellare,et al.  Uniform Generation of NP-Witnesses Using an NP-Oracle , 2000, Inf. Comput..

[17]  Bart Selman,et al.  Near-Uniform Sampling of Combinatorial Spaces Using XOR Constraints , 2006, NIPS.

[18]  Dan Roth,et al.  On the Hardness of Approximate Reasoning , 1993, IJCAI.

[19]  Leslie G. Valiant,et al.  Random Generation of Combinatorial Structures from a Uniform Distribution , 1986, Theor. Comput. Sci..

[20]  Harry Foster,et al.  Principles of verifiable RTL design - a functional coding style supporting verification processes in Verilog , 2000 .

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

[22]  Jörg Hoffmann,et al.  Short XORs for Model Counting: From Theory to Practice , 2007, SAT.

[23]  Michael Sipser,et al.  A complexity theoretic approach to randomness , 1983, STOC.

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

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