EE241 - Spring 2000 - University of California,...

19
EE241 1 UC Berkeley EE241 B. Nikolic EE241 - Spring 2000 Advanced Digital Integrated Circuits Lecture 16 Adders UC Berkeley EE241 B. Nikolic Carry-Skip Adder FA FA FA FA P0 G1 P0 G1 P2 G2 P3 G3 Co,3 Co,2 Co,1 Co,0 Ci,0 FA FA FA FA P0 G1 P0 G1 P2 G2 P3 G3 Co,2 Co,1 Co,0 Ci,0 Co,3 Multiplexer BP=P oP1P2P3 Idea: If (P0 and P1 and P2 and P3 = 1) then C o3 = C 0 , else “kill” or “generate”. Bypass MacSorley, Proc IRE 1/61 Lehman, Burla, IRE Trans on Comp, 12/61

Transcript of EE241 - Spring 2000 - University of California,...

Page 1: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

1

UC Berkeley EE241 B. Nikoli c

EE241 - Spring 2000Advanced Digital Integrated Circuits

Lecture 16

Adders

UC Berkeley EE241 B. Nikoli c

Carry-Skip Adder

FA FA FA FA

P0 G1 P0 G1 P2 G2 P3 G3

Co,3Co,2Co,1Co,0Ci,0

FA FA FA FA

P0 G1 P0 G1 P2 G2 P3 G3

Co,2Co,1Co,0Ci,0

Co,3

Mul

tiple

xer

BP=PoP1P2P3

Idea: If (P0 and P1 and P2 and P3 = 1)then Co3 = C0, else “kill” or “generate”.

Bypass

MacSorley, Proc IRE 1/61Lehman, Burla, IRE Trans on Comp, 12/61

Page 2: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

2

UC Berkeley EE241 B. Nikoli c

Carry-Skip Adder

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15

C i,0

Critical Path

( ) ( ) RCASKIPRCAd tktkN

tkt 121 −+

−+−=

For N-bit adder with k-bit groups

UC Berkeley EE241 B. Nikoli c

Carry-Skip Adder

( ) SKIPRCAd tkN

tkt

−+−= 212

Critical path delay with constant groups

N

tp

ripple adder

bypass adder

4..8

Page 3: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

3

UC Berkeley EE241 B. Nikoli c

Carry-Skip Adder

Variable Group Length

Oklobdzija, Barnes, Arith’85

321 cNcctd ++=

UC Berkeley EE241 B. Nikoli c

Carry-Skip Adder

Variable Block Lengths

Page 4: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

4

UC Berkeley EE241 B. Nikoli c

Manchester Carry Chain

P0

Ci,0

P1

G0

P2

G1

P3

G2

P4

G3 G4

φ

φ

VDD

Kilburn, et al, IEE Proc, 1959.

•Implement P with pass-transistors•Implement G with pull-up, kill (delete) with pull-down•Use dynamic logic to reduce the complexity and speed up

UC Berkeley EE241 B. Nikoli c

Sizing Manchester Carry Chain

R1

C1

R2

C2

R3

C3

R4

C4

R5

C5

R6

C6

Out

M0 M1 M2 M3 M4MC

Discharge Transistor

1 2 3 4 5 6

tp 0.69 Ci Rjj 1=

i∑

i 1=

N∑=

1 1.5 2.0 2.5 3.0k

5

10

15

20

25

Spe

ed

1 1.5 2.0 2.5 3.0k

0

100

200

300

400

Are

a

Speed (normalized by 0.69RC) Area (in minimum size devices)

Page 5: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

5

UC Berkeley EE241 B. Nikoli c

Manchester Chain with Carry-Skip

P0

Ci,0

P1

G0

P2

G1

P3

G2

BP

G3

BP

Co,3

Delay model:

UC Berkeley EE241 B. Nikoli c

PTL with SA-F/F Implementation

Matsui,JSSC 12/94

Page 6: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

6

UC Berkeley EE241 B. Nikoli c

Propagate and Generate Signals

Define 3 new variable which ONLY depend on A, B

Generate (G) = AB

Propagate (P) = A ⊕ B

Delete = A B

Can also derive expressions for S and Co based on D and P

UC Berkeley EE241 B. Nikoli c

A0,B 0 A1,B 1 AN-1 ,BN-1...

Ci,0 P0 Ci,1 P1Ci,N-1 PN-1

...

Carry Lookahead Adder

Weinberger, Smith, 1958.

Page 7: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

7

UC Berkeley EE241 B. Nikoli c

Lookahead Adder

1−+= iiii cpgc

Looakahead Equations

( )1111

111

111

−+++

−++

+++

++=

++=+=

iiiiii

iiiii

iiii

cppgpg

cpgpgcpgc

Position i:

Position i + 1:

Carry exists if:- generated in stage i + 1- generated in stage i and propagated through i + 1- propagated through both i and i + 1

UC Berkeley EE241 B. Nikoli c

Lookahead Adder

• Unrolling of carry recurrence can be continued• If unrolled to level k, resulting in two-level AND-OR

structure• AND Fan-In = k + 1, OR Fan-In = k + 1• k + 1 transistors in the MOS stack• Limits k to 3 -4

Page 8: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

8

