Finding linear building-blocks for RTL synthesis of polynomial datapaths with fixed-size bit-vectors

Polynomial computations over fixed-size bit-vectors are found in many practical datapath designs. For efficient RTL synthesis, it is important to identify good decompositions of the polynomial into smaller/simpler units. Symbolic computer algebra algorithms and tools have been used for this purpose. However, fixed-size (m) bit-vector arithmetic is polynomial algebra over the finite integer ring Z2m, which is a non-unique factorization domain (non-UFD). While non-UFDs provide an extra freedom to search for decompositions, they complicate polynomial manipulation as traditional division-based algorithms are inapplicable. This paper presents new mathematical concepts for polynomial decomposition over Z2m, for RTL synthesis over fixed-size m-bit vectors. Given a polynomial, we identify a specific set of linear expressions and compute the Grobner bases of their ideal (over non-UFD Z2m) using syzygies. This basis serves as good building-blocks for the given computation. A decomposition is identified by subsequent Grobner basis reduction. Experimental results demonstrate significant area savings due to our approach, as compared against contemporary datapath synthesis techniques.

[1]  Enrico Carlini Reducing the number of variables of a polynomial , 2006, Algebraic Geometry and Geometric Modeling.

[2]  Giovanni De Micheli,et al.  Polynomial methods for allocating complex components , 1999, DATE '99.

[3]  Priyank Kalla,et al.  Equivalence verification of polynomial datapaths with fixed-size bit-vectors using finite ring algebra , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[4]  David A. Cox,et al.  Ideals, Varieties, and Algorithms , 1997 .

[5]  Wonyong Sung,et al.  Word-length optimization for high-level synthesis of digital signal processing systems , 1998, 1998 IEEE Workshop on Signal Processing Systems. SIPS 98. Design and Implementation (Cat. No.98TH8374).

[6]  Priyank Kalla,et al.  A Gröbner Basis Approach to CNF-Formulae Preprocessing , 2007, TACAS.

[7]  Erich Kaltofen,et al.  Computer algebra handbook , 2002 .

[8]  Ryan Kastner,et al.  Factoring and eliminating common subexpressions in polynomial expressions , 2004, ICCAD 2004.

[9]  Ryan Kastner,et al.  Optimizing Polynomial Expressions by Algebraic Factorization and Common Subexpression Elimination , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Priyank Kalla,et al.  Optimization of Arithmetic Datapaths with Finite Word-Length Operands , 2007, 2007 Asia and South Pacific Design Automation Conference.

[11]  Giovanni De Micheli,et al.  Polynomial circuit models for component matching in high-level synthesis , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[12]  David A. Cox,et al.  Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 3/e (Undergraduate Texts in Mathematics) , 2007 .

[13]  R. B. J. T. Allenby,et al.  Rings, Fields and Groups: An Introduction to Abstract Algebra , 1983 .

[14]  Ryan Kastner,et al.  Energy efficient hardware synthesis of polynomial expressions , 2005, 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design.

[15]  G. de Micheli,et al.  Polynomial methods for component matching and verification , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[16]  Russell Impagliazzo,et al.  Using the Groebner basis algorithm to find proofs of unsatisfiability , 1996, STOC '96.

[17]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[18]  H. Michael Möller,et al.  On the Construction of Gröbner Bases Using Syzygies , 1988, J. Symb. Comput..

[19]  Paolo Ienne,et al.  Towards the automatic exploration of arithmetic-circuit architectures , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[20]  Giovanni De Micheli,et al.  Application of symbolic computer algebra in high-level data-flow synthesis , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Bruno Buchberger,et al.  Some properties of Gröbner-bases for polynomial ideals , 1976, SIGS.

[22]  Wayne Luk,et al.  Synthesis of saturation arithmetic architectures , 2003, TODE.

[23]  Heinz Kredel,et al.  Gröbner Bases: A Computational Approach to Commutative Algebra , 1993 .

[24]  V. J. Mathews,et al.  Polynomial Signal Processing , 2000 .

[25]  Bruno Buchberger,et al.  A theoretical basis for the reduction of polynomials to canonical forms , 1976, SIGS.

[26]  Moshe Y. Vardi,et al.  Groebner bases computation in Boolean rings for symbolic model checking , 2007 .

[27]  Paolo Ienne,et al.  Improved use of the carry-save representation for the synthesis of complex arithmetic circuits , 2004, ICCAD 2004.

[28]  Kwang-Ting Cheng,et al.  Using word-level ATPG and modular arithmetic constraint-solvingtechniques for assertion property checking , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[29]  Xiaowei Shen,et al.  Using term rewriting systems to design and verify processors , 1999, IEEE Micro.