Upload
jagadeesh-kumar
View
112
Download
5
Embed Size (px)
Citation preview
Logical Effort ModuleLogical Effort Module
VLSI System Design
Massoud PedramSpring 2008
Dept. of Electrical EngineeringUniversity of Southern CaliforniaUniversity of Southern California
Method of Logical EffortMethod of Logical Effort
• Easy way to estimate delay in a CMOS circuitEasy way to estimate delay in a CMOS circuit• Specifies the optimal number of logic stages on a path
to minimize its delayy• Estimates the best sizes for logic gates• Ideal for evaluating alternatives in the early stages ofIdeal for evaluating alternatives in the early stages of
a design• Provides a good starting point for more intricate ov des good s g po o o e c e
optimizations
M. Pedram USC/EE 2
Integrated Circuit (IC) Design g ( ) g
• Chip designers face aChip designers face a bewildering array of choices:– What is the best circuit
topology for a function?H t f po
logy
– How many stages of logic to get the least delay?
e or
cha
nge
top
– How wide should the transistors be in each stage?
Res
ize
M. Pedram USC/EE
stage?
3IC Design Flow
RC Delay ModelRC Delay Model
• Use equivalent circuits for MOS transistors– Ideal switch + capacitance and ON resistance– Unit nMOS has resistance R, capacitance C– Unit pMOS has resistance 2R capacitance C– Unit pMOS has resistance 2R, capacitance C
• Capacitance is proportional to width• Resistance is inversely proportional to widthy p p
d
kCR/k
s kC
2R/k
kgs
dg
kCkC
R/k
kgs
dg
kC
kC
2R/k
sd
M. Pedram USC/EE 4
Assumptions and NotationAssumptions and Notation
• Capacitance– C = Cg = Cs = Cd
• ResistanceP ll U R i t P ll D R i t R– Pull-Up Resistance = Pull-Down Resistance = R
• Unit transistors – May refer to minimum contacted device (4/2 λ)– Doesn’t matter as long as you are consistent
M. Pedram USC/EE 5
Inverter Delay EstimateInverter Delay Estimate
• Estimate the delay of a fanout-of-1 inverter
2C
R
2C2
1A
Y
2C
C
2C2C
RY
2
1C
R
1C
CC
R1
Cd = 6RC
M. Pedram USC/EE 6
Example: 2-input NANDExample: 2 input NAND
• Estimate rising and falling propagation delays of a 2-input g g p p g y pNAND driving h identical gates
22 Y6C
2C2
2
224hC
B
Ax
Y
h copies2B h copies
R
(6+4h)CY ( )6 4pLHt h RC= +
M. Pedram USC/EE 7
Example: 2-input NANDExample: 2 input NAND
• Estimate rising and falling propagation delays of a 2-input g g p p g y pNAND driving h identical gates
22 Y6C
2C2
2
224hC
B
Ax
Y
h copies2B h copies
R/2 ( )( ) ( ) ( )2 6 4R R Rt C h C⎡ ⎤⎣ ⎦ +(6+4h)C2CR/2
R/2x Y ( )( ) ( ) ( )( )
2 2 22 6 4
7 4
pHLR R Rt C h C
h RC
= + +⎡ ⎤⎣ ⎦
= +
+
M. Pedram USC/EE 8
Delay ComponentsDelay Components
• Delay has two components:Delay has two components:– Parasitic delay
• 6 or 7 RC• Independent of the load
– Effort delay• 4h RC• 4h RC• Proportional to the load capacitance
M. Pedram USC/EE 9
Logical Effort Technique Provides a Delay dUpper Bound
• Best-case delay can be substantially less than the propagation y y p p gdelay e.g., if both inputs fall simultaneously
R
(6+4h)CYR
( )3 2Best Caset h RC− = +
• Good layout minimizes the diffusion areaGood layout minimizes the diffusion area
M. Pedram USC/EE 10
Gate Delay Modely
• General delay model for a gatey g
( )abs out pd kR C C= +
u dR R R= =
• Express delays in a process-independent unit
absddτ
=τ = 3RC
≈ 40 ps in 0.6 μm process
12 i 0 18
M. Pedram USC/EE
12 ps in 0.18 μm process
11
Delay in a Logic Gatey g
• Delay has two components: d f p= +Delay has two components:– f : stage effort (a.k.a. effort delay)
• Again has two components i.e., f = g h
d f p+
– g: logical effort• Measures relative ability of gate to deliver current• g ≡ 1 for inverterg ≡ 1 for inverter
– h: electrical effort = Cout / Cin• Ratio of the output to input pin capacitance
– p: parasitic delay• It represents delay of a gate driving no load
M. Pedram USC/EE 12
Delay PlotsDelay Plots
M. Pedram USC/EE
d = g h + p13
Computing the Logical EffortComputing the Logical Effort
• Logical effort is the ratio of the input capacitance of a gate to g p p gthe input capacitance of an inverter delivering the same output current (related to resistance)
Calculate from delay vs fanout plots or– Calculate from delay vs. fanout plots or– Estimate from transistor width considerations
M. Pedram USC/EE 14
Logical Effort (Cont’d)Logical Effort (Cont d)
• Alternatively logical effort of a gate is:y g g
,gate in gate
f l f l
R Cg
R C=
• Most of the time, the reference template gate is a unit size i t b t th ti ll it b t
_ _ , _ _reference template gate in reference template gateR C
inverter, but theoretically it can be any gate
M. Pedram USC/EE 15
Logical Effort of Common Logic GatesLogical Effort of Common Logic Gates
Gate type Number of inputs1 2 3 4 n
Inverter 1NAND 4/3 5/3 6/3 (n+2)/3NOR 5/3 7/3 9/3 (2n+1)/3Tristate Buffer / Mux
2 2 2 2 2MuxXOR, XNOR per bundle
4 12 32 n2n-1
M. Pedram USC/EE
p
16
Logical Effort of Transmission Gateg
• Calculate the logical effort of a transmission gateCalculate the logical effort of a transmission gate
in out
s1
PMOS:4R
outin
PMOS:2R
outin
s1
NMOS:RFalling Transition:Effective resistance = 4/5R
NMOS:2RRising Transition:Effective resistance = R
22,3
LE d LE s= =
9 33
RCpRC
= =
M. Pedram USC/EE 17
3p
RC
Logical Effort for unequal rise/fall delaysLogical Effort for unequal rise/fall delays
• Gates with different pull-up and pull-downGates with different pull up and pull down resistances have different rising and falling logical efforts
• Calculate rising and falling logical effort for an inverter with 1PMOS NMOSW W= =
rising43
g =
falling
323
g =
M. Pedram USC/EE 18
Effect of Sizing on the Logical EffortEffect of Sizing on the Logical Effort
• Sizing does not change the logical effort of a gateSizing does not change the logical effort of a gate– Let the size of a gate be increased by a factor α, then we
have: R C RCα
which proves that the logical effort is independent of gate sizing
C RCαα
=
sizing
M. Pedram USC/EE 19
Parasitic DelayParasitic Delay
• Parasitic delay is set by ratio of the diffusionParasitic delay is set by ratio of the diffusion capacitance at the output node of the logic gate to the input capacitance of the reference template gate
,gate diff gate
f t l t t i f t l t t
R Cp
R C=
_ _ , _ _reference template gate in reference template gateR C
M. Pedram USC/EE 20
Parasitic Delay of Common Logic Gatesy g
• Parasitic delay given in multiples of pi (≈1)
Gate type Number of inputs
Parasitic delay given in multiples of pinv (≈1)
1 2 3 4 nInverter 1NAND 2 3 4 nNOR 2 3 4 nTristate Buffer / Mux
2 4 6 8 2n
XOR XNOR 4 6 8 2n
M. Pedram USC/EE
XOR, XNOR 4 6 8 2n
21
Example: Ring Oscillatorp g
• Estimate the frequency of an N-stage ring oscillatorEstimate the frequency of an N stage ring oscillator
Logical Effort: g = 1 31 stage ring oscillator inLogical Effort: g = 1Electrical Effort: h = 1P iti D l 1
31 stage ring oscillator in 0.6 mm process has frequency of ~ 200 MHz
Parasitic Delay: p = 1Stage Delay: d = 2F f 1/(2*N*d) 1/(4N)
M. Pedram USC/EE
Frequency: fosc = 1/(2*N*d) = 1/(4N)
22
Example: FO4 Inverterp
• Estimate the delay of a fanout-of-4 (FO4) inverterEstimate the delay of a fanout of 4 (FO4) inverterd The FO4 delay is about
200 ps in 0.6 μm process
60 ps in a 0.18 μm process
q / 3 ns in a q μm process
Logical Effort: g = 1El t i l Eff t h 4Electrical Effort: h = 4Parasitic Delay: p = 1St D l d 5
M. Pedram USC/EE
Stage Delay: d = 5 ** remember this result
23
Multistage Logic NetworksMultistage Logic Networks
• Logical effort generalizes to multistage networks:Logical effort generalizes to multistage networks:– Path Logical Effort: i
i
G g= ∏
– Path Electrical Effort: out-path
in-path
CH
C=
– Path Effort: i i ii i
F f g h= =∏ ∏
M. Pedram USC/EE 24
Paths that BranchPaths that Branch
• Can we write F = GH?Can we write F GH?– No! Consider paths that branch
G = 1G 1H = 90 / 5 = 18GH = 18 ?GH 18 ?h1 = (15 +15) / 5 = 6h = 90 / 15 = 6h2 = 90 / 15 = 6F = g1g2h1h2 = 36 = 2GH !
M. Pedram USC/EE 25
Branching EffortBranching Effort
• Introduce the branching effortIntroduce the branching effort– Accounts for branching between stages in path
on path off pathC Cb
+on path off path
on path
bC
=
B b= ∏ h BH=∏Note:
• Now we compute the path efforti
i
B b= ∏ ii
h BH=∏Note:
F GBH=
M. Pedram USC/EE 26
Multistage DelaysMultistage Delays
• Path Effort Delay: F iD f= ∑Path Effort Delay:
• Path Parasitic Delay:
F iD f∑
P p= ∑• Path Parasitic Delay:
• Path Delay:
iP p= ∑
D d D P+∑• Path Delay: i FD d D P= = +∑
M. Pedram USC/EE 27
Minimizing Delay along a Pathg y g
• Consider two stage pathConsider two stage path( ) ( )1 1 1 2 2 2D g h p g h p= + + +
31 2
CH h h= =1 21C
( )1 1 1 2 11
HD g h p g ph
⎛ ⎞= + + +⎜ ⎟
⎝ ⎠0D H∂
2 31 2
1 2
,C Ch hC C
= =1 2 2
1 1
1 1 2 2
0g gh h
g h g h
∂= − =
∂=
Key result of logical effort: Delay is smallest when each stage bears same effort!
M. Pedram USC/EE 28
Designing Fast Circuitsg g
• For smallest path delayp y1ˆ N
i if g h F= =
• Thus the minimum delay of a N-stage path is1ND NF P+
• The minimum delay calculation does not require l l i i !
ND NF P= +
calculating gate szies !
M. Pedram USC/EE 29
Calculating the Gate SizesCalculating the Gate Sizes
• How wide should the gates be for the least delay?How wide should the gates be for the least delay?
ˆ outCf gh g= = ⇒ ii outg CC =
• Working backward apply the capacitance
inCf gh g= = ⇒ ˆiinCf
=
• Working backward, apply the capacitance transformation formula to find the input capacitance of each gate given its outputo e c g e g ve s ou pu
• Check your work by verifying the input capacitance specification is met
M. Pedram USC/EE
p
30
Example: 3-stage pathExample: 3 stage path
• Select gate sizes x and y for least delay from A to BSelect gate sizes x and y for least delay from A to B
M. Pedram USC/EE 31
Example: 3-stage pathExample: 3 stage path
Logical Effort G = (4/3)*(5/3)*(5/3) = 100/27Electrical Effort H = 45/8Branching Effort B = 3 * 2 = 6Path Effort F = GBH = 125Best Stage EffortParasitic Delay P = 2 + 3 + 2 = 7
3ˆ 5f F= =
M. Pedram USC/EE
yDelay D = 3*5 + 7 = 22 = 4.4 FO4
32
Example: 3-stage pathExample: 3 stage path
• Work backward for sizesWork backward for sizesy = 45 * (5/3) / 5 = 15x = (15*2) * (5/3) / 5 = 10x (15 2) (5/3) / 5 10
P: 4P: 4N: 4 P: 4
N: 6 P: 12N: 3
M. Pedram USC/EE 33
Best Number of Stagesg
• How many stages should a path use?How many stages should a path use?– Minimizing the number of stages is not always the fastest
• Example: drive 64-bit data path with unit inverterExample: drive 64 bit data path with unit inverter
F = GBH = 1 1 64
1 1 1 1
8 4 2.8
Initial Driver
F GBH 1.1.64D = NF1/N + P
= N(64)1/N + N16 8
= N(64) + N 23
64 64 64 64Datapath Load
M. Pedram USC/EE
N:f:D:
16465
2818
3415
42.815.3
Fastest34
Derivation for Best Number of Stagesg
• Consider adding inverters to the end of a path with n1Consider adding inverters to the end of a path with n1stages– How many inverters give the least delay?
( )11
1N
n
i invD NF p N n p= + + −∑1i=
1 1 1
ln 0N N Ninv
D F F F pN
∂= − + =
∂( )
( ) ( )ln
' ' '
' ' ' 'lg g f g
fg f g fg
gf f f f
= +
⎛ ⎞⎜ ⎟
Recall differentiation rules:
• Define best stage effort: Th
N∂
( )1 l 0
1NFρ =
( ) ( )ln' ' ' 'lng g f g gf e f f g ff
⎛ ⎞= = +⎜ ⎟
⎝ ⎠
M. Pedram USC/EE
• Then ( )1 ln 0invp ρ ρ+ − =
35
Best Stage EffortBest Stage Effort
• has no closed-form solution( )1 ln 0p ρ ρ+ − = has no closed form solution
• Neglecting parasitics (p = 0) we find ρ = 2 718
( )1 ln 0invp ρ ρ+ =
• Neglecting parasitics (pinv 0), we find ρ 2.718 (e)
• For pi = 1 solve numerically to get ρ = 3 59For pinv 1, solve numerically to get ρ 3.59.• Should we add additional inverters at the beginning
or at the end ?o e e d ?
M. Pedram USC/EE 36
Sensitivity Analysisy y
• How sensitive is delay to using exactly the best y g ynumber of stages?
1 0
1.2
1.4
1.6
1.151.26
1.51
D(N)
/D(N
)
1.0
(ρ =2.4)(ρ=6)
1.0 2.00.5 1.40.7
N / N
0.0
• 2.4 < ρ < 6 gives delay within 15% of the optimal– We can be sloppy!
Let’s use ρ = 4 logN F→ =
M. Pedram USC/EE
– Let s use ρ = 4
37
4logN F→ =
Gate Sizes and DelayGate Sizes and Delay
G = 1*6/3*1 = 2, B = 8*1*1=8, H = 96/10=9.6Path Effort: F = GBH = 153.6Stage Effort: 1/ 3ˆ 5.36f F= =
ˆPath Delay:Gate sizes: z = 96*1/5.36 = 18 y = 18*2/5.36 = 6.7
A[3] A[3] A[2] A[2] A[1] A[1] A[0] A[0]
ˆ3 1 4 1 22.08D f= + + + =
A[3] A[3] A[2] A[2] A[1] A[1] A[0] A[0]
10 10 10 10 10 10 10 10
word[0]
96 units of wordline capacitance
y z
M. Pedram USC/EEword[15]
96 units of wordline capacitance
y z38
ComparisonComparison
• Compare many alternatives with a spreadsheetCompare many alternatives with a spreadsheetDesign N G P DNAND4-INV 2 2 5 29.8NAND2-NOR2 2 20/9 4 30.1INV-NAND4-INV 3 2 6 22.1
A 4 4 2 21 1NAND4-INV-INV-INV 4 2 7 21.1NAND2-NOR2-INV-INV 4 20/9 6 20.5NAND2-INV-NAND2-INV 4 16/9 6 19.7INV-NAND2-INV-NAND2-INV 5 16/9 7 20.4NAND2-INV-NAND2-INV-INV-INV
6 16/9 8 21.6
M. Pedram USC/EE
INV
39
Review of Definitions
Term Stage PathTerm Stage Pathnumber of stageslogical effort iG g= ∏
N
g
1
gelectrical effortbranching effort
i∏out-path
in-path
CCH =
iB b= ∏
out
in
CCh =
on-path off-path
on-path
C CCb +=
efforteffort delay
F GBH=
F iD f= ∑f gh=
f
parasitic delaydelay
iP p= ∑i FD d D P= = +∑
p
d f p= +
M. Pedram USC/EE 40
Deriving the Method of Logical Effortg g
( )d kR C C( )abs gate out pd kR C C= +
outb t i t tt
Cd R C R Cκ κ⎛ ⎞
= +⎜ ⎟⎜ ⎟ in
Rgate
out,,,
abs gate in gate p gategatein gate
d R C R CC
κ κ+⎜ ⎟⎜ ⎟⎝ ⎠
R C R Cd C⎛ ⎞
in
Cin,gate Cp,gate Cout
out
Rgate
, ,
,
gate in gate gate p gateabs out
t t t t in t tgate
R C R Cd CR C R C C R C
κ κκ κ κ
⎛ ⎞= +⎜ ⎟⎜ ⎟
⎝ ⎠
M. Pedram USC/EE 41
Deriving the Method of Logical Effortg g
R C R Cd Cκ κ⎛ ⎞, ,
,
gate in gate gate p gateabs out
t t t t in t tgate
R C R Cd CR C R C C R C
κ κκ κ κ
⎛ ⎞= +⎜ ⎟⎜ ⎟
⎝ ⎠
,gate in gate
t t
R Cg
R CC
=d gh p= +
,
out
in gate
gate p gate
ChC
R C
=
,gate p gate
t t
abs
pR C
dd
=
=
M. Pedram USC/EE 42t t
d
R Cτ
τ κ=
Re-Computing Logical EffortRe Computing Logical Effort
A Y
2
1
M. Pedram USC/EE 43
Review Method of Logical EffortReview Method of Logical Effort
1) Compute path effort F GBH=1) Compute path effort2) Estimate best number of stages3) Sketch path with N stages
F GBH=
4logN F=
3) Sketch path with N stages4) Estimate least delay5) Determine best stage effort
1ND NF P= +
1ˆ Nf F5) Determine best stage effort6) Find gate sizes
Nf F=
ˆi
i
i outin
g CC
f=
f
M. Pedram USC/EE 44
Designing Super Bufferg g p
• How many stages should a path use?How many stages should a path use?– Minimizing the number of stages is not always the fastest
• Example: drive 64-bit data path with unit inverterExample: drive 64 bit data path with unit inverter
F = GBH = 1 1 64
1 1 1 1
8 4 2.8
Initial Driver
F GBH 1.1.64D = NF1/N + P
= N(64)1/N + N16 8
= N(64) + N 23
64 64 64 64Datapath Load
M. Pedram USC/EE
N:f:D:
16465
2818
3415
42.815.3
Fastest45
Designing Super Buffer
• 1 Stage
g g p
1 Stage1 1 1 1
8 4 2.8
Initial Driverˆ 641*64 1*1 65
f Fd
= == + =
• 2 Stages 16 8
ˆ
3 St
23
64 64 64 64Datapath Load
2 2 64 82*8 2*1 18
f Fd
= = == + =
• 3 Stages N:f:D:
16465
2818
3415
42.815.3
Fastest3 3ˆ 64 43*4 3*1 15
f Fd
= = =+
M. Pedram USC/EE 46
3*4 3*1 15d = + =
Sensitivity Analysisy y
• How sensitive is delay to using exactly the best y g ynumber of stages?
1 0
1.2
1.4
1.6
1.151.26
1.51
D(N)
/D(N
)
1.0
(ρ =2.4)(ρ=6)
1.0 2.00.5 1.40.7
N / N
0.0
• 2.4 < ρ < 6 gives delay within 15% of the optimal– We can be sloppy!
Let’s use ρ = 4 logN F→ =
M. Pedram USC/EE
– Let s use ρ = 4
47
4logN F→ =
Using the Wrong Number of StagesUsing the Wrong Number of Stages
• If effort is between 2 and 8, the design will be withinIf effort is between 2 and 8, the design will be within 35% of the best delay
• If effort is between 2.4 and 6, the design will be within , g15% of the best delay– Stage effort of 4 produces within 2% of minimum
• Avoid using excessively large stage effort since it results in slow rise and fall times and “hot electron” problems occur since, greatest damage occurs to NMOS in saturation
B tt t t th t f
M. Pedram USC/EE
– Better use too many stages than too few
48
Example: 3-stage path (revisited)p g p ( )
ˆ22 1 2 63D f= =5
4
22.1 2.63ˆ21.4 3.34
D f
D f
= =
= =
Logical Effort G = (4/3)*(5/3)*(5/3) = 100/27Electrical Effort H = 45/8Branching Effort B = 3 * 2 = 6Path Effort F = GBH = 125Best Stage EffortParasitic Delay P = 2 + 3 + 2 = 7
3ˆ 5f F= =
M. Pedram USC/EE
yDelay D = 3*5 + 7 = 22 = 4.4 FO4
49
Using the Wrong Gate Sizeg g
• For s ranging from 0.5 to 2, the actual delay is within 15% of the minimum
• For s in the range of 2/3 to 1.5, the actual delay is within 5% of the minimum
Th d i h d l f f d l i– The designer has great deal of freedom to select gate sizes
• Standard cell libraries with limited repertoire of gate sizes can achieve acceptable performance
M. Pedram USC/EE
sizes can achieve acceptable performance
50
ExampleExample
• Decoder specifications:A[3:0] A[3:0]
32 bits
Decoder specifications:– 16 word register file– Each word is 32 bits wide
16
16 words
4:16 Decoder
Register File
– Each bit presents load of 3 unit-sized transistors– True and complementary address inputs A[3:0]– Each input may drive 10 unit-sized transistors
• Use LE to decide:– How many stages to use?– How large should each gate be?
H f t d d t ?
M. Pedram USC/EE
– How fast can decoder operate?
51
ExampleExample
• Decoder effort is mainly electrical and branchingDecoder effort is mainly electrical and branchingElectrical Effort: H = (32*3) / 10 = 9.6Branching Effort: B = 8Branching Effort: B 8
• If we neglect logical effort (assume G = 1)Path Effort: F = GBH = 76 8Path Effort: F = GBH = 76.8Number of Stages: N = log4F = 3.1T 3 t d iTry a 3-stage design
1
3
ˆ
76 8 4 3
Nf F=
= =
M. Pedram USC/EE 52
76.8 4.3= =
Asymmetric Gatesy
• Values of s between 0 and 0.5Values of s between 0 and 0.5 favor input A
• Values of s between 0.5 and 1 A
Y
2
1 s
2
1
favor input BB
1-s
s11 2+
1 11 1 =
( )2
13A
sg
+−
=
( )
1 11 1
1 s s
+
−
1 2
3Bsg
+=
M. Pedram USC/EE 53
( )
Asymmetric Gates: Total logical Efforty g
• To compare the logical effort of anTo compare the logical effort of an asymmetric gate with that of symmetric gate we use total logical Y
22
effort, defined as follows: A
B
1-s1
( )1 4
1s s+
−
• For s = 0.01, which minimizes the
Bs1( )1
3tot
s sg =
LE of A input, we have:,
1, 34,35
A B
tot asymmetric
g gg
≈ ≈=
M. Pedram USC/EE 54
,4 82*3 3tot symmetricg = =
Asymmetric Gates (Cont’d)y ( )
• Extremely asymmetric designs (e.g. s = 0.01) are notExtremely asymmetric designs (e.g. s 0.01) are not desirable– total logical effort enormous.– huge size of pulldown transistor, layout problems
• Less extreme asymmetry is more practical– s = 0.25
,
1.1, 2,3.1
A B
tot asymmetric
g gg
= ==
– The pulldown Transistor sizes are 4/3 and 4, respectively, 2.67tot symmetricg =
M. Pedram USC/EE 55
Applications of Asymmetric Gatespp y
• Assume that one signal path isAssume that one signal path is unusually slow (e.g., reset_bar)
• The 1st stage should have the goutput drive of 12/6 inverter
• Take advantage of slow gresponse allowed to changes on reset i.e., make the PMOS as small as possible
7 12 1.056 12Ag +
= =+
M. Pedram USC/EE 56
6 12+
Logical Effort of Pseudo NMOS Logicg g
• Calculate the logical effort of a pseudo NMOS NOR2Calculate the logical effort of a pseudo NMOS NOR2
1
1
1
4
rising4LE = falling
4 43R C
LE = =
M. Pedram USC/EE 57
rising 3 falling 3 9RC
Logical Effort of Dynamic Logicg y g
• Logical effort of a dynamic inverterLogical effort of a dynamic inverter
2→
2→
M. Pedram USC/EE 58
Logical Effort of Dynamic Logicg y g
• Logical effort of dynamic NAND2Logical effort of dynamic NAND2
3 * 1R Cg = =2 * 2R Cg = =
M. Pedram USC/EE 59
1*3
gR C
= = *3 3g
R C= =
Logical Effort of Domino Logicg g
• F= ab+cF ab+c
Clk 2
a 2 1/2
2
1
b
c
2g 5g
M. Pedram USC/EE 60
3g =
6g =
Logical Effort of Domino Logicg g
• Best effort for Static = 4Best effort for Static 4• Best effort for Dynamic = 2 to 2.75
M. Pedram USC/EE 61
Fixed Side-Load Problem
CiX
Cw
CLCin
• Size gates assuming Cw=0• Add Cw and resize pre-chain• Resize post-chain• Repeat pre-chain and post-chain resizing till the
delay value converges
M. Pedram USC/EE 62
Fixed Side Load Problem (Cont’d)( )
Cin1641
256
64
16 256+16 2564 4 3 794
delay += + + + =
( )4log 272 4N ≈ ≈In the pre-chain CL=256+16=272
( )4 4 4 5 25delay = + + =
M. Pedram USC/EE 63
Fixed Side Load Problem (Cont’d)( )
R i h iResize post-chain
( )256 64+( ) ( )256 643 4 1 5 23
64delay
+= + + + =
Make X bigHow to size the gate X ?
M. Pedram USC/EE 64
gg
Limits of the Logical Effort based O i i iOptimization
• Simplistic delay modelp y– Neglects input rise/fall time effects (has been extended)
• Interconnect– Iteration required in designs with large interconnect
capacitances
• Path-based optimization– Too many paths
Si i b d h fli i h i i b d– Sizing based on one path may conflict with sizing based on another path
• So far provides the maximum speed solution only
M. Pedram USC/EE
• So far provides the maximum speed solution only– Not minimum area/power under constrained delay (see next)
65
Delay-Constrained Area OptimizationDelay Constrained Area Optimization
• Given:– Maximum allowed capacitive load Cin on the source– A single sink with capacitive load CL
– A required time T
• Find– Optimum number of inverters and their sizing so as to
minimize the inverter chain area while meeting the constraintsconstraints
min. . ( )
Areas t i delay T≤
C1 C2 Cn
M. Pedram USC/EE
1
( )( ) in
yii C C≤
CL
66
Area Optimization: Problem Formulationp
• The problem can be stated as follows:The problem can be stated as follows:
∑ =∝ ni iCnArea 1)(
h1 h2 hn
CL∑ =i i1)(
∏ =
= nij j
Li
hCC ∑
∏==
∝ ni n
ij j
L
hCnArea 1)(
( )1 1
n ni ii i
delay p h np h= =
= + = +∑ ∑
∏ =ij j
1
n Lni
jj i
CMinh=
=
∑∏
in
Lnj jinn
j j
LCChC
hCC ≥→≤= ∏
∏ ==
11
1 1. . : ( )
( )
j i
nii
n L
s t I h T np
CII H h
=≤ −
≡ ≥
∑
∏
M. Pedram USC/EE
j j
67
1( ) L
iiin
II H hC=
≡ ≥∏
Area Optimization: SolutionArea Optimization: Solution
• To find the “best” inverter chain, the problem should be solved for all values
1
For all don L
ni
nCMin
h=∑∏solved for all values
of n• There are ways to 1
. . : ( )
jj i
nii
h
s t I h T np
C
=
=≤ −
∏∑
bound n between an nmin and nmax, but we will not discuss them
1( )
Choose best ;
n Lii
in
CII hC
n
=≥∏
will not discuss them here
M. Pedram USC/EE 68
An Important ObservationAn Important Observation
• It can be shown that when the delay constraint isIt can be shown that when the delay constraint is loose, in the optimal solution of minimum area inverter chain:
where h0=0 and h1 can be found from:
)1( 11 +−= −+ iiii hhhh (*)
0 1
1
nii
h T np=
= −∑I (*) h l f h ’ i ll• In recurrence (*) the values of hi’s grow exponentially– Cin=1, CL=90, T=23, n=4
h =1 h =2 h =4 h =12
M. Pedram USC/EE
h1=1, h2=2, h3=4, h4=12
69