UC Berkeley EE241 B. Nikoli c

Lookahead AdderVDD

P3

P2

P1

P0

G3

G2

G1

G0

Ci,0

Co,3

UC Berkeley EE241 B. Nikoli c

Block Lookahead

1123123

1232334

−++++++

+++++++

++

++=

iiiiiiiii

iiiiiii

cppppgppp

gppgpgcFourth bit carry:

iiiiiiiiiiii gpppgppgpgG 1231232333, ++++++++++ +++=

iiiiii ppppP 1233, ++++ =

13,3,4 −+++ += iiiiii cPGc

Block generate and block propagate:

Page 9: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

9

UC Berkeley EE241 B. Nikoli c

Block Lookahead

Can create groups of groups, or ‘super-groups’:

jjjjjjjjjjj GPPPGPPGPGG 123123233*

+++++++++ +++=

jjjjj pPPPP 123*

+++=

Delay is Nctd log1=

UC Berkeley EE241 B. Nikoli c

Block LookaheadFrom Oklobdzija

Page 10: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

10

UC Berkeley EE241 B. Nikoli c

Lookahead Example

Multiple Output Domino (MODL)

Generate Propagate

UC Berkeley EE241 B. Nikoli c

4-bit group generate 4-bit group propagate

Lookahead Example

Page 11: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

11

UC Berkeley EE241 B. Nikoli c

64-b Lookahead Example

UC Berkeley EE241 B. Nikoli c

Lookahead Example

Page 12: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

12

UC Berkeley EE241 B. Nikoli c

Modified CLA

Naini, CICC’92

UC Berkeley EE241 B. Nikoli c

Modified CLA

Page 13: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

13

UC Berkeley EE241 B. Nikoli c

Conditional Sum Adders

Sklansky,Trans on Comp6/60

iii yxs ⊕=0

iii yxs ⊕=1

iii yxc ⋅=0

iii yxc +=1

UC Berkeley EE241 B. Nikoli c

Conditional Sum Adders

Page 14: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

14

UC Berkeley EE241 B. Nikoli c

TG Conditional SumConditional CellConditional Sum Adder

2-way MUXes

Rothermel, JSSC 89

UC Berkeley EE241 B. Nikoli c

TG Conditional Sum

l Serial connection of transmission gates l Chain length = 1+log2n

Signal propagation

Page 15: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

15

UC Berkeley EE241 B. Nikoli c

DPL Conditional Sum

CLA“Conditional carry select”

UC Berkeley EE241 B. Nikoli c

DPL Conditional Sum

Block Conditional Sums

Page 16: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

16

UC Berkeley EE241 B. Nikoli c

Carry-Select Adder

Setup

"0" Carry Propagation

"1" Carry Propagation

Multiplexer

Sum Generation

Co,k-1 Co,k+3

"0"

"1"

P,G

Carry Vector

UC Berkeley EE241 B. Nikoli c

Carry Select Adder: Critical Path

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15

S0-3 S4-7 S8-11 S12-15

Co,15Co,11Co,7Co,3Ci,0

Page 17: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

17

UC Berkeley EE241 B. Nikoli c

Linear Carry Select

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15

S0-3 S4-7 S8-11 S12-15

Ci,0

(1)

(1)

(5)(6) (7) (8)

(9)

(10)

(5) (5) (5)(5)

UC Berkeley EE241 B. Nikoli c

Square Root Carry Select

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Setup

"0" Carry

"1" Carry

Multiplexer

Sum Generation

"0"

"1"

Bit 0-1 Bit 2-4 Bit 5-8 Bit 9-13

S0-1 S2-4 S5-8 S9-13

Ci,0

(4) (5) (6) (7)

(1)

(1)

(3) (4) (5) (6)

Mux

Sum

S14-19

(7)

(8)

Bit 14-19

(9)

(3)

Page 18: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

18

UC Berkeley EE241 B. Nikoli c

Logarithmic Lookahead Adders

A7

F

A6A5A4A3A2A1

A0

A0

A1

A2A3

A4

A5

A6

A7

F

tp∼ log2(N)

tp∼ N

UC Berkeley EE241 B. Nikoli c

Tree Adders

lmG ppP ⋅=

lmmG gpgG ⋅+=

m – more significantl – less significant

Start from the input P, G, and continue up the tree2-bit groups, then 4-bit groups, …

( ) ( ) ( )lmlmmllmm ppgpgpgpgpg ⋅⋅+=•= ,,,),(

Kogge, Stone, Trans on Comp,’73

Page 19: EE241 - Spring 2000 - University of California, Berkeleybwrcs.eecs.berkeley.edu/.../ee241_s00/LECTURES/lecture16-adders.pdf · Adders UC Berkeley EE241 B. Nikolic ... Carry-Skip Adder

EE241

19

UC Berkeley EE241 B. Nikoli c

Brent-Kung Adder(G0,P0)(G1,P1)

(G2,P2)

(G3,P3)

(G4,P4)(G5,P5)

(G6,P6)

(G7,P7)

Co,0

Co,1Co,2

Co,3

Co,4

Co,5

Co,6

Co,7

tadd ∼ log2(N)Brent, Kung, Trans on Comp, 3/82

UC Berkeley EE241 B. Nikoli c

Tree Adders