Top Banner
EE141 1 EE141 1 EE141-S04 EE141 EE141- Spring 2004 Spring 2004 Digital Integrated Digital Integrated Circuits Circuits Lecture 18 Lecture 18 Adders Adders Guest Lecturer: Guest Lecturer: Prof. Prof. Vladimirescu Vladimirescu EE141 2 EE141-S04 Administrative Stuff Administrative Stuff Project due tomorrow by 5:30pm E-mail report to [email protected] SPICE file must be included Enjoy spring break
19

EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

Jul 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

1

EE1411

EE141-S04

EE141EE141-- Spring 2004Spring 2004Digital Integrated Digital Integrated CircuitsCircuits

Lecture 18Lecture 18AddersAdders

Guest Lecturer: Guest Lecturer: Prof. Prof. VladimirescuVladimirescu

EE1412

EE141-S04

Administrative StuffAdministrative StuffProject due tomorrow by 5:30pm

E-mail report to [email protected] file must be included

Enjoy spring break

Page 2: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

2

EE1413

EE141-S04

Class MaterialClass Material

Last lectureDynamic logic (will be wrapped up after spring break)

Today’s lectureAdders

EE1414

EE141-S04

AddersAdders

Page 3: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

3

EE1415

EE141-S04

FullFull--AdderAdderA B

Cout

Sum

Cin Fulladder

EE1416

EE141-S04

The Binary AdderThe Binary Adder

S A B Ci⊕ ⊕=

A= BCi ABCi ABCi ABCi+ + +

Co AB BCi ACi+ +=

A B

Cout

Sum

Cin Fulladder

Page 4: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

4

EE1417

EE141-S04

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

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

Propagate (P) = A + BNote that we will be sometimes using an alternate definition for

EE1418

EE141-S04

The RippleThe Ripple--Carry AdderCarry Adder

Worst case delay linear with the number of bits

Goal: Make the fastest possible carry path circuit

FA FA FA FA

A0 B0

S0

A1 B1

S1

A2 B2

S2

A3 B3

S3

Ci,0 Co,0

(= Ci,1)

Co,1 Co,2 Co,3

td = O(N)

tadder = (N-1)tcarry + tsum

Page 5: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

5

EE1419

EE141-S04

Complimentary Static CMOS Full AdderComplimentary Static CMOS Full Adder

28 Transistors

A B

B

A

Ci

Ci A

X

VDD

VDD

A B

Ci BA

B VDD

A

B

Ci

Ci

A

B

A CiB

Co

VDD

S

EE14110

EE141-S04

Inversion PropertyInversion Property

A B

S

CoCi FA

A B

S

CoCi FA

Page 6: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

6

EE14111

EE141-S04

Minimize Critical Path by Reducing Inverting StagesMinimize Critical Path by Reducing Inverting Stages

Exploit Inversion Property

A3

FA FA FA

Even cell Odd cell

FA

A0 B0

S0

A1 B1

S1

A2 B2

S2

B3

S3

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

EE14112

EE141-S04

A Better Structure: The Mirror AdderA Better Structure: The Mirror Adder

VDD

Ci

A

BBA

B

A

A BKill

Generate"1"-Propagate

"0"-Propagate

VDD

Ci

A B Ci

Ci

B

A

Ci

A

BBA

VDD

SCo

24 transistors

Page 7: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

7

EE14113

EE141-S04

Mirror AdderMirror AdderStick Diagram

CiA B

VDD

GND

B

Co

A Ci Co Ci A B

S

EE14114

EE141-S04

The Mirror AdderThe Mirror Adder•The NMOS and PMOS chains are completely symmetrical. A maximum of two series transistors can be observed in the carry-generation circuitry.

•When laying out the cell, the most critical issue is the minimization of the capacitance at node Co. The reduction of the diffusion capacitances is particularly important.

•The capacitance at node Co is composed of four diffusion capacitances, two internal gate capacitances, and six gate capacitances in the connecting adder cell .

•The transistors connected to Ci are placed closest to the output.

•Only the transistors in the carry stage have to be optimized foroptimal speed. All transistors in the sum stage can be minimal size.

Page 8: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

8

EE14115

EE141-S04

Transmission Gate Full AdderTransmission 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

EE14116

EE141-S04

Manchester Carry ChainManchester Carry Chain

CoCi

Gi

Di

Pi

Pi

VDD

CoCi

Gi

Pi

VDD

φ

φ

Page 9: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

9

EE14117

EE141-S04

Manchester Carry ChainManchester Carry Chain

G2

φ

C3

G3

Ci,0

P0

G1

VDD

φ

G0

P1 P2 P3

C3C2C1C0

EE14118

EE141-S04

Manchester Carry ChainManchester Carry Chain

Pi + 1 Gi + 1 φ

Ci

Inverter/Sum Row

Propagate/Generate Row

Pi Gi φ

Ci - 1Ci + 1

VDD

GND

Stick Diagram

Page 10: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

10

EE14119

EE141-S04

CarryCarry--Bypass AdderBypass 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 called Carry-Skip

EE14120

EE141-S04

CarryCarry--Bypass Adder (cont.)Bypass Adder (cont.)

Carrypropagation

Setup

Bit 0–3

Sum

M bits

tsetup

tsum

Carrypropagation

Setup

Bit 4–7

Sum

tbypass

Carrypropagation

Setup

Bit 8–11

Sum

Carrypropagation

Setup

Bit 12–15

Sum

