View
237
Download
6
Category
Preview:
Citation preview
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
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
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
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)
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
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.
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
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:
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
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
EE241
11
UC Berkeley EE241 B. Nikoli c
64-b Lookahead Example
UC Berkeley EE241 B. Nikoli c
Lookahead Example
EE241
12
UC Berkeley EE241 B. Nikoli c
Modified CLA
Naini, CICC’92
UC Berkeley EE241 B. Nikoli c
Modified CLA
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
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
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
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
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)
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
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
Recommended