Professional Documents
Culture Documents
Logical Effort:: Designing For Speed On The Back of An Envelope
Logical Effort:: Designing For Speed On The Back of An Envelope
David Harris
David_Harris@hmc.edu
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
Ben Bitdiddle is the memory designer for the Motoroil 68W86, an embedded
processor for automotive applications. Help Ben design the decoder for a
register file: a<3:0> a<3:0> 32 bits
4:16 Decoder
16 words
Decoder specification:
Register File
o 16 word register file 16
o Each word is 32 bits wide
o Each bit presents a load of 3 unit-sized transistors
o True and complementary inputs of address bits a<3:0> are available
o Each input may drive 10 unit-sized transistors
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
6 g=
p=
D
Normalized delay: d
5
AN
g= d=
N
4 p=
ut
r
rte
inp
d=
ve
2-
3
in
effort How about a
2 delay 2-input NOR?
1
parasitic delay
1 2 3 4 5
Electrical effort: h = Cout / Cin
o d = f + p = gh + p
o Delay increases with electrical effort
o More complex gates have greater logical effort and parasitic delay
Logical Effort David Harris Page 7 of 56
Computing Logical Effort
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.
o Measured from delay vs. fanout plots of simulated or measured gates
o Or estimated, counting capacitance in units of transistor width:
a NOR2:
2 4 Cin = 5
b
2 2 g = 5/3
x 4
x
x
a 1 2
a 1
Inverter: NAND2: b
2 1
Cin = 3 Cin = 4
g = 1 (def) g = 4/3
Logical Effort: g =
Electrical Effort: h =
Parasitic Delay: p =
Stage Delay: d =
Oscillator Frequency: F =
Logical Effort: g =
Electrical Effort: h =
Parasitic Delay: p =
Stage Delay: d =
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
g1 = 1 g2 = 5/3 g3 = 4/3 g4 = 1
h1 = x/10 h2 = y/x h3 = z/y h4 = 20/z
Can we write F = GH ?
o Path Delay: DF = ∑ di = D F + P
We can prove that delay is minimized when each stage bears the same effort:
ˆf = g h = F 1 ⁄ N
i i
Therefore, the minimum delay of an N-stage path is:
1⁄N
NF +P
o This is a key result of logical effort. Lowest possible path delay can be found
without even calculating the sizes of each gate in the path.
Gate sizes can be found by starting at the end of the path and working backward.
o At each gate, apply the capacitance transformation:
C out • g i
i
C in = ----------------------
-
i ˆf
o Check your work by verifying that the input capacitance specification is satis-
fied at the beginning of the path.
Delay: D =
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
16 8
22.6
Datapath load
64 64 64 64
Fastest
N: 1 2 3 4
f: 64 8 4 2.8
D: 65 18 15 15.3
1⁄N 1⁄N
D = NF + P = N ( 64 ) + N assuming polarity doesn’t matter
Suppose we can add inverters to the end of a path without changing its function.
o ˆ
How many stages should we use? Let N be the value of N for least delay.
n1
1⁄N
D = NF +
∑ pi + ( N – n1 )pinv
1
p inv + ρ ( 1 – ln ρ ) = 0
1 .6
D(N) / D(N)
1 .5 1
1 .4
1 .2 6
1 .2 1 .1 5
1 .0
I like to use
ρ=4
(ρ = 2 .4 ) (ρ = 6 )
0 .0
0 .5 0 .7 1 .0 1 .4 2 .0
N /N
o 2.4 < ρ < 6 gives delays within 15% of optimal -> we can be sloppy
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
4:16 Decoder
16 words
Decoder specification:
Register File
o 16 word register file 16
o Each word is 32 bits wide
o Each bit presents a load of 3 unit-sized transistors
o True and complementary inputs of address bits a<3:0> are available
o Each input may drive 10 unit-sized transistors
y out0
z
96 unit wordline
capacitance
y out15
z
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
2 2
x
a 4/3
4 b
1/s b
Logical effort of inputs:
1
------------ + 2
1
--- + 2
1
-------------------- + 4
1–s -
g A = --------------------- gB s
= -------------
s(1 – s) -
g tot = -----------------------------
3 3 3
o Critical input approaches logical effort of inverter = 1 for small s
o But total logical effort is higher for asymmetric gates
2 2 1
x x x
a 1/2 a 1 a 1/2
HI-Skewed inverter
Unskewed w/ Unskewed w/
equal rise equal fall
Compare with unskewed inverter of the same rise/fall time to compute effort.
o Logical Effort for rising (up) output: gu =
o Logical Effort for falling (down) output: gd =
o Average Logical Effort: g avg = ( g u + g d ) ⁄ 2
DEF: Logical effort of a skewed gate for a particular transition is the ratio of the
input capacitance of that gate to the input capacitance of an unskewed
inverter delivering the same output current for the same transition.
2 4
gu = 3/2
2
gd = 3
2
4 gavg = 9/4
HI-Skew
½ gu = 5/6 1
gu = 1 ½
gd = 5/3
1
gd = 2 ½
gavg = 5/4
gavg = 3/2
1 2
gu = 2
1
gd = 1
1
2 gavg = 3/2
LO-Skew
1 gu = 4/3 2
gu = 2
gd = 2/3 1
2
gd = 1 1
gavg = 1
gavg = 3/2
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
Pseudo-NMOS gates replace fat PMOS pullups on inputs with a resistive pullup.
o Resistive pullup must be much weaker than pulldown stack (e.g. 4x)
o Reduces logical effort because inputs must only drive the NMOS transistors
o However, NMOS current reduced by contention with pullup
o Unequal rising and falling efforts
o Quiescent power dissipation when output is low
b 8/3
Dynamic logic replace fat PMOS pullups on inputs with a clocked precharge.
o Reduces logical effort because inputs must only drive the NMOS transistors
o Eliminates pseudo-NMOS contention current and power dissipation
o Only the falling (“evaluation”) delay is critical
o Downsize noncritical precharge transistors to reduce clock load and power
φ 1
Example: Footless dynamic inverter
x
o Logical Effort for falling (down) output: gd = a 1
Robust gates may require keepers and clocked pulldown transistors (“feet”).
o Feet prevent contention during precharge but increase logical effort
o Weak keepers prevent floating output at cost of slight contention during eval
φ 1 φ 1 φ 1
x x x
Footless
a 1 a 2 a 1 1 b
gd = 1/3 gd = 2/3 gd = 1/3
b 2
φ 1 φ 1 φ 1
x x x
Footed
a 2 a 3 a 2 2 b
gd = 2/3 b 3 gd = 1 gd = 2/3
φ 2 φ 2
φ 3
Assumptions:
o PMOS transistors have half the drive of NMOS transistors
o Skewed gates downsize noncritical transistors by factor of two
o Pseudo-NMOS gates have 1/4 strength pullups
Table 4: Summary of Logical Efforts
Inverter g n-input NAND g n-input NOR g
Circuit Style
gu gd gu gd gu gd
o Introduction
o Delay in a Logic Gate
o Multi-stage Logic Networks
o Choosing the Best Number of Stages
o Example
o Asymmetric & Skewed Logic Gates
o Circuit Families
o Summary
∏ gi
Logical effort g (seeTable 1) G =
Electrical effort C out C out (path)
h = --------- H = ----------------------
C in C in (path)
Branching effort n/a
B = ∏ bi
Effort f = gh F = GBH
Effort delay
∑ fi
f
DF =
Number of stages 1 N
∑ pi
Parasitic delay p (seeTable 2) P =
Delay d = f+p D = DF + P
Logical effort helps you find the best number of stages, the best size of each gate,
and the minimum delay of a circuit with the following procedure:
Logical effort provides a language for engineers to discuss why circuits are fast.
o Like any language, requires practice to master
6 g = 4/3
p=2
D
Normalized delay: d
5
AN
g=1d = (4/3)h + 2
N
4 p=1
ut
r
rte
inp
d=h+1
ve
2-
3
in
effort
2 delay
1
parasitic delay
1 2 3 4 5
Electrical effort: h = Cout / Cin
o d = f + p = gh + p
o Delay increases with electrical effort
o More complex gates have greater logical effort and parasitic delay
This is about 60 ps
in a 0.18 µm process.
y out0
z
96 unit wordline
capacitance
y out15
z
2 2
x
a 4/3
4 b
Effort on A
o Logical Effort on input A: g A = 10 ⁄ 9 goes down at
expense of
o Logical Effort on input B: gB = 2 effort on B and
total gate effort
o Total Logical Effort: g tot = g A + g B = 28 ⁄ 9
2 2 1
x x x
a 1/2 a 1 a 1/2
Pseudo-NMOS gates replace fat PMOS pullups on inputs with a resistive pullup.
o Resistive pullup must be much weaker than pulldown stack (e.g. 4x)
o Reduces logical effort because inputs must only drive the NMOS transistors
o However, NMOS current reduced by contention with pullup
o Unequal rising and falling efforts
o Logical effort can be applied to domino, pseudo-NMOS, and other logic families
2/3
Example: Pseudo-NMOS inverter x
o Logical Effort for falling (down) output: gd = 4 ⁄ 9 a 4/3
o Logical Effort for rising (up) output: gu = 4 ⁄ 3
o Average Logical Effort: g avg = ( g u + g d ) ⁄ 2 = 8 ⁄ 9
Dynamic logic replace fat PMOS pullups on inputs with a clocked precharge.
o Reduces logical effort because inputs must only drive the NMOS transistors
o Eliminates pseudo-NMOS contention current and power dissipation
o Critical pulldown (“evaluation”) delay independent of precharge size
φ 1
Example: Footless dynamic inverter
x
o Logical Effort for falling (down) output: gd = 1 ⁄ 3 a 1
Robust gates may require keepers and clocked pulldown transistors (“feet”).
o Feet prevent contention during precharge but increase logical effort
o Weak keepers prevent floating output at cost of slight contention during eval