today’s lecture - university of california,...

21
1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141 Today’s lecture Adder design: Manchester carry chain, carry-bypass, carry-select, carry- lookahead Multipliers

Upload: vuthu

Post on 13-May-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

1

EE141

AddersMultipliers

EE141- Spring 2003Lecture 18

EE141

Today’s lecture

� Adder design: Manchester carry chain,carry-bypass, carry-select, carry-lookahead

� Multipliers

Page 2: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

2

EE141

Adders

EE141

Full-Adder

A B

Cout

Sum

Cin Fulladder

Page 3: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

3

EE141

Express Sum and Carry as a function of P, G, D

Define 3 new variables that 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 Dand P

EE141

Transmission Gate Full Adder

A

B

P

Ci

VDDA

A A

VDD

Ci

A

P

AB

VDD

VDD

Ci

Ci

Co

S

Ci

P

P

P

P

P

Sum Generation

Carry Generation

Setup

Page 4: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

4

EE141

Manchester Carry Chain

CoCi

Gi

Di

Pi

Pi

VDD

CoCi

Gi

Pi

VDD

φφφφ

φφφφ

EE141

Manchester Carry Chain

G2

φφφφ

C3

G3

Ci,0

P0

G1

VDD

φφφφ

G0

P1 P2 P3

C3C2C1C0

Page 5: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

5

EE141

Manchester Carry Chain

Pi + 1 Gi + 1 φ

Ci

Inverter/Sum Row

Propagate/Generate Row

Pi Gi φ

Ci - 1Ci + 1

VDD

GND

Stick Diagram

EE141

Carry-Bypass 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

tipl

exer

BP=PoP1P2P3

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

Also calledCarry-Skip

Page 6: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

6

EE141

Carry-Bypass Adder (cont.)

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

Setup

CarryPropagation

Sum

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

Ci,0

EE141

Carry Ripple versus Carry Bypass

N

tp

ripple adder

bypass adder

4..8

Page 7: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

7

EE141

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

EE141

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 8: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

8

EE141

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)

EE141

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 9: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

9

EE141

Adder Delays - Comparison

0.0 20.0 40.0 60.0N

0.0

10.0

20.0

30.0

40.0

50.0tp

ripple adder

linear select

square root select

EE141

LookAhead - Basic Idea

A0,B0 A1,B1 AN-1,BN-1...

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

...

Co k, f A k Bk Co k, 1–, ,( ) Gk P kCo k 1–,+= =

Page 10: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

10

EE141

Look-Ahead: Topology

VDD

P3

P2

P1

P0

G3

G2

G1

G0

Ci,0

Co,3

Co k, Gk Pk Gk 1– Pk 1– Co k 2–,+( )+=

Co k, Gk Pk Gk 1– Pk 1– … P1 G0 P0 Ci 0,+( )+( )+( )+=

Expanding Lookahead equations:

All the way:

EE141

Logarithmic Look-Ahead Adder

A7

F

A6A5A4A3A2A1

A0

A0

A1

A2

A3

A4

A5

A6

A7

F

tp∼ log2(N)

tp∼ N

Page 11: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

11

EE141

Carry Lookahead Trees

Co 0, G0 P0Ci 0,+=

Co 1, G1 P1 G0 P1P0 Ci 0,+ +=

Co 2, G2 P2G1 P2 P1G0 P+ 2 P1P0Ci 0,+ +=

G2 P2G1+( )= P2P1( ) G0 P0Ci 0,+( )+ G 2:1 P2:1Co 0,+=

Can continue building the tree hierarchically.

EE141

Tree Adders

16-bit radix-2 Kogge-Stone Tree

(A0,B

0)

(A1,B

1)

(A2,B

2)

(A3,B

3)

(A4,B

4)

(A5,B

5)

(A6,B

6)

(A7,B

7)

(A8,B

8)

(A9,B

9)

(A10

,B1

0)

(A11

,B1

1)

(A12

,B1

2)

(A13

,B1

3)

(A14

,B1

4)

(A15

,B1

5)

S0

S1

S2

S3

S4

S5

S6

S7

S8

S9

S10

S11

S12

S13

S14

S15

Page 12: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

12

EE141

Tree Adders(a

0,

b0)

(a1,

b1)

(a2,

b2)

(a3,

b3)

(a4,

b4)

(a5,

b5)

(a6,

b6)

(a7,

b7)

(a8,

b8)

(a9,

b9)

(a1

0,b

10)

(a1

1,b

11)

(a1

2,b

12)

(a1

3,b

13)

(a1

4,b

14)

(a1

5,b

15)

S0

S1

S2

S3

S4

S5

S6

S7

S8

S9

S1

0

S1

1

S1

2

S1

3

S1

4

S1

5

16-bit radix-4 Kogge-Stone Tree

EE141

Tree Adders

(A0,

B0)

