Abstract
Verifying arithmetic circuits and most prominently multiplier circuits is an important problem which in practice still requires substantial manual effort. The currently most effective approach uses polynomial reasoning over pseudo boolean polynomials. In this approach a word-level specification is reduced by a Gro¨bner basis which is implied by the gate-level representation of the circuit. This reduction returns zero if and only if the circuit is correct. We give a rigorous formalization of this approach including soundness and completeness arguments. Furthermore we present a novel incremental column-wise technique to verify gate-level multipliers. This approach is further improved by extracting full- and half-adder constraints in the circuit which allows to rewrite and reduce the Gro¨bner basis. We also present a new technical theorem which allows to rewrite local parts of the Gro¨bner basis. Optimizing the Gro¨bner basis reduces computation time substantially. In addition we extend these algebraic techniques to verify the equivalence of bit-level multipliers without using a word-level specification. Our experiments show that regular multipliers can be verified efficiently by using off-the-shelf computer algebra tools, while more complex and optimized multipliers require more sophisticated techniques. We discuss in detail our complete verification approach including all optimizations.
| Original language | English |
|---|---|
| Pages (from-to) | 22-54 |
| Number of pages | 34 |
| Journal | Formal Methods in System Design |
| Issue number | 1-3 |
| DOIs | |
| Publication status | Published - 2019 |
Fields of science
- 102 Computer Sciences
- 102001 Artificial intelligence
- 102011 Formal languages
- 102022 Software development
- 102031 Theoretical computer science
- 603109 Logic
- 202006 Computer hardware