ilovepdf_merged (1)_241124_113315
ilovepdf_merged (1)_241124_113315
ilovepdf_merged (1)_241124_113315
CMOS Inverters
MOS Scaling
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Outline
• Review: Inverter Transfer Characteristics
• Lecture 3: Noise Margins, Rise & Fall Times,
Inverter Delay
• CMOS Inverters: Rabaey 1.3.2, 5 (Kang &
Leblebici, 5.1-5.3 and 6.1-6.2)
PMOS NMOS
Vin=4V
Drain current IDS
Vin=3V Vdd
Vout
Vin=2V
Vin=1V
P linear P cutoff
N cutoff N linear
P linear
N sat P sat
N sat
P sat
N linear
• Increase W of PMOS
VDD kp=kn kp increases
VTC moves to right
• Increase W of NMOS
Vout kp=5kn
kn increases
VTC moves to left
2
[
(VGS ,n − VT 0,n ) = 2(VGS , p − VT 0, p )VDS , p − VDS , p 2
kp
]
kn
2
2
2
[
(Vin − VT 0,n ) = 2(Vin − VDD − VT 0, p )(Vout − VDD ) − (Vout − VDD )2
kp
]
• Differentiate and set dVout/dVin to –1
⎡ dVout ⎤
k n (Vin − VT 0,n ) = k p ⎢(Vin − VDD − VT 0, p ) + (Vout − VDD ) − (Vout − VDD )
dVout
⎥
⎣ dV in dV in ⎦
kn
2
[
2(Vin − VT 0,n )Vout − Vout =
2 kp
2
] (
Vin − VDD − VT 0, p
2
)
• Differentiate and set dVout/dVin to –1
⎡ dVout ⎤
k n ⎢(Vin − VT 0,n ) ⎥ = k p (Vin − VDD − VT 0, p )
dVout
+ Vout − Vout
⎣ dVin dVin ⎦
( )
kn 2Vout −VIH +VT 0, p = k p VIH −VDD −VT 0, p ( )
VDD + VT 0, p + k R (2Vout + VT 0,n ) kn
VIH = kR =
1 + kR kp
• Solve simultaneously with KCL to find VIH
Amirtharajah, EEC 116 Fall 2011 17
CMOS Inverter: VM Calculation
• KCL (NMOS & PMOS saturated):
2 2
• Solve for VM = Vin = Vout
VT 0,n +
1
(VDD + VT 0, p )
kR kn
VM = kR =
1 kp
1+
kR
Amirtharajah, EEC 116 Fall 2011 18
CMOS Inverter: Achieving Ideal VM
VT 0,n +
1
kR
(VDD + VT 0, p )
kn
VTH = kR =
1 kp
1+
kR
2
⎛ VDD 2 + VT 0, p ⎞
• Ideally, VM = VDD/2 k R ,ideal = ⎜⎜ ⎟
⎟
⎝ V DD 2 + VT 0 , n ⎠
VIL = (3VDD + 2 VT 0 )
1
8
VIH = (5VDD − 2 VT 0 )
1
8
VIL + VIH = VDD
xd
• Overlap capacitances
– Gate electrode overlaps source and drain regions
– CGB = CoxWLeff
Cg,total
(no overlap,
xd = 0)
A 2qε N d N a
For a P-N junction: Cj =
2 V0 − V N d + N a
qε Si N d N a
If V=0, cap/area = C j0 =
2V0 N d + N a
AC j 0
General form: Cj = m
⎛ V ⎞
⎜⎜1 − ⎟⎟
⎝ V0 ⎠
K eq =
− 2 V0
(V2 − V1 )
(
V0 − V2 − V0 − V1 ) (abrupt junction only)
• CMOS Inverters
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Announcements
• Lab 2 this week, report due next week
• Lab 1 reports due this week at lab section
• HW 2 due this Friday at 4 PM in box, Kemper
2131
PMOS NMOS
Vin=4V
Drain current IDS
Vin=3V Vdd
Vout
Vin=2V
Vin=1V
P linear P cutoff
N cutoff N linear
P linear
N sat P sat
N sat
P sat
N linear
• Increase W of PMOS
VDD kp=kn kp increases
VTC moves to right
• Increase W of NMOS
Vout kp=5kn
kn increases
VTC moves to left
2
[
(VGS ,n − VT 0,n ) = 2(VGS , p − VT 0, p )VDS , p − VDS , p 2
kp
]
kn
2
2
2
[
(Vin − VT 0,n ) = 2(Vin − VDD − VT 0, p )(Vout − VDD ) − (Vout − VDD )2
kp
]
• Differentiate and set dVout/dVin to –1
⎡ dVout ⎤
k n (Vin − VT 0,n ) = k p ⎢(Vin − VDD − VT 0, p ) + (Vout − VDD ) − (Vout − VDD )
dVout
⎥
⎣ dV in dV in ⎦
kn
2
[
2(Vin − VT 0,n )Vout − Vout =
2 kp
2
] (
Vin − VDD − VT 0, p
2
)
• Differentiate and set dVout/dVin to –1
⎡ dVout ⎤
k n ⎢(Vin − VT 0,n ) ⎥ = k p (Vin − VDD − VT 0, p )
dVout
+ Vout − Vout
⎣ dVin dVin ⎦
( )
kn 2Vout −VIH +VT 0, p = k p VIH −VDD −VT 0, p ( )
VDD + VT 0, p + k R (2Vout + VT 0,n ) kn
VIH = kR =
1 + kR kp
• Solve simultaneously with KCL to find VIH
Amirtharajah/Parkhurst, EEC 118 Spring 2011 17
CMOS Inverter: VM Calculation
• KCL (NMOS & PMOS saturated):
2 2
• Solve for VM = Vin = Vout
VT 0,n +
1
(VDD + VT 0, p )
kR kn
VM = kR =
1 kp
1+
kR
Amirtharajah/Parkhurst, EEC 118 Spring 2011 18
CMOS Inverter: Achieving Ideal VM
VT 0,n +
1
kR
(VDD + VT 0, p )
kn
VTH = kR =
1 kp
1+
kR
2
⎛ VDD 2 + VT 0, p ⎞
• Ideally, VM = VDD/2 k R ,ideal = ⎜⎜ ⎟
⎟
⎝ V DD 2 + VT 0 , n ⎠
VIL = (3VDD + 2 VT 0 )
1
8
VIH = (5VDD − 2 VT 0 )
1
8
VIL + VIH = VDD
• CMOS Inverters
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Acknowledgments
• Slides due to Rajit Manohar from ECE 547
Advanced VLSI Design at Cornell University
P linear P cutoff
N cutoff N linear
P linear
N sat P sat
N sat
P sat
N linear
Cgd,p Cdb,p
Capacitance on
Vin f node f (output):
Cgd,n Cdb,n Cint
Cg
• Junction cap
Cdb,p and Cdb,n
• Gate capacitance
Cgd,p and Cgd,n
Cgs,n Csb,n • Interconnect cap
Gnd • Receiver gate cap
Amirtharajah/Parkhurst, EEC 118 Spring 2011 7
CMOS Inverter Junction Capacitances
• Junction capacitances Cdb,p and Cdb,n:
– Equation for junction cap:
m
AC j 0 ⎛ εq N a N d 1 ⎞
C j (V ) = , C j0 = ⎜⎜ ⎟⎟
⎝ 2 N a + N d φ0 ⎠
m
⎛ V⎞
⎜⎜ 1 − ⎟⎟
⎝ φ0 ⎠
– Non-linear, depends on voltage across junction
– Use Keq factor to get equivalent capacitance for a
voltage transition
Cdb = AK eq C j + PK eqswC jsw
C gd , p = C gd ,n = CoxWLD
However, also need to consider Miller effect ...
Amirtharajah/Parkhurst, EEC 118 Spring 2011 9
CMOS Inverter Capacitances: Miller Effect
Cgd1
Vout
Vout
Vin Vin 2Cgd1
ID.n Cload
Vin
dV
I =C
dt
dVout
I D ,n = Cload Need to determine ID,n
dt
t0 t1 t2
VOH −VT 0 , n
− 2CL
t1
∫t dt = kn (VOH − VT 0,n )2 ∫ dV
VOH
out
0
2CLVT 0,n
t1 − t0 =
kn (VOH − VT 0,n )2
[
I DS = kn (VOH − VT 0,n )Vout − 12 Vout
2
]
(VOH +VOL ) / 2
dVout
t2 − t1 = −CL ∫
VOH −VT 0 ,n
[
kn (VOH − VT 0,n )Vout − 12 Vout
2
]
CL ⎡ 2(VOH − VT 0,n ) − (VOH + VOL ) / 2 ⎤
t2 − t1 = ln⎢ ⎥
kn (VOH − VT 0,n ) ⎣ (VOH + VOL ) / 2 ⎦
t PLH =
Cload
( 12 VDD − VSS )
I avg
Amirtharajah/Parkhurst, EEC 118 Spring 2011 21
CMOS Inverter Delay: 2nd Approximation
• Another approximate
method:
– Again assume constant Iavg
– Iavg = current I1 at start of I1
V1=Vdd
transition
CloadVDD
t PHL = V2=½Vdd
k n (VDD − VTn )
2
CloadVDD
t PLH =
k p (VDD − VTP )
2 t1 t2
Empirical equations:
2
⎛ tr ⎞
tpHL(ns)
⎝2⎠
2
⎛tf ⎞
t plh (actual ) = t ( step ) + ⎜⎜ ⎟⎟
2
plh
⎝2⎠
trise(ns)
Amirtharajah/Parkhurst, EEC 118 Spring 2011 23
How to Improve Delay?
• Minimize load capacitances
– Small interconnect capacitance
– Small Cg of next stage
• Raise supply voltage
– Increases current faster than increased swing ΔV
• Increase transistor gain factor
– Increase transistor drive current for
charging/discharging output capacitance
• Use low threshold voltage devices
– More subthreshold leakage power dissipation
Amirtharajah/Parkhurst, EEC 118 Spring 2011 24
Inverter Power Consumption
• Static power consumption (ideal) = 0
– Actually DIBL (Drain-Induced Barrier Lowering),
gate leakage, junction leakage are still present
• Dynamic power consumption
T
1
Pavg = ∫ v(t )i(t )dt
T0
1⎡ ⎛ dVout ⎞ ⎛ dVout ⎞ ⎤
T /2 T
Pavg = ⎢ ∫ Vout ⎜ − Cload ⎟dt + ∫ (VDD − Vout )⎜ Cload ⎟dt ⎥
T⎣0 ⎝ dt ⎠ T /2 ⎝ dt ⎠ ⎦
⎡ T /2 T ⎤
1 ⎢⎛ Vout ⎞
⎟ + ⎛⎜VDDVout Cload − CloadVout 2 ⎞⎟ ⎥
2
1
Pavg = ⎜ − Cload
T ⎢⎜⎝ 2 ⎟⎠ ⎝ 2 ⎠ T /2 ⎥
⎣ 0 ⎦
1
Pavg = CloadVDD = CloadVDD f
2 2
T
Amirtharajah/Parkhurst, EEC 118 Spring 2011 25
Next Time: Combinational Logic
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Announcements
• Quiz 1 today!
• Lab 2 reports due this week
• Lab 3 this week
• HW 3 due this Friday at 4 PM in box, Kemper
2131
T
Amirtharajah/Parkhurst, EEC 118 Spring 2011 6
Static CMOS
• Complementary pullup
network (PUN) and pulldown
network (PDN)
• Only one network is on at a A
time B PUN
C
• PUN: PMOS devices
F
– Why? A
• PDN: NMOS devices B PDN
C
– Why?
• PUN and PDN are dual
networks
A F
• If CMOS gate implements
B
logic function F:
series
– PUN implements function F
– PDN implements function G
=F
A
• PUN: F = A+B = A•B
B
• PDN: G = F = A+B A B
1 1 W R
W R
1 W R
W W R R
W R
0 0
0
WN ½ WN
WN
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
F = A•(B+C)
Amirtharajah/Parkhurst, EEC 118 Spring 2011 14
Example: Complex Gate
Design CMOS gate for this logic function:
F = A•(B+C) = A + B•C
B C
B
A
C
F
B WP
A WP • What is worse-case pulldown delay?
C WP
F • Effective inverter for delay calculation:
A WN
B C WN ½ WP
WN
½ WN
1 1 W R
W R
1 W R
W W R R
W R
0 0
0
WN ½ WN
WN
B WP
A WP • What is worse-case pulldown delay?
C WP
F • Effective inverter for delay calculation:
A WN
B WNC WN ½ WP
½ WN
• And-Or-Invert (AOI)
– Sum of products boolean function
– Parallel branches of series connected NMOS
• Or-And-Invert (OAI)
– Product of sums boolean function
– Series connection of sets of parallel NMOS
A n1 B A
vdd F n1
A B B
F
gnd
– Convert to layout using consistent Euler paths
Amirtharajah/Parkhurst, EEC 118 Spring 2011 30
Propagation Delay Analysis - The Switch Model
RON
=
VDD VDD
VDD
Rp Rp Rp
Rp
A B B
A F
Rn Rp
F CL
B A
Rn
CL F
Rn Rn Rn
A CL
A B
A
tp = 0.69 Ron CL
⎛ V1 ⎞ ⎛ 12 VDD ⎞
t p = RC ln⎜⎜ ⎟⎟ = RC ln⎜⎜ ⎟⎟
⎝ V0 ⎠ ⎝ VDD ⎠
t p = RC ln(0.5)
t phl = 0.69 RnC L Standard RC-delay
equations from literature
t plh = 0.69 R p C L
1 1 B 4
A A 2
B
F C 4
2 CL
B D 2
F
2 A 2
D 1
A
B 2C 2
In3 C3
M3
Distributed RC-line
In2 M2 C2
CL CL
In3 M3 In1 M1
In2 M2 C2 C2
In2 M2
In1 M1 C1 C3
In3 M3
(a) (b)
Amirtharajah/Parkhurst, EEC 118 Spring 2011 41
Fast Complex Gates - Design Techniques (3)
• Improved Logic Design
CL CL
VDD VDD
In2
Out
In3
In4
GND
In1 In2 In3 In4
Vout
Cgd Cdb1
In1 1 Note that the value of Cload for calculating
Cgs1 Csb1 propagation delay depends on which capacitances
2
Cgd Cdb2 need to be discharged or charged when the critical
In2 2 signal arrives.
Cgs2 Csb2
3 Example: In1 = In3 = In4 = 1. In2 = 0. In2 switches from low
Cgd Cdb3 to high. Hence, Nodes 3 and 4 are already discharged to
In3 3
ground. In order for Vout to go from high to low… Vout
Cgs3 Csb3
4 node and node 2 must be discharged.
Cgd Cdb4 CL =
In4 4 Cgd5+Cgd7+Cgd8+2Cgd6(Miller)+Cdb5+Cdb6+Cdb7+Cd
Cgs4 Csb4 b8 +Cgd1+ Cdb1+ Cgs1+ Csb1+ 2Cgd2+ Cdb2+ Cw
– Pipelining
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Announcements
• Lab 3 this week at lab section
• HW 3 due this Friday at 4 PM in box, Kemper
2131
• Quizzes will be handed back in lab section
A F
• If CMOS gate implements
B
logic function F:
series
– PUN implements function F
– PDN implements function G
=F
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 8
Introduction
Chip designers face a bewildering array of choices
– What is the best circuit topology for a function?
– How many stages of logic give least delay?
???
– How wide should the transistors be?
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 9
Example
Ben Bitdiddle is the memory designer for the Motoroil 68W86,
an embedded automotive processor. Help Ben design the
A[3:0] A[3:0]
decoder for a register file. 32 bits
Decoder specifications:
4:16 Decoder
16 words
16
Register File
– 16 word register file
– Each word is 32 bits wide
– 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
Ben needs to decide:
– How many stages to use?
– How large should each gate be?
– How fast can decoder operate?
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 10
Delay in a Logic Gate
Express delays in process-independent unit d = d abs
Delay has two components: d = f + p τ
τ = 3RC
f: effort delay = gh (a.k.a. stage effort)
≈ 3 ps in 65 nm process
– Again has two components 60 ps in 0.6 μm process
g: logical effort
– Measures relative ability of gate to deliver current
– g ≡ 1 for inverter
h: electrical effort = Cout / Cin
– Ratio of output to input capacitance
– Sometimes called fanout
p: parasitic (intrinsic) delay
– Represents delay of gate driving no load
– Set by internal parasitic capacitance
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 11
Delay Plots
d =f+p 2-input
= gh + p 6
NAND Inverter
g = 4/3
Normalized Delay: d
5 p=2
What about d = (4/3)h + 2
4 g=1
NOR2? p=1
3 d=h+1
2 Effort Delay: f
1
Parasitic Delay: p
0
0 1 2 3 4 5
Electrical Effort:
h = Cout / Cin
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 12
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.
Measure from delay vs. fanout plots
Or estimate by counting transistor widths
2 2 A 4
Y
2 B 4
A 2
A Y Y
1 B 2 1 1
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 13
Catalog of Gates
Logical effort of common gates
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 14
Catalog of Gates
Parasitic delay of common gates
– In multiples of pinv (≈1)
Gate type Number of inputs
1 2 3 4 n
Inverter 1
NAND 2 3 4 n
NOR 2 3 4 n
Tristate / mux 2 4 6 8 2n
XOR, XNOR 4 6 8
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 15
Example: Ring Oscillator
Estimate the frequency of an N-stage ring oscillator
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 16
Example: FO4 Inverter
Estimate the delay of a fanout-of-4 (FO4) inverter
d
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 17
Multistage Logic Networks
Logical effort generalizes to multistage networks
Path Logical Effort G= gi ∏
Cout-path
Path Electrical Effort H=
Cin-path
Path Effort F = ∏ f i = ∏ gi hi
10
x z
y
20
g1 = 1 g2 = 5/3 g3 = 4/3 g4 = 1
h1 = x/10 h2 = y/x h3 = z/y h4 = 20/z
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 18
Multistage Logic Networks
Logical effort generalizes to multistage networks
Path Logical Effort G= gi ∏
Cout − path
Path Electrical Effort H=
Cin − path
Path Effort F = ∏ f i = ∏ gi hi
Can we write F = GH?
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 19
Paths that Branch
No! Consider paths that branch:
15
G =1 90
5
H = 90 / 5 = 18
GH = 18 15
90
h1 = (15 +15) / 5 = 6
h2 = 90 / 15 = 6
F = g1g2h1h2 = 36 = 2GH
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 20
Branching Effort
Introduce branching effort
– Accounts for branching between stages in path
Con path + Coff path
b=
Con path
B = ∏ bi
Note:
∏h i = BH
Now we compute the path effort
– F = GBH
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 21
Multistage Delays
Path Effort Delay DF = ∑ f i
Path Delay D = ∑ d i = DF + P
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 22
Designing Fast Circuits
D = ∑ d i = DF + P
Delay is smallest when each stage bears same effort
1
fˆ = gi hi = F N
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 23
Gate Sizes
How wide should the gates be for least delay?
fˆ = gh = g CCoutin
gi Couti
⇒ Cini =
fˆ
Working backward, apply capacitance
transformation to find input capacitance of each gate
given load it drives.
Check work by verifying input cap spec is met.
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 24
Example: 3-stage path
Select gate sizes x and y for least delay from A to B
y
x
45
A 8
x
y B
45
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 25
Example: 3-stage path
x
y
x
45
A 8
x
y B
45
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 26
Example: 3-stage path
Work backward for sizes
y = 45 * (5/3) / 5 = 15
x = (15*2) * (5/3) / 5 = 10
y
x
45
45
A P:
84 P:
x 4
N: 4 P:
y 12 B
N: 6 45
N: 3 45
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 27
Best Number of Stages
How many stages should a path use?
– Minimizing number of stages is not always fastest
Example: drive 64-bit datapath with unit inverter
Initial Driver 1 1 1 1
8 4 2.8
D = NF1/N + P 16 8
= N(64)1/N + N
23
Datapath Load 64 64 64 64
N: 1 2 3 4
f: 64 8 4 2.8
D: 65 18 15 15.3
Fastest
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 28
Derivation
Consider adding inverters to end of path
– How many give least delay? N - n1 ExtraInverters
Logic Block:
n1 n1Stages
D = NF + ∑ pi + ( N − n1 ) pinv
1
N Path Effort F
i =1
∂D 1 1 1
= − F N ln F N + F N + pinv = 0
∂N
ρ=F
1
Define best stage effort N
pinv + ρ (1 − ln ρ ) = 0
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 29
Best Stage Effort
pinv + ρ (1 − ln ρ ) = 0 has no closed-form solution
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 30
Sensitivity Analysis
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
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 31
Example, Revisited
Ben Bitdiddle is the memory designer for the Motoroil 68W86,
an embedded automotive processor. Help Ben design the
A[3:0] A[3:0]
decoder for a register file. 32 bits
Decoder specifications:
4:16 Decoder
16 words
16
Register File
– 16 word register file
– Each word is 32 bits wide
– 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
Ben needs to decide:
– How many stages to use?
– How large should each gate be?
– How fast can decoder operate?
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 32
Number of Stages
Decoder effort is mainly electrical and branching
Electrical Effort: H = (32*3) / 10 = 9.6
Branching Effort: B=8
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 33
Gate Sizes & Delay
Logical Effort: G = 1 * 6/3 * 1 = 2
Path Effort: F = GBH = 154
Stage Effort: fˆ = F 1/ 3 = 5.36
Path Delay: D = 3 fˆ + 1 + 4 + 1 = 22.1
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]
10 10 10 10 10 10 10 10
y z word[0]
y z word[15]
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 34
Comparison
Compare many alternatives with a spreadsheet
D = N(76.8 G)1/N + P
Design N G P D
NOR4 1 3 4 234
NAND4-INV 2 2 5 29.8
NAND2-NOR2 2 20/9 4 30.1
INV-NAND4-INV 3 2 6 22.1
NAND4-INV-INV-INV 4 2 7 21.1
NAND2-NOR2-INV-INV 4 20/9 6 20.5
NAND2-INV-NAND2-INV 4 16/9 6 19.7
INV-NAND2-INV-NAND2-INV 5 16/9 7 20.4
NAND2-INV-NAND2-INV-INV-INV 6 16/9 8 21.6
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 35
Review of Definitions
Term Stage Path
number of stages 1 N
logical effort g G = ∏ gi
H=
Cout-path
electrical effort h= Cout
Cin Cin-path
Con-path + Coff-path
branching effort b= Con-path B = ∏ bi
effort f = gh F = GBH
effort delay f DF = ∑ f i
parasitic delay p P = ∑ pi
delay d= f +p D = ∑ d i = DF + P
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 36
Method of Logical Effort
1) Compute path effort F = GBH
2) Estimate best number of stages N = log 4 F
3) Sketch path with N stages
1
4) Estimate least delay D = NF + P N
gi Couti
6) Find gate sizes Cini =
fˆ
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 37
Limits of Logical Effort
Chicken and egg problem
– Need path to compute G
– But don’t know number of stages without G
Simplistic delay model
– Neglects input rise time effects
Interconnect
– Iteration required in designs with wire
Maximum speed only
– Not minimum area/power for constrained delay
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 38
Summary
Logical effort is useful for thinking of delay in circuits
– Numeric logical effort characterizes gates
– NANDs are faster than NORs in CMOS
– Paths are fastest when effort delays are ~4
– Path delay is weakly sensitive to stages, sizes
– But using fewer stages doesn’t mean faster paths
– Delay of path is about log4F FO4 inverter delays
– Inverters and NAND2 best for driving large caps
Provides language for discussing fast circuits
– But requires practice to master
Amirtharajah/Parkhurst, EEC 118 Spring 2011 CMOS VLSI Design 4th Ed. 39
Next Topic: Sequential Logic
– Pipelining
Rajeevan Amirtharajah
University of California, Davis
Jeff Parkhurst
Intel Corporation
Announcements
• Quiz 2 on Monday, April 26
• Midterm on Monday, May 3
– Covers material through Lecture (Monday 4/26)
• HW4 due Friday, 4PM in box, Kemper 2131
• Lab 3, Part 2 report due next week
A F
• If CMOS gate implements
B
logic function F:
series
– PUN implements function F
– PDN implements function G
=F
WN ½ WN
WN
A B A
A B B
F
VDD VDD
VDD
Rp Rp Rp
Rp
A B B
A F
Rn Rp
F CL
B A
Rn
CL F
Rn Rn Rn
A CL
A B
A
tp = 0.69 Ron CL
⎛ V1 ⎞ ⎛ 12 VDD ⎞
t p = RC ln⎜⎜ ⎟⎟ = RC ln⎜⎜ ⎟⎟
⎝ V0 ⎠ ⎝ VDD ⎠
t p = RC ln(0.5)
t phl = 0.69 RnC L Standard RC-delay
t plh = 0.69 R p C L equations from literature
1 1 B 4
A A 2
B
F C 4
2 CL
B D 2
F
2 A 2
D 1
A
B 2C 2
In3 C3
M3
Distributed RC-line
In2 M2 C2
CL CL
In3 M3 In1 M1
In2 M2 C2 C2
In2 M2
In1 M1 C1 C3
In3 M3
(a) (b)
Amirtharajah/Parkhurst, EEC 118 Spring 2010 19
Fast Complex Gates - Design Techniques (3)
• Improved Logic Design
CL CL
VDD VDD
In2
Out
In3
In4
GND
In1 In2 In3 In4
Vout
Cgd Cdb1
In1 1 Note that the value of Cload for calculating
Cgs1 Csb1 propagation delay depends on which capacitances
2
Cgd Cdb2 need to be discharged or charged when the critical
In2 2 signal arrives.
Cgs2 Csb2
3 Example: In1 = In3 = In4 = 1. In2 = 0. In2 switches from low
Cgd Cdb3 to high. Hence, Nodes 3 and 4 are already discharged to
In3 3
ground. In order for Vout to go from high to low… Vout
Cgs3 Csb3
4 node and node 2 must be discharged.
Cgd Cdb4 CL =
In4 4 Cgd5+Cgd7+Cgd8+2Cgd6(Miller)+Cdb5+Cdb6+Cdb7+Cd
Cgs4 Csb4 b8 +Cgd1+ Cdb1+ Cgs1+ Csb1+ 2Cgd2+ Cdb2+ Cw
– Pipelining