Complexity of basic boolean operators for digital circuit design
This article provides a survey of circuit complexity bounds for basic boolean transforms exploited in digital circuit design and efficient methods for synthesizing such circuits. The exposition covers structurally simple functions and operators, such as counters, adders, encoders, and multiplexors, and excludes more complex algebraic operations with numbers, polynomials, and matrices. Several applications to implementing more specific operations are also discussed.
đĄ Research Summary
The paper presents a comprehensive survey of circuitâcomplexity results for a set of elementary Boolean operators that are ubiquitous in digital hardware design, such as counters, adders, encoders, multiplexers, comparators, and related transforms. The author adopts the standard model of Boolean circuits built from a basis of all binary Boolean functions, defines the size of a circuit C(ÎŚ) as the number of nonâinput gates, and the depth D(ÎŚ) as the length of the longest inputâtoâoutput path. A parallelâcomplexity measure C_log(F) is introduced to capture the cost of implementing an operator F with depth O(logâŻn), where n is the number of input variables.
The survey proceeds operator by operator, providing both upper and lower bounds for the minimal size and for the parallel size. For prefix sums (PREF) and suffix sums (PS) over a binary associative operation (â§, â¨, â), the classic BrentâKung (Ofman) construction yields C = nâŻââŻ1 and C_log = 2nâŻââŻÎ(logâŻn); the lower bound CâŻ+âŻDâŻâĽâŻ2nâŻââŻ2 shows this is essentially optimal. Increment (INC) and decrement (DEC) circuits are built by expressing each output bit as a XOR of the input bit and the conjunction of all lowerâorder bits; using a prefixâAND circuit gives C ⤠2nâŻââŻ2 and a parallel implementation with C_log ⤠3nâŻââŻÎ(logâŻn). An upâdown counter (UDC) combines the two, achieving C ⤠3nâŻââŻ3 and C_log ⤠4nâŻââŻÎ(logâŻn).
The Grayâcode counter (GRC) is realized by converting a binary index to Gray code (via prefixâXOR), incrementing in binary, then converting back. This yields C ⤠4nâŻââŻ7 and C_log ⤠6nâŻââŻÎ(logâŻn). Carry generation (CAR) is reduced to a prefix computation over a custom associative operator â on 2âbit vectors; since â can be implemented with three basic gates, the parallel carry circuit satisfies C = 2nâŻââŻ2 and C_log ⤠5nâŻââŻÎ(logâŻn). Adding two nâbit numbers (ADD) simply attaches an XOR layer to the carry circuit, giving the tight bound C = 5nâŻââŻ3 (proved by Redâkin) and C_log ⤠8nâŻââŻÎ(logâŻn). Subtraction is handled implicitly via twoâs complement.
Comparator (CMP) reuses the carry structure: the most significant carry bit equals the result of AâŻ>âŻB, leading to C ⤠4nâŻââŻ3 and C_log ⤠5nâŻââŻÎ(logâŻn). An extended comparator (CMP*) that also outputs equality adds only a linear number of extra gates, keeping C_log ⤠5nâŻââŻ3. Maximum (MAX) and minimum (MIN) are obtained by feeding the comparatorâs decision bit into a bitwise selector; this adds a layer of 2n gates, giving C ⤠6nâŻââŻ3 and C_log ⤠7nâŻââŻÎ(logâŻn).
The decoder (DEC) that produces a oneâhot vector from a binary address is implemented by recursively splitting the address bits and ANDâing the corresponding halves, which leads to a parallel depth of C_log ⤠nâŻ+âŻÎ(ân) and a matching lower bound. The demultiplexer (DEC*) and multiplexer (MUX) differ only by a few extra controlâgate connections, so their complexities differ by at most a constant factor.
TableâŻ1 in the paper summarizes all these bounds. The author also illustrates how these primitives can be combined to build more sophisticated structures such as a twoâselector, a weightâpreserving counter, multiple selection networks, and a bitâpair permutation circuit. Throughout the survey, the author emphasizes that while asymptotic results give a clear picture for large n, the simple constructions described often perform very well even for modest input sizes, making them highly relevant for practical digital design. The overall conclusion is that most basic Boolean operators can be efficiently realized using prefixâsum techniques and associativeâoperator reductions, providing both nearâoptimal size and logarithmic depth in a uniform synthesis framework.
Comments & Academic Discussion
Loading comments...
Leave a Comment