EEC 116 Lecture #5:
CMOS Logic
Rajeevan Amirtharajah Bevan Baas
University of California, Davis
Jeff Parkhurst
Intel Corporation
Announcements
• Quiz 1 today!
• Lab 2 reports due this week
• Lab 3 this week
• HW 2 due this Wednesday at 4 PM in box,
Kemper 2131
Amirtharajah, EEC 116 Fall 2011 2
Outline
• Review: CMOS Inverter Transient Characteristics
• Review: Inverter Power Consumption
• Combinational MOS Logic Circuits: Rabaey 6.1-
6.2 (Kang & Leblebici, 7.1-7.4)
• Combinational MOS Logic Transient Response
– AC Characteristics, Switch Model
Amirtharajah, EEC 116 Fall 2011 3
Review: CMOS Inverter VTC
P linear P cutoff
N cutoff N linear
P linear
N sat P sat
N sat
P sat
N linear
Amirtharajah, EEC 116 Fall 2011 4
Review: Logic Circuit Delay
• For CMOS (or almost all logic circuit families), only
one fundamental equation necessary to determine
delay:
dV
I =C
dt
ΔV
• Consider the discretized version: I =C
Δt
ΔV
• Rewrite to solve for delay: Δt = C
I
• Only three ways to make faster logic: C, ΔV, I
Amirtharajah, EEC 116 Fall 2011 5
Review: Inverter Delays
• High-to-low and low-to-high transitions (exact):
CL ⎡ 2VT 0,n ⎛ 4(VOH − VT 0,n ) ⎞⎤
t PHL = ⎢ + ln⎜⎜ − 1⎟⎟⎥
k n (VOH − VT 0,n ) ⎣VOH − VT 0,n ⎝ VOH + VOL ⎠⎦
CL ⎡ 2 VT 0, p ⎛ 4(VOH − VOL − VT 0, p ) ⎞⎤
t PLH = ⎢ + ln⎜ − 1⎟⎥
k p (VOH − VOL − VT 0, p ) ⎣⎢VOH − VOL − VT 0, p ⎜ V + V ⎟⎥
⎝ OH OL ⎠⎦
• Similar exact method to find rise and fall times
• Note: to balance rise and fall delays (assuming VOH =
VDD, VOL = 0V, and VT0,n=VT0,p) requires
kp ⎛W ⎞ ⎛W ⎞ μn
=1 ⎜ ⎟ ⎜ ⎟ = ≈ 2.5
kn ⎝ L ⎠p ⎝ L ⎠n μ p
Amirtharajah, EEC 116 Fall 2011 6
Review: 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 ⎞ ⎤
T /2
⎛ dVout ⎞ ⎛
T
Pavg = ⎢ ∫ Vout ⎜ − Cload ⎟dt + ∫ (VDD − Vout )⎜ Cload ⎟dt ⎥
T⎣0 ⎝ dt ⎠ T /2 ⎝ dt ⎠ ⎦
⎡ T /2 T ⎤
1 ⎢⎛ Vout ⎞
2
⎟ + ⎛⎜VDDVout Cload − CloadVout 2 ⎞⎟ ⎥
1
Pavg = ⎜ − Cload
T ⎢⎜⎝ 2 ⎟⎠ ⎝ 2 ⎠ T /2 ⎥
⎣ 0 ⎦
1
Pavg = CloadVDD = CloadVDD f
2 2
T
Amirtharajah, EEC 116 Fall 2011 7
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
Amirtharajah, EEC 116 Fall 2011 8
Dual Networks
• Dual networks: parallel Example: NAND gate
connection in PDN = series
connection in PUN, vice- parallel
versa
A F
• If CMOS gate implements
B
logic function F:
series
– PUN implements function F
– PDN implements function G
=F
Amirtharajah, EEC 116 Fall 2011 9
NAND Gate
• NAND function: F = A•B
• PUN function: F = A•B = A + B
– “Or” function (+) → parallel connection
– Inverted inputs A, B → PMOS transistors
• PDN function: G = F = A•B
– “And” function (•) → series connection
– Non-inverted inputs → NMOS transistors
Amirtharajah, EEC 116 Fall 2011 10
NOR Gate
• NOR gate operation: F = A+B
A
• PUN: F = A+B = A•B
B
• PDN: G = F = A+B A B
Amirtharajah, EEC 116 Fall 2011 11
Analysis of CMOS Gates
• Represent “on” transistors as resistors
1 1 W R
W R
1 W R
• Transistors in series → resistances in series
• Effective resistance = 2R
• Effective length = 2L
Amirtharajah, EEC 116 Fall 2011 12
Analysis of CMOS Gates (cont.)
• Represent “on” transistors as resistors
W W R R
W R
0 0
0
• Transistors in parallel → resistances in parallel
• Effective resistance = ½ R
• Effective width = 2W
Amirtharajah, EEC 116 Fall 2011 13
CMOS Gates: Equivalent Inverter
• Represent complex gate as inverter for delay
estimation
• Typically use worst-case delays
• Example: NAND gate
– Worst-case (slowest) pull-up: only 1 PMOS “on”
– Pull-down: both NMOS “on”
WP WP WP
WN ½ WN
WN
Amirtharajah, EEC 116 Fall 2011 14
Example: Complex Gate
Design CMOS gate for this truth table:
A B C F
0 0 0 1
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, EEC 116 Fall 2011 15
Example: Complex Gate
Design CMOS gate for this logic function:
F = A•(B+C) = A + B•C
1. Find NMOS pulldown network diagram:
G = F = A•(B+C)
B C
Not a unique solution: can exchange order of
series connection
Amirtharajah, EEC 116 Fall 2011 16
Example: Complex Gate
2. Find PMOS pullup network diagram: F = A+(B•C)
B
A
C
F
Not a unique solution: can exchange order of
series connection (B and C inputs)
Amirtharajah, EEC 116 Fall 2011 17
Example: Complex Gate
Completed gate: • What is worse-case pullup delay?
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
Amirtharajah, EEC 116 Fall 2011 18
CMOS Gate Design
• Designing a CMOS gate:
– Find pulldown NMOS network from logic function
or by inspection
– Find pullup PMOS network
• By inspection
• Using logic function
• Using dual network approach
– Size transistors using equivalent inverter
• Find worst-case pullup and pulldown paths
• Size to meet rise/fall or threshold requirements
Amirtharajah, EEC 116 Fall 2011 19
Analysis of CMOS gates
• Represent “on” transistors as resistors
1 1 W R
W R
1 W R
• Transistors in series → resistances in series
• Effective resistance = 2R
• Effective width = ½ W (equivalent to 2L)
• Typically use minimum length devices (L = Lmin)
Amirtharajah, EEC 116 Fall 2011 20
Analysis of CMOS Gates (cont.)
• Represent “on” transistors as resistors
W W R R
W R
0 0
0
• Transistors in parallel → resistances in parallel
• Effective resistance = ½ R
• Effective width = 2W
• Typically use minimum length devices (L = Lmin)
Amirtharajah, EEC 116 Fall 2011 21
Equivalent Inverter
• CMOS gates: many paths to Vdd and Gnd
– Multiple values for VM, VIL, VIH, etc
– Different delays for each input combination
• Equivalent inverter
– Represent each gate as an inverter with
appropriate device width
– Include only transistors which are on or switching
– Calculate VM, delays, etc using inverter equations
Amirtharajah, EEC 116 Fall 2011 22
Static CMOS Logic Characteristics
• For VM, the VM of the equivalent inverter is used
(assumes all inputs are tied together)
– For specific input patterns, VM will be different
• For VIL and VIH, only the worst case is interesting
since circuits must be designed for worst-case
noise margin
• For delays, both the maximum and minimum
must be accounted for in race analysis
Amirtharajah, EEC 116 Fall 2011 23
Equivalent Inverter: VM
• Example: NAND gate threshold VM
Three possibilities:
– A & B switch together
– A switches alone
– B switches alone
• What is equivalent inverter for each case?
Amirtharajah, EEC 116 Fall 2011 24
Equivalent Inverter: Delay
• Represent complex gate as inverter for delay
estimation
• Use worse-case delays
• Example: NAND gate
– Worse-case (slowest) pull-up: only 1 PMOS “on”
– Pull-down: both NMOS “on”
WP WP WP
WN ½ WN
WN
Amirtharajah, EEC 116 Fall 2011 25
Example: NOR gate
• Find threshold voltage VM when
both inputs switch
simultaneously
• Two methods:
A WP
– Transistor equations (complex)
B WP
F – Equivalent inverter
A WN – Should get same answer
B
WN
Amirtharajah, EEC 116 Fall 2011 26
Example: Complex Gate
Completed gate: • What is worse-case pullup delay?
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
Amirtharajah, EEC 116 Fall 2011 27
Transistor Sizing
• Sizing for switching threshold
– All inputs switch together
• Sizing for delay
– Find worst-case input combination
• Find equivalent inverter, use inverter analysis to
set device sizes
Amirtharajah, EEC 116 Fall 2011 28
Common CMOS Gate Topologies
• 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
Amirtharajah, EEC 116 Fall 2011 29
Stick Diagrams
• Dimensionless layout sketches
• Only topology is important
• Two primary uses
– Useful intermediate step
• Transistor schematic is the first step
• Layout is the last step
– Final layout generated automatically by “compaction”
program
• Not widely used; a topic of research
• Use colored pencils or pens whose
colors match Cadence layer colors
Amirtharajah, EEC 116 Fall 2011 30
Inverter Stick Diagram
• Diagram here uses magic
standard color scheme
• Label all nodes Vdd
• Transistor widths (W) often W=9λ
shown—with varying units
– Often in λ in this class in out
– Also nm or µm
W=6λ
– Sometimes as a unit-less
ratio—this stick diagram could
also say the PMOS is 1.5x Gnd
wider than the NMOS (saying
“1” and “1.5” instead of “6λ” and
“9λ”
Amirtharajah, EEC 116 Fall 2011 31
Stick Diagrams
• Can also draw contacts
with an “X”
• Do not confuse this “X” Vdd
with the chip I/O and power
pads on the edge of chip W=9λ
(shown with a box with an
“X”) or any other markers in out
W=6λ
chip
core
Gnd
Amirtharajah, EEC 116 Fall 2011 32
Layout for the Inverter in the Stick Diagram
Source: Omar Sattari
Amirtharajah, EEC 116 Fall 2011 33
Graph-Based Dual Network
• Use graph theory to help design gates
– Mostly implemented in CAD tools
• Draw network for PUN or PDN
– Circuit nodes are vertices
– Transistors are edges
F
F
A B
A B
gnd
Amirtharajah, EEC 116 Fall 2011 34
Graph-Based Dual Network (2)
• To derive dual network:
– Create new node in each enclosed region of graph
– Draw new edge intersecting each original edge
– Edge is controlled by inverted input
F
A n1 B A
vdd F n1
A B B
F
gnd
– Convert to layout using consistent Euler paths
Amirtharajah, EEC 116 Fall 2011 35
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
(a) Inverter (b) 2-input NAND (c) 2-input NOR
tp = 0.69 Ron CL
(assuming that CL dominates!)
Amirtharajah, EEC 116 Fall 2011 36
Switch Level Model
• Model transistors as switches with
series resistance
• Resistance Ron = average resistance
for a transition RP
A
• Capacitance CL = average load
capacitance for a transition (same as
we analyzed for transient inverter RN CL
delays) A
Amirtharajah, EEC 116 Fall 2011 37
What is the Value of Ron?
Amirtharajah, EEC 116 Fall 2011 38
Switch Level Model Delays
Delay estimation using switch-level
model (for general RC circuit):
dV C
I =C → dt = dV
RN CL dt I
V RC
I= → dt = dV
R V
V1
RC
t1 − t0 = t p = ∫ dV
V0
V
⎛ V1 ⎞
t p = RC [ln(V1 ) − ln(V0 )] = RC ln⎜⎜ ⎟⎟
⎝ V0 ⎠
Amirtharajah, EEC 116 Fall 2011 39
Switch Level Model RC Delays
• For fall delay tphl, V0=VDD, V1=VDD/2
⎛ 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
Amirtharajah, EEC 116 Fall 2011 40
Numerical Examples
• Example resistances for 1.2 μm CMOS
Amirtharajah, EEC 116 Fall 2011 41
Analysis of Propagation Delay
VDD 1. Assume Rn =Rp = resistance of minimum
Rp Rp sized NMOS inverter
A B 2. Determine “Worst Case Input” transition
F (Delay depends on input values)
Rn
CL 3. Example: tpLH for 2input NAND
B - Worst case when only ONE PMOS Pulls
up the output node
Rn
- For 2 PMOS devices in parallel, the
A
resistance is lower
tpLH = 0.69Rp CL
2-input NAND 4. Example: tpHL for 2input NAND
- Worst case : TWO NMOS in series
tpHL = 0.69(2Rn)CL
Amirtharajah, EEC 116 Fall 2011 42
Design for Worst Case
V DD
VDD
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
NAND Gate Complex Gate
Here it is assumed that Rp = Rn
Amirtharajah, EEC 116 Fall 2011 43
Fan-In and Fan-Out
V
DD Fan-Out
Number of logic gates
A B C D connected to output
(2 FET gate capacitances
per fan-out)
A
Fan-In
B Number of logical inputs
Quadratic delay term due to:
C 1. Resistance increasing
2. Capacitance increasing
D
for tpHL (series NMOS)
tp proportional to a1FI + a2FI2 + a3FO
Amirtharajah, EEC 116 Fall 2011 44
Fast Complex Gates - Design Techniques
• Increase Transistor Sizing:
Works as long as Fan-out capacitance
dominates self capacitance (S/D cap increases
with increased width)
• Progressive Sizing:
Out
InN MN CL
M 1 > M 2 > M 3 > MN
In3 C3
M3
Distributed RC-line
In2 M2 C2
Can Reduce Delay by more
In1 M1 C1 than 30%!
Amirtharajah, EEC 116 Fall 2011 45
Fast Complex Gates - Design Techniques (2)
• Transistor Ordering
Place last arriving input closest to output node
critical path critical path
CL CL
In3 M3 In1 M1
In2 M2 C2 C2
In2 M2
In1 M1 C1 C3
In3 M3
(a) (b)
Amirtharajah, EEC 116 Fall 2011 46
Fast Complex Gates - Design Techniques (3)
• Improved Logic Design
Note Fan-Out capacitance is the same, but Fan-In
resistance lower for input gates (fewer series FETs)
Amirtharajah, EEC 116 Fall 2011 47
Fast Complex Gates - Design Techniques (4)
• Buffering: Isolate Fan-in from Fan-out
CL CL
Keeps high fan-in resistance isolated from large
capacitive load CL
Amirtharajah, EEC 116 Fall 2011 48
4 Input NAND Gate
VDD VDD
In1 In2 In3 In4
Out
In1
In2
Out
In3
In4
GND
In1 In2 In3 In4
Amirtharajah, EEC 116 Fall 2011 49
Capacitances in a 4 input NAND Gate
VDD
Cgs5 Cgs6 Csb6 Cgs7
Csb5 Csb7 Cgs8 Csb8
In1 In2 In3 In4
Cgd5 Cgd6 Cdb6 Cgd7
Cdb5 Cdb Cgd8
7 Cdb8
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
Amirtharajah, EEC 116 Fall 2011 50
Next Topic: Arithmetic
• Computing arithmetic functions with CMOS logic
– Half adder and full adder circuits
– Circuit architectures for addition
– Array multipliers
Amirtharajah, EEC 116 Fall 2011 51