Imel7002 L3
Imel7002 L3
IMEL7002
2 Lecture 3 2
Combinational vs. Sequential Logic
In Out
Combinational Combinational
In Logic Out Logic
Circuit Circuit
State
Combinational Sequential
IMEL7002
3 Lecture 3 3
Static CMOS Circuit
At every point in time (except during the switching
transients) each gate output is connected to either
VDD or Vss via a low-resistive path.
The outputs of the gates assume at all times the value
of the Boolean function, implemented by the circuit
(ignoring, once again, the transient effects during
switching periods).
This is in contrast to the dynamic circuit class, which
relies on temporary storage of signal values on the
capacitance of high impedance circuit nodes.
IMEL7002
4 Lecture 3 4
Static Complementary CMOS
VDD
In1
PMOS only
In2 PUN
InN
F(In1,In2,…InN)
In1
In2 PDN
NMOS only
InN
IMEL7002
5 Lecture 3 5
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
IMEL7002
6 Lecture 3 6
PMOS Transistors
in Series/Parallel Connection
PMOS switch closes when switch control input is low
A B
X Y Y = X if A AND B = A + B
X B Y = X if A OR B = AB
Y
S D
IMEL7002
8 Lecture 3 8
Complementary CMOS Logic Style
IMEL7002
9 Lecture 3 9
Example Gate: NAND
IMEL7002
10 Lecture 3 10
Example Gate: NOR
IMEL7002
11 Lecture 3 11
Complex CMOS Gate
B
A
C
D
OUT = D + A • (B + C)
A
D
B C
IMEL7002
12 Lecture 3 12
Constructing a Complex Gate
VDD VDD
C
SN1 F SN4 A
F
SN2 B
A A
D D SN3
B C B C D
IMEL7002
13 Lecture 3 13
Cell Design
• Standard Cells
– General purpose logic
– Can be synthesized
– Same height, varying width
• Datapath Cells
– For regular, structured designs (arithmetic)
– Includes some wiring in the cell
– Fixed height and width
IMEL7002
14 Lecture 3 14
Standard Cell Layout Methodology –
1980s
Routing
channel
VDD
signals
GND
IMEL7002
15 Lecture 3 15
Standard Cell Layout Methodology –
1990s
Mirrored Cell
No Routing VDD
channels
VDD
M2
M3
GND
IMEL7002
16 Lecture 3 16
Standard Cells
N Well
VDD Cell height 12 metal tracks
Metal track is approx. 3 + 3
Pitch =
repetitive distance between objects
Out
In
2
Rails ~10
GND
Cell boundary
IMEL7002
17 Lecture 3 17
Standard Cells
With minimal VDD With silicided VDD
diffusion diffusion
routing
VDD
M2
Out In Out
In
In Out
M1
GND GND
IMEL7002
18 Lecture 3 18
Standard Cells
VDD 2-input NAND gate
VDD
B
A B
Out
A
GND
IMEL7002
19 Lecture 3 19
Stick Diagrams
Contains no dimensions
Represents relative positions of transistors
VDD VDD
Inverter
NAND2
Out Out
In A B
GND GND
IMEL7002
20 Lecture 3 20
Stick Diagrams
Logic Graph X
A PUN
j C
B C
X i VDD
X = C • (A + B)
C
i B j A
A B
PDN
A GND
B
C
IMEL7002
21 Lecture 3 21
Two Versions of C • (A + B)
A C B A B C
VDD VDD
X X
GND GND
IMEL7002
22 Lecture 3 22
Consistent Euler Path
X
X i VDD
B j A
GND A B C
IMEL7002
23 Lecture 3 23
OAI22 Logic Graph
X PUN
A C
B D D C
X VDD
X = (A+B)•(C+D)
C D
B A
A B PDN
A GND
B
C
D
IMEL7002
24 Lecture 3 24
Example: x = ab+cd
x x
b c b c
x VDD x VD D
a d a d
GND GND
VD D
GND
a b c d
(c) stick diagram for ordering {a b c d}
IMEL7002
25 Lecture 3 25
Multi-Fingered Transistors
One finger Two fingers (folded)
IMEL7002
26 Lecture 3 26
Properties of Complementary CMOS Gates
Snapshot
IMEL7002
27 Lecture 3 27
CMOS Properties
• Full rail-to-rail swing; high noise margins
• Logic levels not dependent upon the relative
device sizes; ratioless
• Always a path to Vdd or Gnd in steady state; low
output impedance
• Extremely high input resistance; nearly zero
steady-state input current
• No direct path steady state between power and
ground; no static power dissipation
• Propagation delay function of load capacitance
and resistance of transistors
IMEL7002
28 Lecture 3 28
Switch Delay Model
A Req
A
Rp
Rp Rp
B
A B Rp
A Rp Cint
Rn CL A
B Rn CL
A Rn Rn CL
Rn
Cint
A B
A
NOR2
NAND2 INV
IMEL7002
29 Lecture 3 29
Input Pattern Effects on Delay
• Delay is dependent on the
Rp Rp pattern of inputs
A B • Low to high transition
– both inputs go low
Rn CL • delay is 0.69 Rp/2 CL
B – one input goes low
• delay is 0.69 Rp CL
Rn
Cint • High to low transition
A
– both inputs go high
• delay is 0.69 2Rn CL
IMEL7002
30 Lecture 3 30
Delay Dependence on Input Patterns
NMOS = 0.5m/0.25 m
PMOS = 0.75m/0.25 m
CL = 100 fF
3
Input Data Delay
2.5 A=B=10
Pattern (psec)
2 A=B=01 67
A=1 0, B=1
1.5 A=1, B=01 64
Voltage [V]
1
A=1, B=10 A= 01, B=1 61
0.5 A=B=10 45
0 A=1, B=10 80
0 100 200 300 400 A= 10, B=1 81
-0.5
time [ps]
31
IMEL7002 31 Lecture 3 31
Transistor Sizing
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
32
IMEL7002
32 32 Lecture 3 32
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
33
IMEL7002
33 33 Lecture 3 33
Fan-In Considerations
A B C D
A CL Distributed RC model
(Elmore delay)
B C3
tpHL = 0.69 Reqn(C1+2C2+3C3+4CL)
C C2
Propagation delay deteriorates rapidly as a
D C1 function of fan-in – quadratically in the worst
case.
34
IMEL7002
34 34 Lecture 3 34
tp as a Function of Fan-In
1250
quadratic
1000
Gates with a fan-in
750 greater than 4
should be avoided.
tp (psec)
tpHL tp
500
250 tpLH
linear
0
2 4 6 8 10 12 14 16
fan-in
35
IMEL7002 35 Lecture 3 35
tp as a Function of Fan-Out
tpINV
tp (psec)
Slope is a function
of “driving
strength”
2 4 6 8 10 12 14 16
36
IMEL7002 36 Lecture 3 36
tp as a Function of Fan-In and Fan-Out
37 37
IMEL7002
37 37 Lecture 3 37
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 01
In3 1 M3 CL In1 M3 CLcharged
39 39
IMEL7002
39 39 Lecture 3 39
Fast Complex Gates:
Design Technique 3
• Alternative logic structures
F = ABCDEFGH
40 40
IMEL7002
40 40 Lecture 3 40
Fast Complex Gates:
Design Technique 4
• Isolating fan-in from fan-out using buffer
insertion
CL CL
41 41
IMEL7002
41 41 Lecture 3 41
Fast Complex Gates:
Design Technique 5
• Reducing the voltage swing
tpHL = 0.69 (3/4 (CL VDD)/ IDSATn )
42 42
IMEL7002
42 42 Lecture 3 42
Sizing Logic Paths for Speed
• Frequently, input capacitance of a logic path is
constrained
• Logic also has to drive some capacitance
• Example: ALU load in an Intel’s microprocessor is
0.5pF
• How do we size the ALU datapath to achieve
maximum speed?
• We have already solved this for the inverter chain –
can we generalize it for any type of logic?
43 43
IMEL7002
43 43 Lecture 3 43
Buffer Example
In Out
CL
1 2 N
N
Delay pi g i f i (in units of tinv)
i 1
44 44
IMEL7002
44 44 Lecture 3 44
Logical Effort
CL
Delay k Runit Cunit 1
Cin
t p g f
p – intrinsic delay (3kRunitCunit) - gate parameter f(W)
g – logical effort (kRunitCunit) – gate parameter f(W)
f – effective fanout
45 45
IMEL7002
45 45 Lecture 3 45
Delay in a Logic Gate
Gate delay:
d=h+p
Effort delay:
h=gf
47 47
IMEL7002
47 47 Lecture 3 47
Logical Effort
Logical effort is the ratio of input capacitance of a gate to the input
capacitance of an inverter with the same output current
VDD VDD VDD
A 2 A 2 B 2 B 4
F
F
A 4
A 2
A 1 F
A 1 B 1
B 2
t pNAND
g= t pINV
Normalized delay (d)
p=
d=
g=
p=
d=
F(Fan-in)
1 2 3 4 5 6 7
Fan-out (h)
49 49
IMEL7002
49 49 Lecture 3 49
Logical Effort of Gates
t pNAND
g = 4/3 t pINV
Normalized delay (d)
p=2
d = (4/3)h+2
g=1
p=1
d = h+1
F(Fan-in)
1 2 3 4 5 6 7
Fan-out (h)
50 50
IMEL7002
50 50 Lecture 3 50
Logical Effort of Gates
2
=
p
3;
4/
5 1
=
p=
g
Normalized Delay
1;
D:
4
AN
g =
tN er :
rt
pu
3 ve
In
in
Effort
2-
Delay
2
1
Intrinsic
Delay
1 2 3 4 5
Fanout f
51 51
IMEL7002
51 51 Lecture 3 51
Add Branching Effort
Branching effort:
52 52
IMEL7002
52 52 Lecture 3 52
Multistage Networks
N
Delay pi g i f i
i 1
53 53
IMEL7002
53 53 Lecture 3 53
Optimum Effort per Stage
When each stage bears the same effort:
h H
N
hN H
Stage efforts: g1f1 = g2f2 = … = gNfN
D g i f i pi NH P
ˆ 1/ N
54 54
IMEL7002
54 54 Lecture 3 54
Optimal Number of Stages
For a given load,
and given input capacitance of the first gate
Find optimal number of stages and optimal sizing
D NH 1/ N
Npinv
D
N
H 1/ N ln H 1/ N H 1/ N pinv 0
1 / Nˆ
Substitute ‘best stage effort’ hH
55 55
IMEL7002
55 55 Lecture 3 55
Logical Effort
56 56
IMEL7002
56 56 Lecture 3 56
Example: Optimize Path
1 b c
a
5
g=1 g = 5/3 g = 5/3 g=1
f=a f = b/a f = c/b f = 5/c
Effective fanout, F =
G=
H=
h=
a=
b=
57 57
IMEL7002
57 57 Lecture 3 57
Example: Optimize Path
1 b c
a
5
g=1 g = 5/3 g = 5/3 g=1
f=a f = b/a f = c/b f = 5/c
Effective fanout, F = 5
G = 25/9
H = 125/9 = 13.9
h = 1.93
a = 1.93
b = ha/g2 = 2.23
c = hb/g3 = 5g4/f = 2.59
58 58
IMEL7002
58 58 Lecture 3 58
Example: Optimize Path
1 b c
a 5
g1 = 1 g2 = 5/3 g3 = 5/3 g4 = 1
Effective fanout, H = 5
G = 25/9
F = 125/9 = 13.9
f = 1.93
a = 1.93
b = fa/g2 = 2.23
c = fb/g3 = 5g4/f = 2.59
59 59
IMEL7002
59 59 Lecture 3 59
Assignment1 – 8-input AND
Big loading (50) and small loading scenario (1), which setup is better?
60 60
IMEL7002
60 60 Lecture 3 60
Method of Logical Effort
• Compute the path effort: F = GBH
• Find the best number of stages N ~ log4F
• Compute the stage effort f = F1/N
• Sketch the path with this number of stages
• Work either from either end, find sizes:
Cin = Cout*g/f
61 61
IMEL7002
61 61 Lecture 3 61
Summary
Sutherland,
Sproull
Harris
62 62
IMEL7002
62 62 Lecture 3 62
Ratioed Logic
Ratioed Logic
64 64
IMEL7002
64 64 Lecture 3 64
Ratioed Logic
VDD
• N transistors + Load
Resistive
• VOH = V DD
Load RL
• VOL = RPN
F RPN + RL
65 65
IMEL7002
65 65 Lecture 3 65
Active Loads
VDD VDD
Depletion PMOS
Load VT < 0 Load
VSS
F F
In1 In1
In2 PDN In2 PDN
In3 In3
VSS VSS
66 66
IMEL7002
66 66 Lecture 3 66
Pseudo-NMOS
VDD
F
CL
A B C D
V OL 2 kp
2
k V – V V – ------------- = ------ V – V
n DD Tn OL 2 2 DD Tp
kp
V = V –V 1– 1 – ------ (assuming that V = V = V )
OL DD T k T Tn Tp
n
67 67
IMEL7002
67 67 Lecture 3 67
Pseudo-NMOS VTC
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]
68 68
IMEL7002
68 68 Lecture 3 68
Improved Loads
VDD
M1 M1 >> M2
Enable M2
CL
A B C D
Adaptive Load
69 69
IMEL7002
69 69 Lecture 3 69
Improved Loads (2)
VDD VDD
M1 M2
Out Out
A
A PDN1 PDN2
B
B
VSS VSS
70 70
IMEL7002
70 70 Lecture 3 70
DCVSL Example
Out
Out
B B B B
A A
XOR-NXOR gate
71 71
IMEL7002
71 71 Lecture 3 71
DCVSL Transient Response
2.5
AB
V ol ta ge [V]
1.5
AB
A, B
0.5 A,B
72 72
IMEL7002
72 72 Lecture 3 72
Pass-Transistor
Logic
Pass-Transistor Logic
Switch Out A
Out
Inputs
Network B
B
• N transistors
• No static consumption
74 74
IMEL7002
74 74 Lecture 3 74
Example: AND Gate
B
A
B
F = AB
75 75
IMEL7002
75 75 Lecture 3 75
NMOS-Only Logic
3.0
In
In
1.5 m/0.25 m Out
2.0
Volta ge [V]
VD D x x
Out
0.5 m/0.25 m
0.5 m/0.25 m 1.0
0.0
0 0.5 1 1.5 2
Time [ns]
76 76
IMEL7002
76 76 Lecture 3 76
NMOS-only Switch
C = 2.5V C = 2.5 V
M2
A = 2.5 V A = 2.5 V B
Mn
B
CL M1
VDD
VDD
Level Restorer
Mr
B
M2
X
A Mn Out
M1
78 78
IMEL7002
78 78 Lecture 3 78
Restorer Sizing
3.0
•Upper limit on restorer size
•Pass-transistor pull-down
2.0 can have several transistors in
W/L r =1.75/0.25
V olta ge [V]
stack
W/L r =1.50/0.25
1.0
0.0
0 100 200 300 400 500
Time [ps]
79 79
IMEL7002
79 79 Lecture 3 79
Solution 2: Single Transistor Pass Gate with VT=0
VDD
VDD
0V 2.5V
VDD 0V Out
2.5V
80 80
IMEL7002
80 80 Lecture 3 80
Complementary Pass Transistor Logic
A
Pass-Transistor
A F
B Network
B
(a)
A Inverse
A Pass-Transistor F
B
B Network
B B B B B B
A A A
A A A
(b)
81 81
IMEL7002
81 81 Lecture 3 81
Solution 3: Transmission Gate
C
C
A B A B
C
C
C = 2.5 V
A = 2.5 V
B
CL
C=0V
82 82
IMEL7002
82 82 Lecture 3 82
Resistance of Transmission Gate
30
2.5 V
Rn Rn
20 Rp
Resistance, ohms
2.5 V Vou t
Rp
0V
10
Rn || Rp
0
0.0 1.0 2.0
Vou t , V
83 83
IMEL7002
83 83 Lecture 3 83
Pass-Transistor Based Multiplexer
S S
VDD
V DD
S
A
M2
S F
M1
B
GND
In1 S S In2
84 84
IMEL7002
84 84 Lecture 3 84
Transmission Gate XOR
B
M2
A
A
F
M1 M3/M4
B
85 85
IMEL7002
85 85 Lecture 3 85
Delay in Transmission Gate Networks
2.5 2.5 2.5 2.5
V1 Vi-1 Vi Vi+1 Vn-1 Vn
In
C C C C C
0 0 0 0
(a)
C C C C C
(b)
m
(c)
86 86
IMEL7002
86 86 Lecture 3 86
Delay Optimization
87 87
IMEL7002
87 87 Lecture 3 87
Transmission Gate Full Adder
P
VDD
VDD Ci
A
P S Sum Generation
A A P Ci
A P VDD
B B
VDD A
P
P Co Carry Generation
Ci Ci Ci
A
Setup P
88 88
IMEL7002
88 88 Lecture 3 88
Dynamic Logic
Dynamic CMOS
• In static circuits at every point in time (except when
switching) the output is connected to either GND or
VDD via a low resistance path.
– fan-in of n requires 2n (n N-type + n P-type) devices
90 90
IMEL7002
90 90 Lecture 3 90
Dynamic Gate
Clk Mp Clk Mp
Out Out
In1 CL
A
In2 PDN
C
In3
B
Clk Me
Clk Me
Two phase operation
Precharge (CLK = 0)
Evaluate (CLK = 1)
91 91
IMEL7002
91 91 Lecture 3 91
Dynamic Gate
off
Clk Mp Clk Mp on
1
Out Out
In1 CL ((AB)+C)
A
In2 PDN
C
In3
B
Clk Me
off
Clk Me on
Two phase operation
Precharge (Clk = 0)
Evaluate (Clk = 1)
92 92
IMEL7002
92 92 Lecture 3 92
Conditions on Output
• Once the output of a dynamic gate is discharged, it
cannot be charged again until the next precharge
operation.
• Inputs to the gate can make at most one transition
during evaluation.
93 93
IMEL7002
93 93 Lecture 3 93
Properties of Dynamic Gates
• Logic function is implemented by the PDN only
– number of transistors is N + 2 (versus 2N for static complementary CMOS)
• Full swing outputs (VOL = GND and VOH = VDD)
• Non-ratioed - sizing of the devices does not affect the
logic levels
• Faster switching speeds
– reduced load capacitance due to lower input capacitance (Cin)
– reduced load capacitance due to smaller output loading (Cout)
– no Isc, so all the current provided by PDN goes into discharging CL
94 94
IMEL7002
94 94 Lecture 3 94
Properties of Dynamic Gates
• Overall power dissipation usually higher than static
CMOS
– no static current path ever exists between VDD and GND
(including Psc)
– no glitching
– higher transition probabilities
– extra load on Clk
• PDN starts to work as soon as the input signals exceed
VTn, so VM, VIH and VIL equal to VTn
– low noise margin (NML)
• Needs a precharge/evaluate clock
95 95
IMEL7002
95 95 Lecture 3 95
Issues in Dynamic Design 1: Charge
Leakage
CLK
Clk Mp
Out
A CL
VOut Evaluate
Clk Me
Precharge
Leakage sources
96 96
IMEL7002
96 96 Lecture 3 96
Solution to Charge Leakage
Keeper
Clk Mp Mkp
A Out
CL
B
Clk Me
97 97
IMEL7002
97 97 Lecture 3 97
Issues in Dynamic Design 2: Charge
Sharing
Charge stored originally on CL is
redistributed (shared) over CL and CA
Clk Mp leading to reduced robustness
Out
A CL
B=0 CA
Clk Me CB
98 98
IMEL7002
98 98 Lecture 3 98
Charge Sharing Example
Clk
Out
A A CL=50fF
Ca=15fF B B B !B Cb=15fF
Cc=15fF C C Cd=10fF
Clk
99 99
IMEL7002
99 99 Lecture 3 99
Charge Sharing
VDD
case 1) if V out < VTn
Clk Mp
C V = C V t + C V V V
Out L DD L out a DD – Tn X
or
CL
A Ma Ca
V out = Vout t – V DD = – -------- V DD – V Tn V X
X C
L
Ca
B 0 Mb case 2) if V out > VTn
Ca
Cb Vout = –V DD ----------------------
Clk Me Ca + CL
100 100
IMEL7002
100 100 Lecture 3 100
Solution to Charge Redistribution
Clk Me
Precharge internal nodes using a clock-driven transistor (at the cost of increased
area and power)
101 101
IMEL7002
101 101 Lecture 3 101
Issues in Dynamic Design 3:
Backgate Coupling
Clk Mp Out1 =1
Out2 =0
A=0 In
CL1 CL2
B=0
Clk Me
102 102
IMEL7002
102 102 Lecture 3 102
Backgate Coupling Effect
3
Out1
-1
0 2 4 6
Clk
In Out2
Time, ns
103
IMEL7002 103 Lecture 3 103
Issues in Dynamic Design 4: Clock
Feedthrough
Coupling between Out and Clk input of
the precharge device due to the gate to
Clk Mp drain capacitance. So voltage of Out can
Out rise above VDD. The fast rising (and
A CL falling edges) of the clock couple to Out.
Clk Me
104 104
IMEL7002
104 104 Lecture 3 104
Clock Feedthrough
2.5
Clock feedthrough
Clk 1.5
Out 0.5
In1
-0.5
0 0.5 1
In2
In3 In &
Clk
In4 Out
Clk
Time, ns
Clock feedthrough
105 105
IMEL7002
105 105 Lecture 3 105
Other Effects
• Capacitive coupling
• Substrate coupling
• Minority charge injection
• Supply noise (ground bounce)
106 106
IMEL7002
106 106 Lecture 3 106
Cascading Dynamic Gates
V
V
Out2
107 107
IMEL7002
107 107 Lecture 3 107
Domino Logic
Clk Me Clk Me
108 108
IMEL7002
108 108 Lecture 3 108
Why Domino?
Clk
109 109
IMEL7002
109 109 Lecture 3 109
Properties of Domino Logic
110 110
IMEL7002
110 110 Lecture 3 110
Designing with Domino Logic
VDD VDD
VDD
Clk Mp Clk Mp
Mr
Out1
Out2
In1
In2 PDN In4 PDN
In3
Can be eliminated!
Clk Me Clk Me
Inputs = 0
during precharge
111 111
IMEL7002
111 111 Lecture 3 111
Footless Domino
VDD VDD VDD
112 112
IMEL7002
112 112 Lecture 3 112
Differential (Dual Rail) Domino
off on
Clk Mp Mkp Mkp Mp Clk
Out = AB Out = AB
1 0 1 0
A
!A !B
B
Clk Me
113 113
IMEL7002
113 113 Lecture 3 113
np-CMOS
Clk Mp Clk Me
11
Out1
10
In1 In4 PUN
In2 PDN In5
00
In3 01
Out2
(to PDN)
Clk Me Clk Mp
114 114
IMEL7002
114 114 Lecture 3 114
NORA Logic
Clk Mp Clk Me
11
Out1
10
In1 In4 PUN
In2 PDN In5
00
In3 01
Out2
(to PDN)
Clk Me Clk Mp
to other to other
PDN’s PUN’s
WARNING: Very sensitive to noise!
115 115
IMEL7002
115 115 Lecture 3 115