Algebraic Methods for Optimizing Constant Multiplications in Linear Systems

Constant multiplications can be efficiently implemented in hardware by converting them into a sequence of nested additions and shift operations. They can be optimized further by finding common subexpressions among these operations. In this work, we present algebraic methods for eliminating common subexpressions. Algebraic techniques are established in multi-level logic synthesis for the minimization of the number of literals and hence gates to implement Boolean logic. In this work we use the concepts of two of these methods, namely rectangle covering and fast extract (FX) and adapt them to the problem of optimizing linear arithmetic expressions. The main advantage of using such methods is that we can optimize systems consisting of multiple variables, which is not possible using the conventional optimization techniques. Our optimizations are aimed at reducing the area and power consumption of the hardware, and experimental results show up to 30.3% improvement in the number of operations over conventional techniques. Synthesis and simulation results show up to 30% area reduction and up to 27% power reduction. We also modified our algorithm to perform delay aware optimization, where we perform common subexpression elimination such that the delay is not exceeded beyond a particular value.

[1]  Abhijit Chatterjee,et al.  OPTIMUS: a new program for OPTIMizing linear circuits with number-splitting and shift-and-add decompositions , 1995, Proceedings Sixteenth Conference on Advanced Research in VLSI.

[2]  Herman H. Goldstine,et al.  Preliminary discussion of the logical design of an electronic computing instrument (1946) , 1989 .

[3]  Paulo F. Flores,et al.  An exact algorithm for the maximal sharing of partial terms in multiple constant multiplications , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[4]  Ryan Kastner,et al.  Common subexpression elimination involving multiple variables linear DSP synthesis , 2004 .

[5]  H. T. Nguyen,et al.  Number-splitting with shift-and-add decomposition for power and hardware optimization in linear DSP synthesis , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Giovanni De Micheli,et al.  Using symbolic algebra in algorithmic level DSP synthesis , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[7]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[8]  A. Dempster,et al.  Use of minimum-adder multiplier blocks in FIR digital filters , 1995 .

[9]  Valeria Bertacco,et al.  The disjunctive decomposition of logic functions , 1997, ICCAD 1997.

[10]  Guillermo A. Jaquenod,et al.  Digital Signal Processing, A Computer Based Approach . 2nd Edition , 2003 .

[11]  In-Cheol Park,et al.  Digital filter synthesis based on an algorithm to generate all minimal signed digit representations , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Kaushik Roy,et al.  Complexity reduction of digital filters using shift inclusive differential coefficients , 2004, IEEE Transactions on Signal Processing.

[13]  In-Cheol Park,et al.  FIR filter synthesis algorithms for minimizing the delay and the number of adders , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[14]  Kaushik Roy,et al.  A graph theoretic approach for synthesizing very low-complexityhigh-speed digital filters , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  R. Engelbrecht,et al.  DIGEST of TECHNICAL PAPERS , 1959 .

[16]  Keith D. Cooper,et al.  Effective partial redundancy elimination , 1994, PLDI '94.

[17]  J. Rajski,et al.  A method for concurrent decomposition and factorization of Boolean expressions , 1990, ICCAD 1990.

[18]  Alexandru Nicolau,et al.  Incremental tree height reduction for high level synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[19]  Miodrag Potkonjak,et al.  Multiple constant multiplications: efficient and versatile framework and algorithms for exploring common subexpression elimination , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  R. Hartley Subexpression sharing in filters using canonic signed digit multipliers , 1996 .

[21]  Giovanni De Micheli,et al.  Low power embedded software optimization using symbolic algebra , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[22]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[23]  Patrick Schaumont,et al.  A new algorithm for elimination of common subexpressions , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[25]  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.

[26]  David Bull,et al.  Primitive operator digital filters , 1991 .

[27]  Abhijit Chatterjee,et al.  Greedy hardware optimization for linear digital circuits using number splitting and refactorization , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[28]  Sanjit K. Mitra,et al.  Digital Signal Processing: A Computer-Based Approach , 1997 .

[29]  T NguyenHuy,et al.  Number-splitting with shift-and-add decomposition for power and hardware optimization in linear DSP synthesis , 2000 .

[30]  Keith D. Cooper,et al.  Value Numbering , 1997, Softw. Pract. Exp..

[31]  Keith D. Cooper,et al.  Operator strength reduction , 2001, TOPL.

[32]  L. Wanhammar,et al.  Design of high-speed multiplierless filters using a nonrecursive signed common subexpression algorithm , 2002 .

[33]  Valeria Bertacco,et al.  The disjunctive decomposition of logic functions , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[34]  Miodrag Potkonjak,et al.  High performance embedded system optimization using algebraic and generalized retiming techniques , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[35]  Alberto Sangiovanni-Vincentelli,et al.  Logic synthesis for vlsi design , 1989 .

[36]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[37]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[38]  Janusz Rajski,et al.  The testability-preserving concurrent decomposition and factorization of Boolean expressions , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[39]  G. Venkatesh,et al.  Synthesis of multiplier-less FIR filters with minimum number of additions , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[40]  A. Hosangadi,et al.  Reducing hardware complexity of linear DSP systems by iteratively eliminating two-term common subexpressions , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..