In the paper, SWORD is described -- a decision procedure for bit-vector logic that uses SAT techniques and exploits word level information. The main idea of SWORD is based on the following observation: While current SAT solvers perform very well on instances with a large number of logic operations, their performance on arithmetic operations degrades with increasing data-path width. In contrast, pure word-level approaches are able to handle arithmetic operations very fast, but suffer from irregularities in the word-level structure (e.g. bit slicing). SWORD tries to combine the best of both worlds: On the one hand, it includes fast propagation, sophisticated data structures, as well as advanced techniques like non-chronological backtracking and learning from modern SAT solvers. On the other hand word-level information is exploited in the decision heuristic and during propagation.
[1]
Bruno Dutertre,et al.
A Fast Linear-Arithmetic Solver for DPLL(T)
,
2006,
CAV.
[2]
Armin Biere,et al.
Local Two-Level And-Inverter Graph Minimization without Blowup
,
2006
.
[3]
Robert Wille,et al.
SWORD: A SAT like prover using word level information
,
2007,
VLSI-SoC.
[4]
Malay K. Ganai,et al.
Robust Boolean reasoning for equivalence checking and functional property verification
,
2002,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[5]
Cesare Tinelli,et al.
The SMT-LIB Standard: Version 1.2
,
2005
.
[6]
Niklas Sörensson,et al.
An Extensible SAT-solver
,
2003,
SAT.