lecture outline ese 570: digital integrated circuits …ese570/spring2018/handouts/...vlsi...
Post on 08-Jul-2020
2 Views
Preview:
TRANSCRIPT
1
ESE 570: Digital Integrated Circuits and VLSI Fundamentals
Lec 8: February 6, 2018 MOS Inverter: Static Characteristics
Penn ESE 570 Spring 2018 – Khanna
Lecture Outline
! Voltage Transfer Characteristic (VTC) " Static Discipline Noise Margins
! Resistive Load Inverter Analysis ! Design Perspective
2 Penn ESE 570 Spring 2018 – Khanna
Voltage Transfer Characteristic (VTC)
Penn ESE 570 Spring 2018 – Khanna
Ideal Voltage Transfer Characteristic (VTC)
4
Vin Vout
0
Logic “0” = 0 V Logic “1” = VDD
VDD
Penn ESE 570 Spring 2018 – Khanna
Actual Voltage Transfer Characteristic (VTC)
! VOH – max output voltage when output is “1”
! VOL – min output voltage when output is “0”
! VIL – max input voltage which can be interpreted as “0”
! VIH – min input voltage which can be interpreted as “1”
Penn ESE 570 Spring 2018 – Khanna 5
VDD
0 VDD VOL VT0n
Actual Voltage Transfer Characteristic (VTC)
! VOH – max output voltage when output is “1”
! VOL – min output voltage when output is “0”
! VIL – max input voltage which can be interpreted as “0”
! VIH – min input voltage which can be interpreted as “1”
Penn ESE 570 Spring 2018 – Khanna 6
VDD
0 VDD VOL VT0n
f(VIL)≈VOH f(VIH)≈VOL
2
Noise Immunity and Noise Margins
7
VDD
NOTE: VIL ≥ VOL and VIH ≤ VOH
VOH ≤ VDD → max output voltage when the logic output is “1” VOL ≥ 0 → min output voltage when the logic output is “0” VIL → max input voltage that can be interpreted as a logic “0” VIH → min input voltage that can be interpreted as a logic “1”
Penn ESE 570 Spring 2018 – Khanna 8
Noise Immunity and Noise Margins
Penn ESE 570 Spring 2018 – Khanna
9
Slope of VTC or
inverter gain
Noise Immunity and Noise Margins
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter Analysis
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
11
VSB
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
12
VSB
IL =VDD −Vout
RL
Resistor:
Penn ESE 570 Spring 2018 – Khanna
3
Resistive Load Inverter
13
VSB
ID = ISWL
!
"#
$
%&e
Vin−VT 0,nnkT /q
!
"#
$
%&
1− e−VoutkT /q!
"#
$
%&!
"
##
$
%
&&
Vin =VGS <VT 0,nSubthreshold:
Resistor:
IL =VDD −Vout
RL
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
14
VSB
ID = ISWL
!
"#
$
%&e
Vin−VT 0,nnkT /q
!
"#
$
%&
1− e−VoutkT /q!
"#
$
%&!
"
##
$
%
&&
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Vin =VGS <VT 0,n
Vin =VGS ≥VT 0,n,Vout =VDS ≤Vin −VT 0,n
Subthreshold:
Linear:
Resistor:
IL =VDD −Vout
RL
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
15
VSB
ID = ISWL
!
"#
$
%&e
Vin−VT 0,nnkT /q
!
"#
$
%&
1− e−VoutkT /q!
"#
$
%&!
"
##
$
%
&&
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
ID =µn ⋅Cox
2WLVin −VT 0,n( )2
Vin =VGS <VT 0,n
Vin =VGS ≥VT 0,n,Vout =VDS ≤Vin −VT 0,n
Vin =VGS ≥VT 0,n,Vout =VDS >Vin −VT 0,n
Subthreshold:
Linear:
Saturation:
Resistor:
IL =VDD −Vout
RL
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
16
VSB
ID = ISWL
!
"#
$
%&e
Vin−VT 0,nnkT /q
!
"#
$
%&
1− e−VoutkT /q!
"#
$
%&!
"
##
$
%
&&
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
ID =µn ⋅Cox
2WLVin −VT 0,n( )2
Vin =VGS <VT 0,n
Vin =VGS ≥VT 0,n,Vout =VDS ≤Vin −VT 0,n
Vin =VGS ≥VT 0,n,Vout =VDS >Vin −VT 0,n
Subthreshold:
Linear:
Saturation:
Resistor:
IL =VDD −Vout
RL
ID = 0
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter
17
VSB
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VOH
18
VSB
Resistor/Load: Transistor: Subthreshold
Penn ESE 570 Spring 2018 – Khanna
IL =VDD −Vout
RLID = 0
4
Resistive Load Inverter: VOH
19
VSB
IL =VDD −Vout
RLID = 0
Resistor/Load: Transistor: Subthreshold
0 = VDD −VoutRL
⇒Vout =VDD =VOH
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VOL
20
VSB
Resistor/Load: Transistor: Linear
Penn ESE 570 Spring 2018 – Khanna
IL =VDD −Vout
RLID =
µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Resistive Load Inverter: VOL
21
VSB
IL =VDD −Vout
RL
Resistor/Load: Transistor: Linear
Vin =VDD,Vout =VOL
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
VDD −VOLRL
=µn ⋅Cox
2WL2 VDD −VT 0,n( )VOL −V 2
OL( )Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VOL (con’t)
22
IL =VDD −Vout
RL
Resistor/Load: Transistor: Linear
Vin =VDD,Vout =VOL
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
VDD −VOLRL
=µn ⋅Cox
2WL2 VDD −VT 0,n( )VOL −V 2
OL( )
kn = µn ⋅CoxWL
VDD −VOLRL
=kn22 VDD −VT 0,n( )VOL −V 2
OL( )
2kn⋅1RL
#
$%
&
'( VDD −VOL( ) = 2 VDD −VT 0,n( )VOL −V 2
OL
V 2OL − 2 VDD −VT 0,n +
1knRL
#
$%
&
'(VOL +
2VDDknRL
= 0
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VOL (con’t)
23
IL =VDD −Vout
RL
Resistor/Load: Transistor: Linear
Vin =VDD,Vout =VOL
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
V 2OL − 2 VDD −VT 0,n +
1knRL
"
#$
%
&'VOL +
2VDDknRL
= 0
VOL =2 VDD −VT 0,n +
1knRL
"
#$
%
&'± 2 VDD −VT 0,n +
1knRL
"
#$
%
&'
"
#$
%
&'
2
− 4 2VDDknRL
2
VOL = VDD −VT 0,n +1
knRL
"
#$
%
&'± VDD −VT 0,n +
1knRL
"
#$
%
&'
2
−2VDDknRL
kn = µn ⋅CoxWL
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VOL (con’t)
24
IL =VDD −Vout
RL
Resistor/Load: Transistor: Linear
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
V 2OL − 2 VDD −VT 0,n +
1knRL
"
#$
%
&'VOL +
2VDDknRL
= 0
VOL =2 VDD −VT 0,n +
1knRL
"
#$
%
&'± 2 VDD −VT 0,n +
1knRL
"
#$
%
&'
"
#$
%
&'
2
− 4 2VDDknRL
2
VOL = VDD −VT 0,n +1
knRL
"
#$
%
&'± VDD −VT 0,n +
1knRL
"
#$
%
&'
2
−2VDDknRL
0 <VOL <VT 0,n
Vin =VDD,Vout =VOL
kn = µn ⋅CoxWL
Penn ESE 570 Spring 2018 – Khanna
5
Resistive Load Inverter: VIL
25
VSB
Resistor/Load: Transistor: Saturation
Penn ESE 570 Spring 2018 – Khanna
IL =VDD −Vout
RL ID =µn ⋅Cox
2WLVin −VT 0,n( )2
Resistive Load Inverter: VIL
26
VSB
IL =VDD −Vout
RL
Resistor/Load: Transistor: Saturation
ID =µn ⋅Cox
2WLVin −VT 0,n( )2
VDD −VoutRL
=µn ⋅Cox
2WLVin −VT 0,n( )2
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VIL (con’t)
27
Differentiate W.R.T. Vin:
VDD −VoutRL
=µn ⋅Cox
2WLVin −VT 0,n( )2
−1RL
dVoutdVin
= µn ⋅CoxWLVin −VT 0,n( )
1RL
= µn ⋅CoxWLVIL −VT 0,n( )
VIL =1
knRL+VT 0,n
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VIL (con’t)
28
Differentiate W.R.T. Vin:
VDD −VoutRL
=µn ⋅Cox
2WLVin −VT 0,n( )2
−1RL
dVoutdVin
= µn ⋅CoxWLVin −VT 0,n( )
1RL
= µn ⋅CoxWLVIL −VT 0,n( )
VIL =1
knRL+VT 0,n
VDD −Vout Vin=VILRL
=kn2VIL −VT 0,n( )2
Vout Vin=VIL =VDD −knRL2
VIL −VT 0,n( )2
Vout Vin=VIL =VDD −1
2knRL
Vout @ Vin=VIL:
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VIH
29
VSB
Resistor/Load: Transistor: Linear
Penn ESE 570 Spring 2018 – Khanna
IL =VDD −Vout
RLID =
µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Resistive Load Inverter: VIH
30
VSB
IL =VDD −Vout
RL
Resistor/Load: Transistor: Linear
ID =µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
VDD −VoutRL
=µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Penn ESE 570 Spring 2018 – Khanna
6
Resistive Load Inverter: VIH
31
Differentiate W.R.T. Vin:
−1RL
dVoutdVin
=kn22 Vin −VT 0,n( ) dVout
dVin+ 2Vout − 2Vout
dVoutdVin
"
#$
%
&'
1RL
=kn2−2 VIH −VT 0,n( )+ 4Vout( )
1knRL
=VT 0,n −VIH + 2Vout
VIH =VT 0,n + 2Vout −1
knRL
VDD −VoutRL
=µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VIH
32
Differentiate W.R.T. Vin:
−1RL
dVoutdVin
=kn22 Vin −VT 0,n( ) dVout
dVin+ 2Vout − 2Vout
dVoutdVin
"
#$
%
&'
1RL
=kn2−2 VIH −VT 0,n( )+ 4Vout( )
1knRL
=VT 0,n −VIH + 2Vout
VIH =VT 0,n + 2Vout −1
knRL
VDD −VoutRL
=µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Penn ESE 570 Spring 2018 – Khanna
Resistive Load Inverter: VIH
33
VIH =VT 0,n + 2Vout −1
knRL
VDD −VoutRL
=µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
Substitute:
Penn ESE 570 Spring 2018 – Khanna
VDD −VoutRL
=kn22 VT 0,n + 2Vout −
1knRL
−VT 0,n"
#$
%
&'Vout −V
2out
"
#$$
%
&''
VDD −VoutRL
=kn24V 2
out −2
knRLVout −V
2out
"
#$
%
&'
VDDRL
=kn23V 2
out −2
knRLVout
"
#$
%
&'+VoutRL
VDDRL
=32knV
2out −
VoutRL
+VoutRL
VDDRL
=32knV
2out ⇒Vout Vin=VIH =
23VDDknRL
VIH =VT 0,n + 223VDDknRL
−1
knRL
Resistive Load Inverter: VIH
34
VIH =VT 0,n + 2Vout −1
knRL
VDD −VoutRL
=µn ⋅Cox
2WL2 Vin −VT 0,n( )Vout −V 2
out( )
VDD −VoutRL
=kn22 VT 0,n + 2Vout −
1knRL
−VT 0,n"
#$
%
&'Vout −V
2out
"
#$$
%
&''
VDD −VoutRL
=kn24V 2
out −2
knRLVout −V
2out
"
#$
%
&'
VDDRL
=kn23V 2
out −2
knRLVout
"
#$
%
&'+VoutRL
VDDRL
=32knV
2out −
VoutRL
+VoutRL
VDDRL
=32knV
2out ⇒Vout Vin=VIH =
23VDDknRL
VIH =VT 0,n + 223VDDknRL
−1
knRL
Substitute:
Penn ESE 570 Spring 2018 – Khanna
Inverter Threshold: Vth
35
Kenneth R. Laker,
University of Pennsylvania,
updated 12Feb15
Penn ESE 570 Spring 2018 – Khanna
Inverter Threshold: Vth
36
Kenneth R. Laker,
University of Pennsylvania,
updated 12Feb15
VDD −VoutRL
=µn ⋅Cox
2WLVin −VT 0,n( )2
VDD −VthRL
=kn2Vth −VT 0,n( )2
2kn
VDD −VthRL
=V 2th − 2VthVT 0,n +V
2T 0,n
0 =V 2th − 2 VT 0,n −
1knRL
#
$%
&
'(Vth +V
2T 0,n −
2VDDknRL
Vth =2 VT 0,n +
1knRL
#
$%
&
'(± 2 VT 0,n −
1knRL
#
$%
&
'(
#
$%
&
'(
2
− 4 V 2T 0,n −
2VDDknRL
#
$%
&
'(
2
Vth =VT 0,n +1
knRL± VT 0,n −
1knRL
#
$%
&
'(
2
− V 2T 0,n −
2VDDknRL
#
$%
&
'(
Penn ESE 570 Spring 2018 – Khanna
7
Summary: Resistive Load Inverter
37 VT0n
VDD
0 VDD Penn ESE 570 Spring 2018 – Khanna
Summary: Resistive Load Inverter
38 VT0n
VDD
0 VDD
Take Limit as knRL # ∞
-> VT0n
-> VT0n -> VDD
-> VT0n -> 0
-> 0
-> VDD VDD
Vout
VDD Vin VT0n
knRL # ∞
0
semi-ideal VTC
Penn ESE 570 Spring 2018 – Khanna
Example
39 Penn ESE 570 Spring 2018 – Khanna
Example
40
VOL = 0.147 V or 8.503 V ?
Penn ESE 570 Spring 2018 – Khanna
Example (con’t)
Penn ESE 570 Spring 2018 – Khanna
Example (con’t)
Penn ESE 570 Spring 2018 – Khanna
VOH = 5 V VOL = 0.147 V VIL = 0.925 V VIH = 1.97 V
8
Example (con’t)
Penn ESE 570 Spring 2018 – Khanna
VOH = 5 V VOL = 0.147 V VIL = 0.925 V VIH = 1.97 V
Preferred Design
Design Perspective
Penn ESE 570 Spring 2018 – Khanna
Noise Implications
! What is the output when all inputs are all 1s?
45 Penn ESE 570 Spring 2018 – Khanna
Noise Implications
! What is the output when all inputs are all 1.0 and NAND(A, B) = 1-A*B?
46 Penn ESE 570 Spring 2018 – Khanna
Noise Implications
! What is the output when all inputs are all 0.95 and NAND(A, B) = 1-A*B?
47 Penn ESE 570 Spring 2018 – Khanna
Degradation
! Cannot have signal degrade across cascaded gates ! Want to be able to cascade arbitrary set of gates
" No limit on number of gates to maintain signal integrity
48 Penn ESE 570 Spring 2018 – Khanna
9
Gate Creed
! Gates should leave the signal “better” than they found it " “better” # closer to the rails
49 Penn ESE 570 Spring 2018 – Khanna
Regeneration Discipline
! Define legal inputs " Gate works if Vin “close enough” to the rail
! Regeneration " Gate produces Vout “closer to rail”
" This tolerates some drop between one gate and next (between out and in)
" Call this our “Noise Margin”
Regeneration/Restoration/Static Discipline
50 Penn ESE 570 Spring 2018 – Khanna
Noise Margin
! VOH – output high ! VOL – output low
! VIH – input high ! VIL – input low
! NMH = VOH-VIH
! NML = VIL-VOL
“1”
“0”
VOH
VOL
VIL
VIHNMH
NML
Undefined region
Gate Output Stage M
Gate Input Stage M + 1
51 Penn ESE 570 Spring 2018 – Khanna
Regeneration Discipline (getting precise)
! Define legal inputs " Gate works if Vin “close
enough” to the rail " Vin > VIH or Vin < VIL
! Regeneration " Gate produces Vout “closer to
rail” " Vout < VOL or Vout > VOH
“1”
“0”
VOH
VOL
VIL
VIHNMH
NML
Undefined region
Gate Output Stage M
Gate Input Stage M + 1
52 Penn ESE 570 Spring 2018 – Khanna
Decomposing
! An input closer to rail than VIL, VIH doesn’t make much difference on Vout
" i.e transfer function is flat close to rails
! Defining VIL lower (VIH higher) would reduce NMs and increase our undefined region
-1
-1
VIL VIH
VOL
VOH
VIL
VIH
NML
NMH
δVoutδVin VIL
=δVoutδVin VIH
= −1
VOH ≈ f (VIL )VOL ≈ f (VIH ) 53 Penn ESE 570 Spring 2018 – Khanna
Transfer Function for Multiple Inputs
Vout = f (Vin1,Vin2 )
?
54 Penn ESE 570 Spring 2018 – Khanna
10
Controlling Input
! Consider a nor2 gate " If want A to control the output " What value should B be?
! We call B the non-controlling input since it does not determine the output
55 Penn ESE 570 Spring 2018 – Khanna
Controlling Input
! Consider a nor2 gate " If want A to control the output " What value should B be?
! We call B the non-controlling input since it does not determine the output
A B NOR
0 0 1
0 1 0
1 0 0
1 1 0 56 Penn ESE 570 Spring 2018 – Khanna
Controlling Input
! Consider a nor2 gate " If want A to control the output " What value should B be?
! We call B the non-controlling input since it does not determine the output
! What should the non-controlling input value be for a nand2 gate?
A B NOR
0 0 1
0 1 0
1 0 0
1 1 0
A B NAND
0 0 1
0 1 1
1 0 1
1 1 0 57 Penn ESE 570 Spring 2018 – Khanna
Controlling Input for Worst Case
! Consider a nor2/nand2 gate " If want A to control the output " What value should B be?
58 Penn ESE 570 Spring 2018 – Khanna
Big Idea
! Need robust logic " Can design into any (feed forward) graph with logic gates
and tolerate loss and noise, while maintaining digital abstraction
! Regeneration and noise margins " Every gate makes signal “better” " Design level of noise tolerance
59 Penn ESE 570 Spring 2018 – Khanna
-1
-1
VIL VIH
VOL
VOH
VIL
VIH
NML
NMH
Admin
! Quiz postponed to Tuesday " Calculator not allowed " Closed note
! HW 4 still due Thursday, 2/15
60 Penn ESE 570 Spring 2018 – Khanna
top related