Very Large Scale Integration II - VLSI II Adder Topologies Gürer Özbek ITU VLSI Laboratories Istanbul Technical University 1 www.vlsi.itu.edu.tr 13.04.2015 Outline Single Bit Addition Carry Propagate Adders PGK Representation & PG Diagram Tree Adders (Parallel Prefix Adders) 2 www.vlsi.itu.edu.tr 13.04.2015 Adder Topologies Single Bit Addition – – Half Adder Full Adder Carry Propagate Adders – – – – Carry Ripple (normal & inverse) Carry Skip Carry Select Carry Lookahead Tree Adders (parallel prefix adders) – – – – – – – Brent Kung Sklansky Kogge-Stone Ladner-Fischer Knowles Han-Carlson Sparse Tree 3 www.vlsi.itu.edu.tr 13.04.2015 Single Bit Addition What’s the deal? – All we want to do is add up a couple numbers… A B C S A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 AB etc. 4 www.vlsi.itu.edu.tr 13.04.2015 Half Adder 2 bit input, 2 bit output Used to build a Full Adder A B S A B Cout S Cout A.B A B Cout S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 5 www.vlsi.itu.edu.tr 13.04.2015 Full Adder Main element of n-bit adders Consists of 2 HAs A A B Ci Co S 0 0 0 0 0 0 0 1 0 1 S A B Ci 0 1 0 0 1 Cout MAJ ( A, B, Ci ) 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 B Cout Ci S 6 www.vlsi.itu.edu.tr 13.04.2015 Carry Propagate Adders N-bit adder called as CPA – – Each sum bit consists inf. of all previous carries It’s the main problem to calculate them all quickly AN...1 BN...1 Cout + SN...1 Cout Cin 00000 1111 +0000 1111 Cin Cout 11111 1111 +0000 0000 Cin carries A4...1 B4...1 S4...1 7 www.vlsi.itu.edu.tr 13.04.2015 Carry Ripple Adder Simplest Design: Cascaded FAs – – – Second area efficient of all Slowest of all Default topology to be synthesized A4 B4 Cout A3 B3 C3 S4 A2 B2 C2 S3 A1 B1 Cin C1 S2 S1 8 www.vlsi.itu.edu.tr 13.04.2015 Carry Ripple Adder Delay Delay grows with O(N) Every FA waits for previous’ output Cin B1 B2 B3 B4 A1 A2 A3 A4 S1 S2 S3 S4 Cout 9 www.vlsi.itu.edu.tr 13.04.2015 Inverse Carry Ripple Adder A4 Uses inverting FAs – – Most area efficient of all Second Slowest of all B4 Cout A3 B3 C3 MINORITY A2 B2 C2 A1 B1 Cin C1 A S4 B S3 S2 S1 C Cout S S Cout 10 www.vlsi.itu.edu.tr 13.04.2015 Propagate, Generate and Kill the Carry Three operation can be defined to describe status of carry – – – Propagate: Previous carry is propagated to next bit Generate: Generate a carry bit Kill: Kill the previous carry Gi:i Gi Ai .Bi Pi:i Pi Ai Bi K i:i K i Ai Bi A B P G K 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 11 www.vlsi.itu.edu.tr 13.04.2015 Propagate and Generate the Carry Kill is not used mostly Carry Merge Tree (CM) Initial values Gi: j Gi:k Pi:k .Gk 1: j G0:0 G0 Cin Pi: j Pi:k .Pk 1: j P0:0 P0 0 Final Sum Si Pi Gi 1:0 12 www.vlsi.itu.edu.tr 13.04.2015 PG Diagram A4 B4 A3 B3 A2 B2 A1 B1 Cin 1: Bitwise PG logic G4 P4 G3 P3 G2 P2 G1 P1 G0 P0 2: Group PG logic G3:0 G2:0 G1:0 G0:0 C3 C2 C1 C0 3: Sum logic C4 Cout S4 S3 S2 S1 13 www.vlsi.itu.edu.tr 13.04.2015 Carry Ripple in PG Diagram 1 Gi:0 Gi Pi .Gi 1:0 A4 B4 G4 P4 A3 B3 G3 P3 A2 B2 G2 P2 A1 B1 G1 P1 Cin G0 G3:0 G2:0 G1:0 G0:0 C3 C2 C1 C0 P0 C4 Cout S4 S3 S2 S1 14 www.vlsi.itu.edu.tr 13.04.2015 Carry Ripple in PG Diagram 2 Bit Position tripple t pg ( N 1)tAO txor 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1-bit prop/gen cell delay of And/Or in grey cell Delay Final SUM bit xor Delay grows as O(N) 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 15 www.vlsi.itu.edu.tr 13.04.2015 PG Diagram Notation Black cell i:k Gray cell k-1:j i:k i:j Gi:k Pi:k Gk-1:j Pk-1:j Buffer k-1:j i:j i:j i:j Gi:j Gi:k Pi:k Gk-1:j Pi:j Both Gen/Prop Generate only Gi:j Gi:j Gi:j Pi:j Pi:j Different load 16 www.vlsi.itu.edu.tr 13.04.2015 Carry Skip Adder Better delay growth rate is necessary Improves critical path delay Cout A16:13 B16:13 A12:9 B12:9 A8:5 B8:5 A4:1 P16:13 P12:9 P8:5 P4:1 1 0 C12 + S16:13 – – 1 0 C8 + S12:9 1 0 C4 + S8:5 B4:1 1 Cin 0 + S4:1 Red arrows: Allowed carry paths Blue arrow: Non-allowed carry path 17 www.vlsi.itu.edu.tr 13.04.2015 Carry Skip in PG Diagram For k n-bit groups (N = nk) Delay grows as O(√N) 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 skip thru muxes First & last group ripple 16:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 tskip t pg 2 n 1 ( k 1) t AO txor 18 www.vlsi.itu.edu.tr 13.04.2015 Carry Select Adder Precomputes sum of n-bit groups for both carry conditions Final Mux selects the correct sum value when correct carry value arrives A16:13 B16:13 A12:9 B12:9 0 + Cout + 1 + A4:1 B4:1 0 C8 1 + C4 + Cin 0 S12:9 B8:5 + 1 0 1 0 1 S16:13 0 + C12 1 A8:5 S8:5 S4:1 tselect t pg n (k 2)t AO tmux 19 www.vlsi.itu.edu.tr 13.04.2015 Carry Select in PG Diagram Precomputes sum of n-bit groups for both carry conditions 15 14 13 12 11 10 13:12 8 7 6 9:8 14:12 15:12 9 4 3 2 1 0 5:4 10:8 11:8 5 6:4 7:4 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 tselect t pg n 1 (k 1) t AO t xor 20 www.vlsi.itu.edu.tr 13.04.2015 Carry Lookahead Adder Computes Generate bits in parallel Higher-valency cells are used A16:13 B16:13 Cout G16:13 P16:13 + S16:13 C12 A12:9 B12:9 G12:9 P12:9 + S12:9 A8:5 B8:5 C8 A4:1 C4 G8:5 P8:5 B4:1 G4:1 P4:1 + + S8:5 S4:1 Cin 21 www.vlsi.itu.edu.tr 13.04.2015 Carry Lookahead in PG Diagram Collecting Generate/Propagate over many cells 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 16:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 22 www.vlsi.itu.edu.tr 13.04.2015 Higher Valency Cells in CLA Difficult to design with static CMOS i:k k-1:l l-1:m m-1:j i:j Gi:k Pi:k Gk-1:l Pk-1:l Gl-1:m Pl-1:m Gm-1:j Gi:j Pi:j Pm-1:j Recursive definition of Generate 23 www.vlsi.itu.edu.tr 13.04.2015 Tree Adders Parallel PG calculation without linear propagation O(log N) delay Suitable for large-bit adders 24 www.vlsi.itu.edu.tr 13.04.2015 Brent-Kung Very First and Bad one 15 14 13 12 11 10 15:14 13:12 15:12 11:10 9 9:8 11:8 8 7 7:6 6 5 5:4 7:4 15:8 4 3 3:2 2 1 0 1:0 3:0 7:0 11:0 13:0 9:0 5:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 25 www.vlsi.itu.edu.tr 13.04.2015 Sklansky Least Logic Levels 15 14 13 12 11 10 15:14 13:12 11:10 15:12 14:12 15:8 14:8 11:8 10:8 13:8 9 9:8 8 Highest Fanout 7 6 7:6 7:4 5 5:4 6:4 4 3 2 3:2 3:0 1 0 1:0 2:0 12:8 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 26 www.vlsi.itu.edu.tr 13.04.2015 Kogge-Stone Least Logic Levels 15:14 14:13 13:12 12:11 11:10 10:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2:1 3:0 2:0 15:12 14:11 13:10 12:9 11:8 10:7 9:6 8:5 7:4 6:3 5:2 4:1 13:6 12:5 11:4 10:3 9:2 8:1 7:0 6:0 5:0 4:0 15:8 14:7 1 2 3 4 5 6 7 8 9 15 14 13 12 11 10 Hard to P&R 0 1:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 27 www.vlsi.itu.edu.tr 13.04.2015 Tree Adder Taxonomy Ideal N-bit tree adder would have – – – Describe adder with 3-D taxonomy (l, f, t) – – – L = log N logic levels Fanout of 2 No more than one wiring track between levels Logic levels: Fanout: Wiring tracks: L+l 2f + 1 2t Known tree adders sit on plane defined by l + f + t = L-1 28 www.vlsi.itu.edu.tr 13.04.2015 Tree Adder Taxonomy 2 l (Logic Levels) 3 (7) Brent-Kung f (Fanout) 2 (6) Sklansky 3 (9) 1 (5) 2 (5) 1 (3) 0 (2) 0 (4) 0 (1) 1 (2) 2 (4) Kogge-Stone 3 (8) t (Wire Tracks) 29 www.vlsi.itu.edu.tr 13.04.2015 Ladner-Fischer A bit more logic levels 15 14 13 12 11 10 15:14 13:12 15:12 11:10 9 9:8 11:8 15:8 13:8 15:8 13:0 8 7 7:6 6 5 5:4 7:4 7:0 11:0 High Fanout 4 3 3:2 2 1 0 1:0 3:0 5:0 9:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 30 www.vlsi.itu.edu.tr 13.04.2015 Knowles [2, 1, 1, 1] So many cells and wires 15 14 13 12 11 10 9 8 Some Fanout 7 6 5 4 3 2 15:14 14:13 13:12 12:11 11:10 10:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2:1 15:12 14:11 13:10 3:0 2:0 15:8 14:7 13:6 12:9 11:8 10:7 9:6 8:5 7:4 6:3 5:2 4:1 12:5 11:4 10:3 9:2 8:1 7:0 6:0 5:0 4:0 1 0 1:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 31 www.vlsi.itu.edu.tr 13.04.2015 Han-Carlson A bit more logic levels 15 14 13 12 11 10 9 8 7 Less cells 6 5 4 3 15:14 13:12 11:10 9:8 7:6 5:4 3:2 15:12 13:10 11:8 9:6 7:4 5:2 3:0 15:8 13:6 11:4 9:2 7:0 5:0 2 1 0 1:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 32 www.vlsi.itu.edu.tr 13.04.2015 HOMEWORK 32-bit Sparse Tree Adder – Literature Search – PG Diagram – Black cells, grey cells, buffers, muxes etc. Gate Level Schematic – What, When, Who, Where, Why, How One per group Delay Model wrt gate delays tsparse=… – 1 week 33 www.vlsi.itu.edu.tr 13.04.2015 Tree Adder Taxonomy 3 (f)Ladner-Fischer 15 15:14 14 13 12 13:12 11 10 11:10 15:12 9 8 9:8 13:8 15:8 13:0 6 5 7:6 11:8 15:8 7 4 5:4 2 3:2 7:4 1 0 1:0 l (Logic Levels) 3:0 7:0 11:0 3 5:0 9:0 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 BrentKung 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 LadnerFischer LadnerFischer f (Fanout) 3 (7) Sklansky 2 (6) 3 (9) (d) Han-Carlson 1 (5) 2 (5) 15 14 13 1 (3) 0 (2) 0 (4) 0 (1) HanCarlson Knowles [4,2,1,1] 12 11 10 9 8 7 6 5 4 3 15:14 13:12 11:10 9:8 7:6 5:4 3:2 15:12 13:10 11:8 9:6 7:4 5:2 3:0 15:8 13:6 11:4 9:2 7:0 5:0 2 1 0 1:0 1 (2) HanCarlson (e) Knowles [2,1,1,1] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Knowles [2,1,1,1] 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 2 (4) 15:14 14:13 13:12 12:11 11:10 10:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2:1 15:12 14:11 13:10 3:0 2:0 15:8 14:7 13:6 12:9 11:8 10:7 9:6 8:5 7:4 6:3 5:2 4:1 12:5 11:4 10:3 9:2 8:1 7:0 6:0 5:0 4:0 1:0 Kogge3 (8) Stone 15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0 t (Wire Tracks) 34 www.vlsi.itu.edu.tr 13.04.2015 Summary Adders with Area-Power-Delay Tradeoffs Architecture Classification Logic Levels Max Tracks Fanout Cells Carry-Ripple N-1 1 1 N Carry-Skip n=4 N/4 + 5 2 1 1.25N Carry-Sel. n=4 N/4 + 2 4 1 2N Brent-Kung (L-1, 0, 0) 2log2N – 1 2 1 2N Sklansky (0, L-1, 0) log2N N/2 + 1 1 0.5 Nlog2N Kogge-Stone (0, 0, L-1) log2N 2 N/2 Nlog2N 35 www.vlsi.itu.edu.tr 13.04.2015 References http://bwrc.eecs.berkeley.edu/icbook/Slides/chapt er11.ppt http://www.cmosvlsi.com/lect11.pdf http://www.eng.utah.edu/~cs5830/Slides/addersx 2.pdf Knowles, S. (1999) A Family of Adders 36 www.vlsi.itu.edu.tr 13.04.2015