|
ABSTRACT
This paper addresses the problem of solving finite word-length (bit-vector) arithmetic with applications to equivalence verification of arithmetic datapaths. Arithmetic datapath designs perform a sequence of Add, Mult, Shift, Compare, Concatenate, Extract, etc., operations over bit-vectors. We show that such arithmetic operations can be modeled, as constraints, using a system of polynomial functions of the type f: Z2n1 x Z2n2 x ··· x Z2nd → Z2m. This enables the use of modulo-arithmetic based decision procedures for solving such problems in one unified domain. We devise a decision procedure using Newton's p-adic iteration to solve such arithmetic with composite moduli, while properly accounting for the word-sizes of the operands. We describe our implementation and show how the basic p-adic approach can be improved upon. Experiments are performed over some communication and signal processing designs that perform non-linear and polynomial arithmetic over word-level inputs. Results demonstrate the potential and limitations of our approach, when compared against SAT-based approaches.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
B. Dutertre and L. De Moura, "The YICES SMT Solver", http://yices.csl.sri.com/tool-paper.pdf, 2006.
|
| |
4
|
|
| |
5
|
R. Bruttomesso, A. Cimmatti, and et al., "A Lazy and Layered SMT(BV) Solver for Hard Industrial Verification Problems", in Proc. CAV, LNCS, pp. 247--260. Springer-Verlag, 2007.
|
| |
6
|
V. Ganesh and D. Dill, "A Decision Procedure for Bit-Vectors and Arrays", in Proc. (CAV), LNCS. Springer-Verlag, 2007.
|
| |
7
|
|
| |
8
|
R. Brant, D. Kroening, and et al, "Deciding Bit-Vector Arithmetic with Abstraction", in Proc. TACAS, pp. 358--372, 2007.
|
| |
9
|
N. Shekhar, P. Kalla, and F. Enescu, "Equivalence Verification of Polynomial Datapaths using Ideal Membership Testing", IEEE Trans. CAD, vol. 26, pp. 1320--1330, July 2007.
|
| |
10
|
N. Shekhar, P. Kalla, M. B. Meredith, and F. Enescu, "Simulation Bounds for Equivalence Verification of Polynomial Datapaths using Finite Ring Algebra", IEEE Trans. VLSI, vol. 16, pp. 376--387, 2008.
|
| |
11
|
N. Shekhar , P. Kalla , F. Enescu , S. Gopalakrishnan, Equivalence verification of polynomial datapaths with fixed-size bit-vectors using finite ring algebra, Proceedings of the 2005 IEEE/ACM International conference on Computer-aided design, p.291-296, November 06-10, 2005, San Jose, CA
|
| |
12
|
|
| |
13
|
R. Zippel, Effective Polynomial Computation, Kluwer Acad. Pub., 1993.
|
| |
14
|
D. Babic and M. Musuvathi, "Modular Arithmetic Decision Procedure", Technical Report TR-2005-114, Microsoft Research, 2005.
|
| |
15
|
|
 |
16
|
|
 |
17
|
Clark W. Barrett , David L. Dill , Jeremy R. Levitt, A decision procedure for bit-vector arithmetic, Proceedings of the 35th annual conference on Design automation, p.522-527, June 15-19, 1998, San Francisco, California, United States
[doi> 10.1145/277044.277186]
|
| |
18
|
|
 |
19
|
Farzan Fallah , Srinivas Devadas , Kurt Keutzer, Functional vector generation for HDL models using linear programming and 3-satisfiability, Proceedings of the 35th annual conference on Design automation, p.528-533, June 15-19, 1998, San Francisco, California, United States
[doi> 10.1145/277044.277187]
|
| |
20
|
|
| |
21
|
C.-Y. Huang and K.-T. Cheng, "Using Word-Level ATPG and Modular Arithmetic Constraint Solving Techniques for Assertion Property Checking", IEEE Trans. CAD, vol. 20, pp. 381--391, 2001.
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
M. R. Guthaus , J. S. Ringenberg , D. Ernst , T. M. Austin , T. Mudge , R. B. Brown, MiBench: A free, commercially representative embedded benchmark suite, Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop, p.3-14, December 02-02, 2001
[doi> 10.1109/WWC.2001.15]
|
| |
27
|
|
|