Constructing Depth-Optimum Circuits for Adders and AND-OR Paths
Abstract
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 , so-called generate and propagate signals, construct a depth-optimum circuit over the basis {AND2, OR2} computing all carry bits of an -bit adder, where . In fact, carry bits are AND-OR paths, i.e., Boolean functions of the form . 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 -approximation. A lower bound on the depth of any prefix circuit is + const, while recent non-prefix circuits have a depth of + + const. However, it is unknown whether any of these polynomial-time approaches achieves the optimum depth for all . We present a new exponential-time algorithm solving the problem optimally. The previously best exact algorithm with a running time of is viable only for . Our algorithm is significantly faster: We achieve a running time of and apply sophisticated pruning strategies to improve practical running times dramatically. This allows us to compute optimum circuits for all . Combining these computational results with new theoretical insights, we derive the optimum depths of -bit adder circuits for all , previously known only for . In fact, we solve a more general problem occurring in VLSI design: optimization of a 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.
Keywords
Cite
@article{arxiv.2012.05550,
title = {Constructing Depth-Optimum Circuits for Adders and AND-OR Paths},
author = {Ulrich Brenner and Anna Hermann and Jannik Silvanus},
journal= {arXiv preprint arXiv:2012.05550},
year = {2020}
}