SMT-based stimuli generation in the SystemC Verification library

Modelling at the electronic system level (ESL) is the established approach of the major system-on-chip (SoC) companies. While in the past ESL design covered design methodologies only, today also verification and debugging is included. To improve the verification process, testbench automation has been introduced highlighted as constraint-based random simulation. In SystemC - the de facto standard modelling language for ESL - constraint-based random simulation is available through the SystemC verification (SCV) library. However, the underlying constraint-solver is based on binary decision diagrams (BDDs) and hence suffers from memory problems. In this paper, we propose the integration of new techniques for stimuli generation based on satisfiability modulo theories (SMT). Since SMT solvers are designed to determine a single satisfying solution only, several strategies are proposed forcing the solver to generate more than one stimuli from different parts of the search space. Experiments demonstrate the advantage of the proposed approach and the developed strategies in comparison to the original BDD-based method.

[1]  Janick Bergeron,et al.  Writing Testbenches using SystemVerilog , 2006 .

[2]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[3]  Weimin Wu,et al.  EHSAT: An Efficient RTL Satisfiability Solver Using an Extended DPLL Procedure , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[4]  David L. Dill,et al.  A Decision Procedure for Bit-Vectors and Arrays , 2007, CAV.

[5]  Robert P. Kurshan,et al.  Application of Formal Word-Level Analysis to Constrained Random Simulation , 2008, CAV.

[6]  Armin Biere,et al.  Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays , 2009, TACAS.

[7]  Rolf Drechsler,et al.  Improvements for constraint solving in the systemc verification library , 2007, GLSVLSI '07.

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

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

[10]  Stuart Swan,et al.  A tutorial introduction on the new SystemC verification standard , 2003 .

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

[12]  Andreas Kuehlmann,et al.  Stimulus generation for constrained random simulation , 2007, ICCAD 2007.

[13]  Albert Oliveras,et al.  SMT Techniques for Fast Predicate Abstraction , 2006, CAV.

[14]  Zhihong Zeng,et al.  Functional test generation based on word-level SAT , 2005, J. Syst. Archit..

[15]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

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

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

[18]  Adnan Aziz,et al.  Constraint-based verification , 2006 .

[19]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[20]  Robert Wille,et al.  SWORD: A SAT like prover using word level information , 2007, VLSI-SoC.

[21]  Marco Bozzano,et al.  The MathSAT 3 System , 2005, CADE.

[22]  Alessandro Armando,et al.  Bounded Model Checking of Software Using SMT Solvers Instead of SAT Solvers , 2006, SPIN.

[23]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

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

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

[26]  Robert Wille,et al.  Contradiction analysis for constraint-based random simulation , 2008, 2008 Forum on Specification, Verification and Design Languages.