cs6710 Log Effx2
cs6710 Log Effx2
Estimating Delays
w Would be nice to have a
“back of the envelope”
method for sizing gates for
speed
w Logical Effort
n Book by Sutherland, Sproull,
Harris
n Chapter 1 is on our web page
n Also Chapter 4 in our textbook
1
Gate Delay Model
w First, normalize a model of delay to
dimensionless units to isolate fabrication effects
w dabs = d τ
Gate Delay
w Delay of a gate d has two components
n A fixed part called parasitic delay p
w d = f + p
2
Effort Delay
w The effort delay (due to load) can be further broken
down into two terms: f = g * h
n So, d = gh + p
Logical Effort
w Logical effort normalizes the output drive
capability of a gate to match a unit inverter
n How much more input capacitance does a gate need
to present to offer the same drive as an inverter?
a 2 4
2
b 2 g = 5/3
x x 4
x
a 1 2
a 1
2 b 1
g=1 g = 4/3
(a )( b) (c )
3
Computing Logical Effort
w DEF: Logical effort is the ratio of the input
capacitance of a gate to the input capacitance
of an inverter delivering the same output
current.
w Measure from delay vs. fanout plots
w Or estimate by counting transistor widths
2 2 A 4
Y
2 B 4
A 2
A Y Y
1 B 2 1 1
4
Electrical Effort
w Value of logical effort g is independent of
transistor size
n It’s related to the ratios and the topology
Parasitic Delay
w Parasitic delay p is caused by the internal
capacitance of the gate
n It’s constant and independent of transistor size
n As you increase the transistor size, you also
increase the cap of the gate/source/drain areas
which keeps it constant
n For our purposes, normalize pinv to 1
l N-input NAND = n*pinv
l N-input NOR = n*pinv
5
Plots of Gate Delay
6
2
=
3
, p
5
4
=
:g
D
AN
4
tN u
1
inp
=
,p
o-‐
1
Tw
=
g
3
r:
rte
ve
Effort
delay
In
Parasitic
d elay
0
0 1 2 3 4 5
Electrical
e ffort: h
Delay Estimation
Remember, τ in
Our process ~ 40ps
~200ps
~240ps
6
Delay Estimation
Remember, τ in
Our process ~ 40ps
~200ps
τ in 180nm = ~ 12ps
FO4 Inverter delay = 60ps
FO4 NAND delay = 72ps
~240ps
Logical Effort: g =
Electrical Effort: h =
Parasitic Delay: p =
Stage Delay: d =
Period of osc =
7
Example: Ring Oscillator
w Estimate the frequency of an N-stage ring
oscillator
Logical Effort: g = 1
Electrical Effort: h = 1
Parasitic Delay: p = 1
Stage Delay: d = 2 so dabs = 80ps
Period: 2*N*dabs = 4.96ns, Freq = ~200MHz
For N = 31
Logical Effort: g=
Electrical Effort: h=
Parasitic Delay: p=
Stage Delay: d=
8
Example: FO4 Inverter
w Estimate the delay of a fanout-of-4 (FO4)
inverter
d
Delay Estimation
9
Multi Stage Delay
Off-Path Load
Ctotal
Cuseful
10
Summary – multistage networks
w Logical effort generalizes to multistage
networks
w Path Logical Effort G= gi ∏
Cout − path
w Path Electrical Effort H=
Cin − path
Branching Effort
w Remember branching effort
n Accounts for branching between stages in path
11
Multistage Delays
Designing Fast D = ∑ di = DF + P
Circuits
w Delay is smallest when each stage bears
same effort
fˆ = gi hi = F N
1
12
Minimizing Path Delay
13
Example
0 1 2
Example, continued
f(min) = gi * bi * hi
14
Transistor Sizes for Example
15
8C Load Example Cont.
16
Example 1.6 Continued
f(min) = gi * bi * hi
y
x
45
A 8
x
y B
45
17
Example: 3-stage path
x
y
x
45
A 8
x
y B
45
Logical Effort G=
Electrical Effort H=
Branching Effort B=
Path Effort F=
Best Stage Effort fˆ =
Parasitic Delay P=
Delay D=
y
x
45
A 8
x
y B
45
18
Example: 3-stage path
w Work backward for sizes
y=
x=
x
y
x
45
A 8
x
y B
45
45
A P: 4
P: 4
N: 4 P: 12 B
N: 6 45
N: 3
8 10 15
1:1 ratio 2:3 ratio 4:1 ratio
19
Example 1.7 from Chap 1
(gi*bi*Cout)/fmin=Cin
Note: Don’t care about parasitics for gate sizing, only if you
want to know absolute delay…
Misc. Comments
w Note that you never size the first gate
n This gate is assumed to be fixed
n If you were allowed to size it, the algorithm would try
to make it as large as possible
w This is an estimation algorithm
n Authors claim that sizing a gate by 1.5x too big or
small still results in a path delay within 15% of
minimum
20
Sensitivity Analysis
w How sensitive is delay to using exactly the
best number of stages? 1.6
1.51
D(N) /D(N)
1.4
1.26
1.2 1.15
1.0
(ρ=6) (ρ =2.4)
0.0
0.5 0.7 1.0 1.4 2.0
N/ N
21
Option #1
Option #2
22
How many stages?
23
Choosing the Best # of Stages
w You can solve the delay equations to determine
the number of stages N that will achieve the
minimum delay
n Approximate by Log4F
Path Effort Best Min Delay Stage effort
F N D f
0-5.83 1 1.0-6.8 0-5.8
5.83-22.3 2 6.8-11.4 2.4-4.7
22.3-82.2 3 11.4-16.0 2.8-4.4
82.2-300 4 16.0-20.7 3.0-4.2
300-1090 5 20.7-25.3 3.1-4.1
1090-3920 6 25.3-29.8 3.2-4.0
Example
24
Other N’s?
w N=2: f=(2777)1/2 = 52.7
n delay = 2(52.7) +2 = 158.1 = 6.324ns
w N=3: f=(2777)1/3 = 14
n delay = 3(14) +3 = 45 = 1.8ns
w N=4: f=(2777)1/4 = 7.26
n delay = 4(7.26) + 4 = 33.04 = 1.32ns
w N=5: f=(2777)1/5 = 4.88
n delay = 5(4.88) +5 = 29.4 = 1.18ns
w N=6: delay = 1.14ns
w N=7: f=(2777)1/7 = 3.105
n delay = 7(3.105) +7 = 28.7 = 1.15ns
Summary
w Compute path effort F = GBH
w Use table, or estimate N = log4F to decide on
number of stages
w Estimate minimum possible delay
D = NF1/N + Σpi
w Add or remove stages in your logic to get close
to N
w Compute effort at each stage fmin = F1/N
w Starting at output, work backwards to compute
transistor sizes Cin = (gi * bi * Cout)/fmin
25
Limits of Logical Effort
w Chicken and egg problem
n Need path to compute G
n But don’t know number of stages without G
w Simplistic delay model
n Neglects input rise time effects
w Interconnect
n Iteration required in designs with wire
w Maximum speed only
n Not minimum area/power for constrained delay
Summary
w Logical effort is useful for thinking of delay in
circuits
n Numeric logical effort characterizes gates
n NANDs are faster than NORs in CMOS
n Paths are fastest when effort delays are ~4
n Path delay is weakly sensitive to stages, sizes
n But using fewer stages doesn’t mean faster paths
n Delay of path is about log4F FO4 inverter delays
n Inverters and NAND2 best for driving large caps
w Provides language for discussing fast circuits
n But requires practice to master
26