Week 11-12-13 (CMOS) Page 85-112 (MFRDT)
Week 11-12-13 (CMOS) Page 85-112 (MFRDT)
Week 11-12-13 (CMOS) Page 85-112 (MFRDT)
Logic Circuits
1
EE141
Combinational vs. Sequential Logic
Combinational Sequential
3
EE141
CMOS Circuit Styles
Static complementary CMOS - except during switching,
output connected to either VDD or GND via a low-
resistance path
λ high noise margins
- full rail to rail swing
- VOH and VOL are at VDD and GND, respectively
λ low output impedance, high input impedance
λ no steady state path between VDD and GND (no static power
consumption)
λ delay a function of load capacitance and transistor resistance
λ comparable rise and fall times (under the appropriate transistor
sizing conditions)
VDD VDD
PUN
VDD
0→ 0→
CL CL
CL CL
VDD
Threshold Drops
VDD VDD
PUN
S D
VDD
S D
NMOS Transistors
in Series/Parallel Connection
Transistors can be thought as a switch controlled by its gate signal
NMOS switch closes when switch control input is high
A B
X Y Y = X if A and B
X B Y = X if A OR B
Y
A B
X Y Y = X if A AND B = A + B
X B Y = X if A OR B = AB
Y
A•B
A
A+B
A B
Dual PUN and PDN
PUN and PDN are dual networks
λ DeMorgan’s theorems
A+B=A•B
A•B=A+B
VDD
A B F
0 0 1
A B
0 1 1
1 0 1
A•B
1 1 0
A
A
B
CMOS NOR
VDD
A B F
B
0 0 1
A 0 1 0
1 0 0
A+B
1 1 0
A B
A
B
Complex CMOS Gate
F=D+A•(B+C)
A
D
B C
Complex CMOS Gate
VDD
B
A
C
SN4
D
SN1
OUT=D+A•(B+C)
A
D SN2
B C SN3
VTC is Data-Dependent
VDD 0.5µ/0.25µ NMOS
3
0.75µ /0.25µ PMOS
A M3 B M4
2 A,B: 0 -> 1
B=1, A:0 -> 1
F= A • B A=1, B:0->1
D weaker
A M2 1 PUN
S
VGS2 = VA –VDS1 D
Cint
B M1
S 0
VGS1 = VB
0 1 2
Rp
Rp Rp
B
A B Rp
A Rp Cint
Rn CL A
A Rn CL
A Rn Rn CL
Rn
Cint
A B
B
NOR2
NAND2 INV
28
EE141
Input Pattern Effects on Delay
Delay is dependent on
Rp Rp the pattern of inputs
A B Low to high transition
both inputs go low
Rn CL – delay is 0.69 (Rp/2) CL
A one input goes low
– delay is 0.69 Rp CL
Rn
Cint High to low transition
B
both inputs go high
– delay is 0.69 2Rn CL
29
EE141
Adding devices in series slows down the circuit, and devices
must be made wider to avoid performance penalty.
When sizing the transistors in a gate with multiple inputs,
we should pick the combination of inputs that triggers the
worst case conditions.
For the NAND gate to have the same pull-down delay (tphl)
with an inverter, the NMOS devices in the PDN stack must
be made twice as wide (2.5 times, if velocity saturation is
effective). PMOS devices can remain unchanged.
(Extra capacitance introduced by widening is ignored here,
which is not a good assumption)
Delay Dependence on Input Patterns
NAND Gate
3
Input Data Delay
2.5 A=B=1→0
Pattern (psec)
2 A=B=0→1 69
A=1 →0, B=1
A=1, B=0→1 62
Voltage [V]
1.5
0.5 A=B=1→0 35
0 A=1, B=1→0 76
0 100 200 300 400
-0.5 A= 1→0, B=1 57
Rp Rp Rp
2 A B 2 4 B
Rn Rp Cint
CL 4
2 A
B
Rn Rn Rn CL
2 Cint
1
A A B 1
31
EE141
Transistor Sizing a Complex
CMOS Gate
B 8 6
A 4 3
C 8 6
D 4 6
OUT = D + A • (B + C)
A 2
D 1
B 2C 2
32
EE141
Fan-In Considerations
A B C D
Distributed RC model
A CL (Elmore delay), assuming all
NMOS devices of equal size
B C3
C tpHL = 0.69 Reqn(C1+2C2+3C3+4CL)
C2
D C1 Propagation delay deteriorates
rapidly as a function of fan-in –
quadratically in the worst case.
Gates with a
750
fan-in
tp (psec)
fan-in
34
EE141
tp as a Function of Fan-Out
All gates
tpNOR2 tpNAND2 have the
same drive
tpINV current.
tp (psec)
Slope is a
function of
“driving
strength”
2 4 6 8 10 12 14 16
eff. fan-out
35
EE141
tp as a Function of Fan-In and Fan-Out
36
EE141
Fast Complex Gates:
Design Technique 1
Transistor sizing
as long as fan-out capacitance dominates
Progressive sizing
Distributed RC line
InN MN CL
M1 > M2 > M3 > … > MN
(the fet closest to the
In3 M3 C3 output is the smallest)
charged 0→1
In3 1 M3 CL In1 M3 CLcharged
39
EE141
Fast Complex Gates:
Design Technique 4
Isolating fan-in from fan-out using buffer
insertion
CL CL
40
EE141
Logical Effort
tp = tp0 (1 + Cext/ γCg) = tp0 (1 + f/γ)
tp =tp0 (p + gf/γ)
p – ratio of the intrinsic (unloaded delays of the complex gate
and the simple inverter
g – logical effort – how much more input capacitance a gate
presents to deliver the same output current as an inverter
(how much worse it is at producing output current than an
inverter)
f – effective fanout (Cext/Cg) (electrical effort)
46
EE141
Delay in a Logic Gate
Gate delay:
d=h+p
effort delay intrinsic delay
Effort delay (gate effort):
h=gf
Gate Type p
Inverter 1
n-input NAND n
n-input NOR n
n-way mux 2n
XOR, XNOR n 2n-1
55
EE141
Logical Effort of Gates
1 2 3 4 5 6 7
Fan-out (f)
49
EE141
Delay as a Function of Fan-Out
2 • The slope of the line is
= the logical effort of the
, p
7 4/3 gate (d = p + fg)
g=
2 : • The y-axis intercept is
6
N D p =1
, the intrinsic delay
normalized delay
A 1
5 N : g=
INV
4 • Can adjust the delay by
adjusting the effective
3
effort delay fan-out (by sizing) or by
2
choosing a gate with a
1
intrinsic delay different logical effort
0 • Gate effort: h = fg
0 1 2 3 4 5
fan-out f
Multistage Networks
N N
⎛ fjgj ⎞
Total delay of a path: t p = ∑ t p, j = t p0 ∑ ⎜ p j + ⎟
j =1 j =1 ⎝ γ ⎠
52
EE141
Branching effort of a logical gate on a path:
Con − path + Coff − path
b=
Con − path
N
Path branching effort: B = ∏ bi
1
fi ∏ fi
N
F =∏ =
1 bi B
51
EE141
Finally the total path effort H can be defined:
N N
H = ∏ hi =∏ gi fi = GFB
1 1
From here on, the analysis can be carried out as in the case
of inverter chain. The gate effort that minimizes the path
delay is:
h= H N
⎛ N
D = t p0 ⎜ ∑ p j +
(
N NH ⎞
⎟
)
⎜ j =1 γ ⎟
⎝ ⎠
We assume that a unit-size gate has a driving capability equal
to a minimum-size inverter. This means that its input
capacitance is g times larger than that of the reference inverter
(Cref). With s1 the sizing factor of the first gate in the chain, the
input capacitance of the chain can be written as:
Cg1 = g1s1Cref
Including the branching effort, the input capacitance of gate 2
will be f1/b1 times larger:
⎛ f1 ⎞
g 2 s2Cref = ⎜ ⎟ g1s1Cref For gate i in the chain:
⎝ b1 ⎠
⎛ g1s1 ⎞ i −1 ⎛ f j ⎞
si = ⎜ ⎟ ∏ ⎜⎜ ⎟⎟
⎝ gi ⎠ j =1 ⎝ b j ⎠
Example: Optimize Path
1 b c
a
5
g=1 g = 5/3 g = 5/3 g=1
Effective fanout, F = 5
G = 1x(5/3)x(5/3)x1 = 25/9
H = GFB (no branching)=125/9 = 13.9
h = 4 H = 1.93
since f1g1=f2g2=f3g3=f4g4 = h:
f1=1.93, f2=1.93x(3/5)=1.16, f3=1.16, f4=1.93
a = s2 = f1g1/g2 = 1.16
b = s3 = f1f2g1/g3 = 1.34
c = s4 = f1f2f3g1/g4 = 2.60
57
EE141
Path Logical Effort Variation With Restructuring
(8 – input AND)
59
EE141
Dynamic Power Consumption is Data Dependent
Switching activity, P0→1, has two components
λ A static component – function of the logic topology
λ A dynamic component – function of the timing behavior (glitching)
Pdyn = C LV D2D f 0 → 1 = C LV D2D P0 → 1 f = C E F F V D2D f
N 0 N1 N0 ( 2N − N0 )
P0→1 = N N = 2N
2 2 2
NOR Gate Transition Probabilities
Switching activity is a strong function of the input signal
statistics
λ PA and PB are the probabilities that inputs A and B are one
0
A B
CL PA
1 0 1
PB
P1 = (1-PA)(1-PB)
P0→1 = P0 x P1 = (1-(1-PA)(1-PB)) (1-PA)(1-PB)
Transition Probabilities for Some Basic Gates
A C
B Z
Reconvergent fan-out
0 0
0 F1 1 0 F1 1
0 F2 2
F3
0 F3 0
0 F2 1
PX = PX =
(1-0.5x0.2)x(0.5x0.2)=0.09 (1-0.2x0.1)x(0.2x0.1)=0.0196
0.5 0.2
A B X
X
B C
F 0.1 A F
0.2 C
0.1 0.5
63
EE141
Ratioed Logic
VDD
• N transistors + Load
Resistive
Load • VOH = V DD
RL
• VOL = RPN
VDD
F RPN + RL
64
EE141
Pseudo-NMOS
Pseudo-NMOS NOR Gate
⎛ V 2 DSATp ⎞
Pstatic = VDD I low ≈ VDD k p ⎜ ( −VDD − VTp ) VDSATp − ⎟⎟
⎜ 2
⎝ ⎠
W/Lp VoL P (µW) tplh(ps)
Pseudo-NMOS VTC
4 0.69 564 14
2 0.27 298 56
1 0.13 160 123
INVERTER
0.5 0.06 80 268
0.25 0.03 41 569
3.0
2.5
2.0 W/Lp = 4
1.5
Vout [V]
W/Lp = 2
1.0
W/Lp = 0.25
0.0
0.0 0.5 1.0 1.5 2.0 2.5
Vin [V]
67
EE141
Improved Loads (2)
VDD VDD
ON OFF
M1 M2
OFF ON
Out 1
0
Out
0 1
A
OFF A ON
B PDN1 PDN2
ON B OFF
VSS VSS
69
EE141
DCVSL Example
VDD
Out
Out
B B B B
A A
Out = AB+A’B’
Out’ = AB’+A’B
XOR-NXOR gate
70
EE141
NMOS Transistors in Series/Parallel
A B
X = Y if A and B
X Y
A
B X = Y if A or B
X Y
B X = Y if A or B = A • B
X Y
Switch Out A
Out
Inputs
Network B
B
• N transistors
• No static consumption
73
EE141
Example: AND Gate
B
B
A A
F=A•B B
B
0 F=A•B
0
In = VDD
Vx = M2
VGS
A = VDD VDD-VTn
D S
B M1
3
In
In = 0 → VDD
1.5/0.25 2
x = 1.8V
Voltage, V
x
S
D
VDD Out
0.5/0.25
1
B 0.5/0.25
Out
0
0 0.5 1 1.5 2
Time, ns
A
A Inverse PT F
B Network F
B
B B B B B B
A A A
A A A
F=AB F=A+B F=A⊕B
B B A
AND/NAND OR/NOR XOR/XNOR
4-input AND/NAND gate in CPL
1
4 3 12 11 7 8
2
9
3
2 6 4 10
5
1 10 9 5 11
6 12
7
8
LEVEL RESTORATION
When A goes high, all nodes are either 0 or VDD. To pull node
X down, Mn need to be stronger than Mr. That requires careful
transistor sizing (if Rr is too small with respect to Rn, it is
impossible to bring Vx below the switching treshold of the
inverter).
Transmission Gates (TGs)
Most widely used
C C
solution for level
restoration A B
A B C
C = GND C = GND
A = VDD B A = GND B
C = VDD C = VDD
= (AS + BS′)′
Trannsmission gate XOR
F = A′B + AB′
CPL Properties