Faster Adder Circuits for Inputs with Prescribed Arrival Times
Ulrich Brenner, Anna Hermann
Research Institute for Discrete Mathematics University of Bonn
Aussois, 10th January 2018
1 / 14
Faster Adder Circuits for Inputs with Prescribed Arrival Times - - PowerPoint PPT Presentation
Faster Adder Circuits for Inputs with Prescribed Arrival Times Ulrich Brenner, Anna Hermann Research Institute for Discrete Mathematics University of Bonn Aussois, 10th January 2018 1 / 14 Boolean Circuits t 0 t 1 t 2 t 3 t 4 inputs
Research Institute for Discrete Mathematics University of Bonn
1 / 14
t4 t3 t2 t1 t0 t0 ∧
(t1 ∨ t2) ∨ (t3 ∧ t4)
logic gates in B
∧ ∨
2 / 14
t4 t3 t2 t1 t0 t0 ∧
(t1 ∨ t2) ∨ (t3 ∧ t4)
logic gates in B
∧ ∨
2 / 14
◮ A Boolean circuit is the implementation of a logical function
◮ Here, B := {∧, ∨}. t4 t3 t2 t1 t0 t0 ∧
(t1 ∨ t2) ∨ (t3 ∧ t4)
logic gates in B
∧ ∨
2 / 14
◮ A Boolean circuit is the implementation of a logical function
◮ Here, B := {∧, ∨}. t4 t3 t2 t1 t0 t0 ∧
(t1 ∨ t2) ∨ (t3 ∧ t4)
logic gates in B
∧ ∨
2 / 14
◮ Assume that input ti has arrival time 0. ◮ Assume that traversing a gate takes 1 time unit. ◮ The arrival time at gate g is a(g) = maxp∈δ−(g)
1 2 3 4 t0 t1 t2 t3 t4
Depth 4
t0 t1 t2 t3 t4 1 1 2 2 3
Depth 3
3 / 14
◮ Assume that input ti has arrival time a(ti) ∈ N. ◮ Assume that traversing a gate takes 1 time unit. ◮ The arrival time at gate g is a(g) = maxp∈δ−(g)
2 3 4 5 4 2 1 1 t0 t1 t2 t3 t4
Delay 5
4 2 1 1 t0 t1 t2 t3 t4 3 3 5 4 6
Delay 6
3 / 14
1 1 1 1
4 / 14
c1
4 / 14
. . . ci+1 ci . . .
. . . ci+1 ci . . .
. . . ci+1 ci . . .
. . . ci+1 ci . . .
4 / 14
t0 t1 t2 t3 t4
t0 ∧ (t1 ∨ (t2 ∧ (t3 ∨ t4)))
t0 t1 t2 t3 t4 t5
t0 ∨ (t1 ∧ (. . . ∨ t5))
5 / 14
2 3 2 3 3 2 2 4 1 3 4 5 6 7 8 9 10 11 12
Delay 12, number of gates 9
2 3 2 3 3 2 2 4 1 3 4 4 3 5 5 4 4 5 5 6 6 7
Delay 7, number of gates 12
6 / 14
◮ Commentz-Walter [1979]: log2 m + Ω(log2 log2 m)
◮ Grinchuk [2009]: log2 m + log2 log2 m + 3
7 / 14
8 / 14
◮ Consider any circuit on inputs ti with arrival times a(ti).
8 / 14
◮ Consider any input ti with arrival time a := a(ti) > 0. ◮ Replace ti by a full binary tree with depth a.
8 / 14
◮ Consider any input ti with arrival time a := a(ti) > 0. ◮ Replace ti by a full binary tree with depth a. ◮ The tree has 2a inputs. ◮ This does not change the delay of the circuit.
8 / 14
◮ Iterating yields a circuit with W (t) := i 2a(ti) inputs.
8 / 14
i=0 2a(ti) .
◮ Huffman [1952] (Binary tree): ⌈log2 W ⌉
◮ Rautenbach et al. [2006] / Held, Spirkl [2017]:
◮ Spirkl [2014]: ⌈log2 W ⌉ + 2
◮ Here: log2 W + log2 log2 m + log2 log2 log2 m + 5
9 / 14
t0 t1 t2 t3 t4 t7
10 / 14
t0 t0 t1 t2 t2 t3 t4 t4 t7 t7
10 / 14
t0 t1 t1 t2 t3 t3 t4 t4 t7
10 / 14
t0 t1 t1 t2 t3 t3 t4 t4 t7
◮ tk generates a true signal and ◮ each And gate after tk propagates the true signal.
10 / 14
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
11 / 14
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′ 11 / 14
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′ 11 / 14
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
2d−1 d log2(d),
11 / 14
2d (d+1) log2(d+1)
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
large d d + 1 ?
Inductive step.
12 / 14
2d (d+1) log2(d+1)+ d d+1Λt, we can
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t′ t′′
large d d + 1 ?
Inductive step.
12 / 14
13 / 14
13 / 14
13 / 14
14 / 14
◮ The size of our circuit is at most 18m log2 m log2 log2 m. ◮ The maximum fanout of our circuit is at most
◮ Our algorithm has running time O(m2 log2 m). ◮ A dynamic program trying out all recursion steps has the same
1 / 1