tadder = tsetup + Mtcarry + (N/M-1)tbypass + (M-1)tcarry + tsum

Page 11: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

11

EE14121

EE141-S04

Carry Ripple versus Carry BypassCarry Ripple versus Carry Bypass

N

tp

ripple adder

bypass adder

4..8

EE14122

EE141-S04

CarryCarry--Select AdderSelect AdderSetup

"0" Carry Propagation

"1" Carry Propagation

Multiplexer

Sum Generation

Co,k-1 Co,k+3

"0"

"1"

P,G

Carry Vector

Page 12: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

12

EE14123

EE141-S04

Carry Select Adder: Critical Path Carry Select Adder: Critical Path

0

1

Sum Generation

Multiplexer

1-Carry

0-Carry

Setup

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

S0–3

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

0

1

Sum Generation

Multiplexer

1-Carry

0-Carry

Setup

S4–7

0

1

Sum Generation

Multiplexer

1-Carry

0-Carry 0-Carry

Setup

S8–11

0

1

Sum Generation

Multiplexer

1-Carry

Setup

S12–15

EE14124

EE141-S04

Linear Carry Select 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)

Page 13: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

13

EE14125

EE141-S04

Square Root Carry Select 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)

EE14126

EE141-S04

Adder Delays Adder Delays -- Comparison Comparison

Square root select

Linear select

Ripple adder

20 40N

t p(in

uni

t del

ays)

600

10

0

20

30

40

50

Page 14: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

14

EE14127

EE141-S04

LookAheadLookAhead -- Basic IdeaBasic Idea

Co k, f Ak Bk Co k, 1–, ,( ) Gk PkCo k 1–,+= =

AN-1, BN-1A1, B1

P1

S1

• • •

• • • SN-1

PN-1Ci, N-1

S0

P0Ci,0 Ci,1

A0, B0

EE14128

EE141-S04

LookLook--Ahead: TopologyAhead: Topology

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:

Co,3

Ci,0

VDD

P0

P1

P2

P3

G0

G1

G2

G3

Page 15: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

15

EE14129

EE141-S04

Logarithmic LookLogarithmic Look--Ahead AdderAhead Adder

A7

F

A6A5A4A3A2A1

A0

A0

A1

A2A3

A4

A5

A6

A7

F

tp∼ log2(N)

tp∼ N

EE14130

EE141-S04

Carry Carry LookaheadLookahead TreesTrees

Co 0, G0 P0Ci 0,+=

Co 1, G1 P1 G0 P1P0Ci 0,+ +=

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

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

Can continue building the tree hierarchically.

Page 16: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

16

EE14131

EE141-S04

Tree AddersTree Adders

16-bit radix-2 Kogge-Stone tree

(A0,

B0)

(A1,

B1)

(A2,

B2)

(A3,

B3)

(A4,

B4)

(A5,

B5)

(A6,

B6)

(A7,

B7)

(A8,

B8)

(A9,

B9)

(A10

, B10

)

(A11

, B11

)

(A12

, B12

)

(A13

, B13

)

(A14

, B14

)

(A15

, B15

)

S0

S1

S2

S3

S4

S5

S6

S7

S8

S9

S10

S11

S12

S13

S14

S15

EE14132

EE141-S04

Tree AddersTree Adders

(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)

(a1

0,

b1

0)

(a1

1,

b1

1)

(a1

2,

b1

2)

(a1

3,

b1

3)

(a1

4,

b1

4)

(a1

5,

b1

5)

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

Page 17: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

17

EE14133

EE141-S04

Sparse TreesSparse Trees(a

0, 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)

(a1

0,

b1

0)

(a1

1,

b1

1)

(a1

2,

b1

2)

(a1

3,

b1

3)

(a1

4,

b1

4)

(a1

5,

b1

5)

S1

S3

S5

S7

S9

S11

S13

S15

S0

S2

S4

S6

S8

S1

0

S1

2

S1

4

16-bit radix-2 sparse tree with sparseness of 2

EE14134

EE141-S04

Tree AddersTree Adders

(A0,

B0)

(A1,

B1)

(A2,

B2)

(A3,

B3)

(A4,

B4)

(A5,

B5)

(A6,

B6)

(A7,

B7)

(A8,

B8)

(A9,

B9)

(A10

, B10

)

(A11

, B11

)

(A12

, B12

)

(A13

, B13

)

(A14

, B14

)

(A15

, B15

)

S0

S1

S2

S3

S4

S5

S6

S7

S8

S9

S10

S11

S12

S13

S14

S15

Brent-Kung Tree

Page 18: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

18

EE14135

EE141-S04

Example: Domino AdderExample: Domino Adder

VDD

Clk Pi= ai + bi

Clk

ai bi

VDD

Clk Gi = aibi

Clk

ai

bi

Propagate Generate

EE14136

EE141-S04

Example: Domino AdderExample: 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

Page 19: EE141- Spring 2004 Digital Integrated Circuitsbwrcs.eecs.berkeley.edu/Classes/icdesign/ee141_s04/...EE141-S04 Mirror Adder Stick Diagram ABC i V DD GND B C o AC i C o C i AB S EE141

EE141

19

EE14137

EE141-S04

Example: Domino SumExample: Domino SumVDD

Clk

Gi:0

Clk

Sum

VDD

Clkd

Clk

Gi:0

Clk

Si1

Clkd

Si0

Keeper

EE14138

EE141-S04

Next LectureNext Lecture

Wrap-up dynamic logicMultipliersOther datapath operators