(A1,

B1)

(A2,

B2)

(A3,

B3)

(A4,

B4)

(A5,

B5)

(A6,

B6)

(A7,

B7)

(A8,

B8)

(A9,

B9)

(A1

0,B

10)

(A1

1,B

11)

(A1

2,B

12)

(A1

3,B

13)

(A1

4,B

14)

(A1

5,B

15)

S0

S1

S2

S3

S4

S5

S6

S7

S8

S9

S1

0

S1

1

S1

2

S1

3

S1

4

S1

5

Brent-Kung Tree

Page 13: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

13

EE141

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)

EE141

Domino Adder

VDD

Clk Pi= ai + bi

Clk

ai bi

VDD

Clk Gi = aibi

Clk

ai

bi

Propagate Generate

Page 14: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

14

EE141

Domino Adder

VDD

Clkk

Pi:i-k+1

Pi-k:i-2k+1

Pi:i-2k+1

VDD

Clkk

Gi:i-k+1

Pi:i-k+1

Gi-k:i-2k+1

Gi:i-2k+1

Propagate Generate

EE141

Domino SumVDD

Clk

Gi

Clk

Sum

VDD

Clkd

Clk

Gi

Clk

Si1

Clkd

Si0

Keeper

Page 15: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

15

EE141

Multipliers

EE141

The Binary Multiplication

X·· Y× Zk2k

k 0=

M N 1–+

∑= =

Xi2i

i 0=

M 1–

Yj2j

j 0=

N 1–

=

XiYj2i j+

j 0=

N 1–

i 0=

M 1–

∑=

Xi2i

i 0=

M 1–

∑=

Y Yj2j

j 0=

N 1–

∑=

with

Page 16: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

16

EE141

The Binary Multiplication

1 0 1 1

1 0 1 0 1 0

0 0 0 0 0 0

1 0 1 0 1 0

1 0 1 0 1 0

1 0 1 0 1 0

×

1 1 1 0 0 1 1 1 0

+

Partial Products

AND operation

EE141

The Array Multiplier

HA FA FA HA

FA FA FA HA

FA FA FA HA

X0X1X2X3 Y1

X0X1X2X3 Y2

X0X1X2X3 Y3

Z1

Z2

Z3Z4Z5Z6

Z0

Z7

Page 17: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

17

EE141

The MxN Array Multiplier— Critical Path

HA FA FA HA

HAFAFAFA

FAFA FA HA

Critical Path 1

Critical Path 2

Critical Path 1 & 2

EE141

Carry-Save Multiplier

HA HA HA HA

FAFAFAHA

FAHA FA FA

FAHA FA HA

Vector Merging Adder

Page 18: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

18

EE141

Multiplier Floorplan

SCSCSCSC

SCSCSCSC

SCSCSCSC

SC

SC

SC

SC

Z0

Z1

Z2

Z3Z4Z5Z6Z7

X0X1X2X3

Y1

Y2

Y3

Y0

Vector Merging Cell

HA Multiplier Cell

FA Multiplier Cell

X and Y signals are broadcastedthrough the complete array.( )

EE141

Wallace-Tree Multiplier

FA

FA

FA

FA

y0 y1 y2

y3

y4

y5

S

Ci-1

Ci-1

Ci-1

Ci

Ci

Ci

FA

y0 y1 y2

FA

y3 y4 y5

FA

FA

CC S

Ci-1

Ci-1

Ci-1

Ci

Ci

Ci

Page 19: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

19

EE141

Multipliers —Summary

• Optimization Goals Different Vs Binary Adder

• Once Again: Identify Critical Path

• Other possible techniques

- Data encoding (Booth)- Pipelining

FIRST GLIMPSE AT SYSTEM LEVEL OPTIMIZATION

- Logarithmic versus Linear (Wallace Tree Mult)

EE141

The Binary Shifter

Ai

Ai-1

Bi

Bi-1

Right Leftnop

Bit-Slice i

...

Page 20: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

20

EE141

The Barrel Shifter

Sh3Sh2Sh1Sh0

Sh3

Sh2

Sh1

A3

A2

A1

A0

B3

B2

B1

B0

: Control Wire

: Data Wire

Area Dominated by Wiring

EE141

4x4 barrel shifter

BufferSh3S h2Sh 1Sh0

A3

A2

A 1

A 0

Widthbarrel ~ 2 pm M

Page 21: Today’s lecture - University of California, Berkeleybwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s03/Lectures/... · 1 EE141 Adders Multipliers EE141- Spring 2003 Lecture 18 EE141

21

EE141

Logarithmic Shifter

Sh1 Sh1 Sh2 Sh2 Sh4 Sh4

A3

A2

A1

A0

B1

B0

B2

B3

EE141

A3

A2

A1

A0

Out3

Out2

Out1

Out0

0-7 bit Logarithmic Shifter