SMT-Sweep: Word-Level Representation Unification for Hardware Verification
By: Ziyi Yang , Guangyu Hu , Mingkai Miao and more
Potential Business Impact:
Makes computer chips design faster and better.
SAT sweeping has long been a cornerstone technique in logic simplification and equivalence checking at the bit level, leveraging structural hashing, simulation and SAT solving to prune redundant logic. However, with the growing adoption of word-level constructs in hardware verification, such as bit-vector operations, arithmetics and arrays, there lacks a counterpart of SAT sweeping at the word level. In this paper, we introduce SMT-Sweep, a novel extension of SAT sweeping into the word level, grounded in Satisfiability Modulo Theories (SMT). SMT-Sweep takes advantage of simulation and equivalence detection to handle SMT terms with rich bit-vector operations and array semantics. Our framework incorporates both randomized and constraint-driven word-level simulation tailored to symbolic expressions and operator semantics beyond pure Boolean logic. Experimental results show that SMT-Sweep achieves significant speed-up compared to state-of-the-art bit-level SAT sweeping and word-level monolithic SMT solving (averaging around 44x and 69x, respectively).To the best of our knowledge, this is the first work that brings sweeping techniques to SMT-based hardware verification. The implementation is open-sourced at: https://github.com/yangziyiiii/SMT-Sweep.
Similar Papers
Towards Comprehensive Sampling of SMT Solutions
Software Engineering
Finds bugs in computer code faster.
Synthesiz3 This: an SMT-Based Approach for Synthesis with Uncomputable Symbols
Logic in Computer Science
Makes computers write code from math problems.
Cache-a-lot: Pushing the Limits of Unsatisfiable Core Reuse in SMT-Based Program Analysis
Software Engineering
Finds more bugs faster in computer programs.