Lecture : dders Slides courtesy of Deming hen Slides based on the initial set from David Harris MOS VLSI Design
Outline Single-bit ddition arry-ripple dder arry-skip dder arry-lookahead dder arry-select dder arry-increment dder Tree dder Readings:.-.2.2.8 2
Single-it ddition Half dder S out out S Full dder S out (,, ) S out S out S 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 MJ out
PGK For a full adder, define what happens to carries (in terms of and ) Generate: out = independent of G = Propagate: out = P = Kill: out = 0 independent of K = ~ ~ 4
MJ Full dder Design I rute force implementation from eqns S out MJ (,, ) S out S out 5
Full dder Design II Factor S in terms of out S = + ( + + )(~ out ) ritical path is usually to out in ripple adder MINORITY out S S out 6
Layout lever layout circumvents usual line of diffusion Use wide transistors on critical path Eliminate output inverters 7
Full dder Design III omplementary Pass Transistor Logic (PL) Slightly faster, but more area S out S out 8
arry Propagate dders N-bit adder called P Each sum bit depends on all previous carries How do we compute all these carries quickly? N... N... out 00000 + in +0000 +0000 0000 S N... out in out in carries 4... 4... S 4... 9
arry-ripple dder Simplest design: cascade full adders ritical path goes from in to out Design full adder to have fast carry delay 4 4 3 3 2 2 out in 3 2 S 4 S 3 S 2 S 0
Generate / Propagate Equations often factored into G and P Generate and propagate for groups spanning i:j G G P G i: j i: k i: k k : j P P P i: j i: k k : j 0:00:00inGP ase case G G Sum: i: i i i i P P i: i i i i Si Pi Gi :0 G0:0 G0 in P0:0 P0 0
PG Logic 4 4 3 3 2 2 in G 4 P 4 G 3 P 3 G 2 P 2 G P G 0 P 0 : itwise PG logic 2: Group PG logic G 3:0 G 2:0 G :0 G 0:0 3 2 0 3: Sum logic 4 out S 4 S 3 S 2 S 2
arry-ripple Revisited G G P G i:0 i i i :0 4 4 3 3 2 2 in G 4 P 4 G 3 P 3 G 2 P 2 G P G 0 P 0 G 3:0 G 2:0 G :0 G 0:0 3 2 0 4 out S 4 S 3 S 2 S 3
Delay arry-ripple PG Diagram it Position 5 4 3 2 0 9 8 7 6 5 4 3 2 0 t t ( N ) t t ripple pg O xor 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 4
PG Diagram Notation lack cell Gray cell uffer i:k k-:j i:k k-:j i:j i:j i:j i:j G i:k P i:k G k-:j G i:j G i:k P i:k G i:j G k-:j G i:j G i:j P k-:j P i:j P i:j P i:j 5
arry-skip dder arry-ripple is slow through all N stages arry-skip allows carry to skip over groups of n bits Decision based on n-bit propagate signal 6:3 6:3 2:9 2:9 8:5 8:5 4: 4: P 6:3 P 2:9 P 8:5 P 4: 2 8 4 out 0 + 0 + 0 + 0 + in S 6:3 S 2:9 S 8:5 S 4: 6
arry-skip PG Diagram 6 5 4 3 2 0 9 8 7 6 5 4 3 2 0 6:0 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 For k n-bit groups (N = nk) tskip tpg 2 n ( k ) t O t xor 7
Variable Group Size 6 5 4 3 2 0 9 8 7 6 5 4 3 2 0 6:0 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 Delay grows as O(sqrt(N)) 8
arry-lookahead dder arry-lookahead adder computes G i:0 for many bits in parallel. Uses higher-valency cells with more than two inputs. 6:3 6:3 2:9 2:9 8:5 8:5 4: 4: out G 6:3 P 6:3 2 G 2:9 P 2:9 8 G 8:5 P 8:5 4 G 4: P 4: + + + + in S 6:3 S 2:9 S 8:5 S 4: 9
0 0 0 arry-select dder Trick for critical paths dependent on late input X Precompute two possible outputs for X = 0, Select proper output when X arrives arry-select adder precomputes n-bit sums For both possible carries into n-bit group 6:3 6:3 2:9 2:9 8:5 8:5 4: 4: + 0 + 0 + 0 out + 2 + 8 + 4 + in S 6:3 S 2:9 S 8:5 S 4: 20
Tree dder If lookahead is good, lookahead across lookahead! Recursive lookahead gives O(log N) delay Many variations on tree adders 2
rent-kung 5 4 3 2 0 9 8 7 6 5 4 3 2 0 5:4 3:2 :0 9:8 7:6 5:4 3:2 :0 5:2 :8 7:4 3:0 5:8 7:0 :0 3:0 9:0 5:0 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 22
Sklansky 5 4 3 2 0 9 8 7 6 5 4 3 2 0 5:4 3:2 :0 9:8 7:6 5:4 3:2 :0 5:2 4:2 :8 0:8 7:4 6:4 3:0 2:0 5:8 4:8 3:8 2:8 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 23
Kogge-Stone 5 4 3 2 0 9 8 7 6 5 4 3 2 0 5:4 4:3 3:2 2: :0 0:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2: :0 5:2 4: 3:0 2:9 :8 0:7 9:6 8:5 7:4 6:3 5:2 4: 3:0 2:0 5:8 4:7 3:6 2:5 :4 0:3 9:2 8: 7:0 6:0 5:0 4:0 5:0 4:0 3:0 2:0 :0 0:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 :0 0:0 24
Tree dder Taxonomy Ideal N-bit tree adder would have L = log N logic levels Fanout never exceeding 2 No more than one wiring track between levels Describe adder with 3-D taxonomy (l, f, t) Logic levels: L + l Fanout: 2 f + Wiring tracks: 2 t Known tree adders sit on plane defined by l + f + t = L- 25
Summary dder architectures offer area / power / delay tradeoffs. hoose the best one for your application. rchitecture lassification Logic Levels Max Fanout Tracks arry-ripple N- N ells arry-skip n=4 N/4 + 5 2.25N arry-inc. n=4 N/4 + 2 4 2N rent-kung (L-, 0, 0) 2log 2 N 2 2N Sklansky (0, L-, 0) log 2 N N/2 + 0.5 Nlog 2 N Kogge-Stone (0, 0, L-) log 2 N 2 N/2 Nlog 2 N 26