Functional Test Generation using Constraint Logic Programming

Semi-formal verification based on symbolic simulation offers a good compromise between formal model checking and numerical simulation. The generation of functional test vectors, guided by miscellaneous coverage metrics to satisfy the simulation target, can be posed as a satisfiability problem (SAT). This paper presents a novel approach to solving SAT based on Constraint Logic Programming technique. The proposed SAT solver allows efficiently handling the designs with mixed word-level arithmetic operators and Boolean logic. It is applicable for designs specified at different levels, including HDL, RTL, and Boolean. The experimental results are quite encouraging compared with classical CNF-based, BDD-based, and LP-based SAT solvers.

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

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

[3]  Randal E. Bryant,et al.  Symbolic simulation—techniques and applications , 1990, DAC '90.

[4]  Seh-Woong Jeong,et al.  A new algorithm for the binate covering problem and its application to the minimization of Boolean relations , 1992, ICCAD.

[5]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[6]  R. Kalyanaraman,et al.  Generation of design verification tests from behavioral VHDL programs using path enumeration and constraint programming , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[7]  J. Freeman Improvements to propositional satisfiability search algorithms , 1995 .

[8]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[9]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[10]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[11]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[12]  Kurt Keutzer,et al.  Functional vector generation for HDL models using linear programming and 3-satisfiability , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[13]  Adnan Aziz,et al.  Enhancing simulation with BDDs and ATPG , 1999, DAC '99.

[14]  Zhihong Zeng,et al.  A BDD-based satisfiability infrastructure using the unate recursive paradigm , 2000, DATE '00.

[15]  Philippe Codognet,et al.  The GNU Prolog system and its implementation , 2000, SAC '00.

[16]  Gerd Ritter,et al.  Sequential Equivalence Checking by Symbolic Simulation , 2000, FMCAD.

[17]  Kwang-Ting Cheng,et al.  Assertion checking by combined word-level ATPG and modular arithmetic constraint-solving techniques , 2000, DAC.

[18]  K. Keutzer,et al.  Functional Vector Generation for HDL Models Using , 2001 .

[19]  Zhihong Zeng,et al.  LPSAT: a unified approach to RTL satisfiability , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[20]  Philippe Codognet,et al.  New Results - GNU-Prolog , 2002 .