Constructing Depth-Optimum Circuits for Adders and AND-OR Paths

We examine the fundamental problem of constructing depth-optimum circuits for binary addition. More precisely, as in literature, we consider the following problem: Given auxiliary inputs $t_0, \dotsc, t_{m-1}$, so-called generate and propagate signals, construct a depth-optimum circuit over the basis {AND2, OR2} computing all $n$ carry bits of an $n$-bit adder, where $m=2n-1$. In fact, carry bits are AND-OR paths, i.e., Boolean functions of the form $t_0 \lor ( t_1 \land (t_2 \lor ( \dots t_{m-1}) \dots ))$. Classical approaches construct so-called prefix circuits which do not achieve a competitive depth. For instance, the popular construction by Kogge and Stone is only a $2$-approximation. A lower bound on the depth of any prefix circuit is $1.44 \log_2 m$ + const, while recent non-prefix circuits have a depth of $\log_2 m$ + $\log_2 \log_2 m$ + const. However, it is unknown whether any of these polynomial-time approaches achieves the optimum depth for all $m$. We present a new exponential-time algorithm solving the problem optimally. The previously best exact algorithm with a running time of $\mathcal O(2.45^m)$ is viable only for $m \leq 29$. Our algorithm is significantly faster: We achieve a running time of $\mathcal O(2.02^m)$ and apply sophisticated pruning strategies to improve practical running times dramatically. This allows us to compute optimum circuits for all $m \leq 64$. Combining these computational results with new theoretical insights, we derive the optimum depths of $2^k$-bit adder circuits for all $k \leq 13$, previously known only for $k \leq 4$. In fact, we solve a more general problem occurring in VLSI design: $delay$ optimization of a $generalization$ of AND-OR paths where AND and OR do not necessarily alternate. Our algorithm arises from our new structure theorem which characterizes delay-optimum generalized AND-OR path circuits.

[1]  Timing optimization by restructuring long combinatorial paths , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[2]  Avi Wigderson,et al.  Monotone Circuits for Connectivity Require Super-Logarithmic Depth , 1990, SIAM J. Discret. Math..

[3]  N. J. A. Sloane,et al.  The On-Line Encyclopedia of Integer Sequences , 2003, Electron. J. Comb..

[4]  Beate Commentz-Walter,et al.  Size-depth tradeoff in non-monotone Boolean formulae , 2004, Acta Informatica.

[5]  Jack Sklansky,et al.  Conditional-Sum Addition Logic , 1960, IRE Trans. Electron. Comput..

[6]  Beate Commentz-Walter Size-depth tradeoff in monotone Boolean formulae , 2004, Acta Informatica.

[7]  Valentin Goranko,et al.  Logic and Discrete Mathematics - A Concise Introduction , 2015 .

[8]  Richard Brent On the Addition of Binary Numbers , 1970, IEEE Transactions on Computers.

[9]  V. M. Khrapchenko On possibility of refining bounds for the delay of a parallel adder , 2008 .

[10]  David Z. Pan,et al.  Towards Optimal Performance-Area Trade-Off in Adders by Synthesis of Parallel Prefix Structures , 2014, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Shmuel Winograd,et al.  On the Time Required to Perform Addition , 1965, JACM.

[12]  Ulrich Brenner,et al.  Delay Optimization of Combinational Logic by And-Or Path Restructuring , 2020, ArXiv.

[13]  M. Paterson,et al.  Optimal carry save networks , 1992 .

[14]  N. Sloane The on-line encyclopedia of integer sequences , 2018, Notices of the American Mathematical Society.

[15]  Anna Hermann Faster Circuits for And-Or Paths and Binary Addition , 2020 .

[16]  Harold S. Stone,et al.  A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations , 1973, IEEE Transactions on Computers.

[17]  Dieter Rautenbach,et al.  Delay optimization of linear depth boolean circuits with prescribed input arrival times , 2006, J. Discrete Algorithms.

[18]  Ulrich Brenner,et al.  Faster Carry Bit Computation for Adder Circuits with Prescribed Arrival Times , 2019, ACM Trans. Algorithms.

[19]  Martin Charles Golumbic Combinatorial Merging , 1976, IEEE Transactions on Computers.

[20]  Stephan Held,et al.  Binary Adder Circuits of Asymptotically Minimum Depth, Linear Size, and Fan-Out Two , 2015, ACM Trans. Algorithms.

[21]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[22]  Leon Gordon Kraft,et al.  A device for quantizing, grouping, and coding amplitude-modulated pulses , 1949 .

[23]  M. I. Grinchuk Sharpening an upper bound on the adder and comparator depths , 2009 .

[24]  Peter L. Hammer,et al.  Boolean Functions - Theory, Algorithms, and Applications , 2011, Encyclopedia of mathematics and its applications.

[25]  Simon Knowles,et al.  A family of adders , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[26]  Dieter Rautenbach,et al.  The delay of circuits whose inputs have specified arrival times , 2007, Discret. Appl. Math..

[27]  Stephan Held,et al.  Fast Prefix Adders for Non-uniform Input Arrival Times , 2014, Algorithmica.

[28]  Roberto Bruni,et al.  Models of Computation , 2017, Texts in Theoretical Computer Science. An EATCS Series.

[29]  Esslli Site,et al.  Models of Computation , 2012 .

[30]  Ingo Wegener,et al.  The complexity of Boolean functions , 1987 .