Lecture Outline VLSI Fundamentals

15
1 ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 9: February 14, 2019 MOS Inverter: Static Performance Penn ESE 570 Spring 2019 – Khanna Lecture Outline ! Regeneration ! Saturated nMOS Load Inverter ! CMOS Inverter ! Symmetric CMOS Inverter Design ! Inverter Performance (time permitting) " Power 3 Penn ESE 570 Spring 2019 – Khanna Regeneration Discipline ! Define legal inputs " Gate works if V in “close enough” to the rail ! Regeneration " Gate produces V out “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 4 Penn ESE 570 Spring 2019 – Khanna Noise Margin ! V OH – output high ! V OL – output low ! V IH – input high ! V IL – input low ! NM H = V OH -V IH ! NM L = V IL -V OL “1” “0” V OH V OL V IL V IH NM H NM L Undefined region Gate Output Stage M Gate Input Stage M + 1 5 Penn ESE 570 Spring 2019 – Khanna Regeneration Discipline (getting precise) ! Define legal inputs " Gate works if V in “close enough” to the rail " V in > V IH or V in < V IL ! Regeneration " Gate produces V out “closer to rail” " V out < V OL or V out > V OH “1” “0” V OH V OL V IL V IH NM H NM L Undefined region Gate Output Stage M Gate Input Stage M + 1 6 Penn ESE 570 Spring 2019 – Khanna Decomposing ! An input closer to respective rail than V IL / V IH doesn’t make much difference on V out " i.e transfer function is flat close to rails ! Defining V IL lower (V IH higher) would reduce NMs and increase our undefined region -1 -1 V IL V IH V OL V OH V IL V IH NM L NM H δV out δV in V IL = δV out δV in V IH = 1 V OH f ( V IL ) V OL f ( V IH ) 7 Penn ESE 570 Spring 2019 – Khanna

Transcript of Lecture Outline VLSI Fundamentals

Page 1: Lecture Outline VLSI Fundamentals

1

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Lec 9: February 14, 2019 MOS Inverter: Static Performance

Penn ESE 570 Spring 2019 – Khanna

Lecture Outline

!  Regeneration !  Saturated nMOS Load Inverter !  CMOS Inverter !  Symmetric CMOS Inverter Design !  Inverter Performance (time permitting)

"  Power

3 Penn ESE 570 Spring 2019 – 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

4 Penn ESE 570 Spring 2019 – 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

5 Penn ESE 570 Spring 2019 – 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

6 Penn ESE 570 Spring 2019 – Khanna

Decomposing

!  An input closer to respective 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 ) 7 Penn ESE 570 Spring 2019 – Khanna

Page 2: Lecture Outline VLSI Fundamentals

2

Noise Implications

!  What is the output when all inputs are all 0.95 and NAND(A, B) = 1-A*B?

8 Penn ESE 570 Spring 2019 – Khanna

1 2 3 4 5 6

Transfer Function for Multiple Inputs

Vout = f (Vin1,Vin2 )

?

9 Penn ESE 570 Spring 2019 – Khanna

Controlling Input

!  Consider a nor2 gate "  If want B to control the output "  What value should A be?

!  We call A the non-controlling input since it does not determine the output

10 Penn ESE 570 Spring 2019 – Khanna

Controlling Input

!  Consider a nor2 gate "  If want B to control the output "  What value should A be?

!  We call A 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 11 Penn ESE 570 Spring 2019 – Khanna

Controlling Input

!  Consider a nor2 gate "  If want B to control the output "  What value should A be?

!  We call A 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 12 Penn ESE 570 Spring 2019 – Khanna

Review: Resistive Load Inverter

13

VSB

Penn ESE 570 Spring 2019 – Khanna

Page 3: Lecture Outline VLSI Fundamentals

3

Review: Summary: Resistive Load Inverter

14 VT0n

VDD

0 VDD Penn ESE 570 Spring 2019 – Khanna

Saturated nMOS-Load Inverter

15

VSB,d VSB,L

VSB,L ≠ 0

Load: IL =

µn ⋅Cox

2WLVDD −Vout −VT 0,n( )2

Penn ESE 570 Spring 2019 – Khanna

Saturated nMOS-Load Inverter

16

VSB,L ≠ 0

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:

Load: IL =

µn ⋅Cox

2WLVDD −Vout −VT 0,n( )2

Penn ESE 570 Spring 2019 – Khanna

VSB,d VSB,L

Saturated nMOS-Load Inverter

17

VSB,L ≠ 0

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:

Load: IL =

µn ⋅Cox

2WLVDD −Vout −VT 0,n( )2

ID = 0

Penn ESE 570 Spring 2019 – Khanna

VSB,d VSB,L

Saturated nMOS-Load Inverter

18

VSB,L ≠ 0

Penn ESE 570 Spring 2019 – Khanna

VSB,d VSB,L

Saturated nMOS-Load Inverter

19

VSB,L ≠ 0

µn ⋅Cox

2WL

"

#$

%

&'L

VDD −Vout −VT 0,n( )2 = 0

µn ⋅Cox

2WL

"

#$

%

&'L

VDD −Vout −VT 0,n( )2 = µn ⋅Cox

2WL

"

#$

%

&'D

2 Vin −VT 0,n( )Vout −V 2out( )

µn ⋅Cox

2WL

"

#$

%

&'L

VDD −Vout −VT 0,n( )2 = µn ⋅Cox

2WL

"

#$

%

&'D

Vin −VT 0,n( )2

Penn ESE 570 Spring 2019 – Khanna

VSB,d VSB,L

Page 4: Lecture Outline VLSI Fundamentals

4

CMOS Inverter

20

IDn = IDp

VGSn = Vin

VDSn = Vout

VGSp = Vin - VDD

VDSp = Vout - VDD

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter

21

IDn = IDp

VGSn = Vin

VDSn = Vout

VGSp = Vin - VDD

VDSp = Vout - VDD

Subthreshold: Linear: Saturation:

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter

22

IDn = IDp

VGSn = Vin

VDSn = Vout

VGSp = Vin - VDD

VDSp = Vout - VDD

Subthreshold: Linear: Saturation:

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter

23

IDn = IDp

VGSn = Vin

VDSn = Vout

VGSp = Vin - VDD

VDSp = Vout - VDD

Subthreshold: Linear: Saturation:

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Visual VTC

24

V DD

-1

-1

V ILV IH

Vin

Vout

VT0n

A

A

-VT0n

LIN

SAT

Vout = Vin - VT0n

OFF

LIN

V th

VOH= V DD

V OL= 0

Vin<VT0n

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Visual VTC

25

V DD

-1

-1

V ILV IH

Vin

Vout

VT0n VDD+VT0p

A E

A

E

-VT0n

-VT0p

LIN

SAT LIN

SAT

Vout = Vin - VT0n

Vout = Vin - VT0p

LIN &

OFF

LIN &

OFF

V th

VOH= V DD

V OL= 0

Vin<VT0n

Vin>VT0p - VDD

Penn ESE 570 Spring 2019 – Khanna

Page 5: Lecture Outline VLSI Fundamentals

5

26

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

V th− VT0p

V th− VT0n

V th

V th V DD

-1

-1

V ILV IH

Vout = Vin - VT0p

Vout = Vin - VT0n

-VT0n

CMOS Inverter: Visual VTC

Penn ESE 570 Spring 2019 – Khanna

27

V th− VT0p

V th− VT0n

V th

V th V DD

-1

-1

V ILV IH

Vout = Vin - VT0p

Vout = Vin - VT0n

-VT0n

CMOS Inverter: Visual VTC

Penn ESE 570 Spring 2019 – Khanna

= 0

IDn = IDp = 0

28

V th− VT0p

V th− VT0n

V th

V th V DD

-1

-1

V ILV IH

Vout = Vin - VT0p

Vout = Vin - VT0n

-VT0n

CMOS Inverter: VOL

Penn ESE 570 Spring 2019 – Khanna

29

0 =

IDn = IDp = 0

V th− VT0p

V th− VT0n

V th

V th V DD

-1

-1

V ILV IH

Vout = Vin - VT0p

Vout = Vin - VT0n

-VT0n

CMOS Inverter: VOH

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

30

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

31

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

Penn ESE 570 Spring 2019 – Khanna

Page 6: Lecture Outline VLSI Fundamentals

6

CMOS Inverter: VIL

32

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

33

Set Vin = VIL and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) =k 'p2

WL

!

"#

$

%&p

2 Vout −VDD( )+ 2 Vin −VDD −VT 0 p( ) dVoutdVin− 2 Vout −VDD( ) dVout

dVin

(

)*

+

,-

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

Vout −VDD( )+ VIL −VDD −VT 0 p( )(−1)− Vout −VDD( )(−1)() *+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

2Vout −VIL +VT 0 p −VDD() *+

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

34

Set Vin = VIL and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) =k 'p2

WL

!

"#

$

%&p

2 Vout −VDD( )+ 2 Vin −VDD −VT 0 p( ) dVoutdVin− 2 Vout −VDD( ) dVout

dVin

(

)*

+

,-

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

Vout −VDD( )+ VIL −VDD −VT 0 p( )(−1)− Vout −VDD( )(−1)() *+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

2Vout −VIL +VT 0 p −VDD() *+

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

kR VIL −VT 0n( ) = 2Vout −VIL +VT 0 p −VDD

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kRPenn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

35

Set Vin = VIL and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) =k 'p2

WL

!

"#

$

%&p

2 Vout −VDD( )+ 2 Vin −VDD −VT 0 p( ) dVoutdVin− 2 Vout −VDD( ) dVout

dVin

(

)*

+

,-

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

Vout −VDD( )+ VIL −VDD −VT 0 p( )(−1)− Vout −VDD( )(−1)() *+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

2Vout −VIL +VT 0 p −VDD() *+

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

kR VIL −VT 0n( ) = 2Vout −VIL +VT 0 p −VDD

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kRPenn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIL

36

Set Vin = VIL and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) =k 'p2

WL

!

"#

$

%&p

2 Vout −VDD( )+ 2 Vin −VDD −VT 0 p( ) dVoutdVin− 2 Vout −VDD( ) dVout

dVin

(

)*

+

,-

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

Vout −VDD( )+ VIL −VDD −VT 0 p( )(−1)− Vout −VDD( )(−1)() *+

k 'nWL

!

"#

$

%&n

VIL −VT 0n( ) = k 'pWL

!

"#

$

%&p

2Vout −VIL +VT 0 p −VDD() *+

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

kR VIL −VT 0n( ) = 2Vout −VIL +VT 0 p −VDD

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kR

Eq. (1)

Eq. (2)

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIH

37

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

Penn ESE 570 Spring 2019 – Khanna

Page 7: Lecture Outline VLSI Fundamentals

7

CMOS Inverter: VIH

38

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIH

39

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIH

40

Set Vin = VIH and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( )Vout −Vout2() *+=k 'p2

WL

!

"#

$

%&p

Vin −VDD −VT 0 p( )2

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) dVoutdVin

+ 2Vout − 2VoutdVoutdVin

(

)*

+

,-=

k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

VIH −VT 0n( )(−1)+Vout −Vout (−1)() *+= k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

−VIH +VT 0n + 2Vout[ ] = k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

kR −VIH +VT 0n + 2Vout[ ] = VIH −VDD −VT 0 p( )

VIH =VDD +VT 0 p + kR (VT 0n + 2Vout )

1+ kRPenn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIH

41

Set Vin = VIH and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( )Vout −Vout2() *+=k 'p2

WL

!

"#

$

%&p

Vin −VDD −VT 0 p( )2

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) dVoutdVin

+ 2Vout − 2VoutdVoutdVin

(

)*

+

,-=

k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

VIH −VT 0n( )(−1)+Vout −Vout (−1)() *+= k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

−VIH +VT 0n + 2Vout[ ] = k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

kR −VIH +VT 0n + 2Vout[ ] = VIH −VDD −VT 0 p( )

VIH =VDD +VT 0 p + kR (VT 0n + 2Vout )

1+ kRPenn ESE 570 Spring 2019 – Khanna

CMOS Inverter: VIH

42

Set Vin = VIH and dVout/dVin = -1

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( )Vout −Vout2() *+=k 'p2

WL

!

"#

$

%&p

Vin −VDD −VT 0 p( )2

k 'nWL

!

"#

$

%&n

k 'pWL

!

"#

$

%&p

= kR

k 'n2

WL

!

"#

$

%&n

2 Vin −VT 0n( ) dVoutdVin

+ 2Vout − 2VoutdVoutdVin

(

)*

+

,-=

k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

VIH −VT 0n( )(−1)+Vout −Vout (−1)() *+= k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

k 'nWL

!

"#

$

%&n

−VIH +VT 0n + 2Vout[ ] = k 'pWL

!

"#

$

%&p

VIH −VDD −VT 0 p( )

kR −VIH +VT 0n + 2Vout[ ] = VIH −VDD −VT 0 p( )

VIH =VDD +VT 0 p + kR (VT 0n + 2Vout )

1+ kR

Eq. (3)

Eq. (4)

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Vth

43

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

Penn ESE 570 Spring 2019 – Khanna

Page 8: Lecture Outline VLSI Fundamentals

8

CMOS Inverter: Vth

44

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Vth

45

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

IDn = IDp

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Vth

46

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

Vin −VDD −VT 0 p( )2

kR Vth −VT 0n( )2 = Vth −VDD −VT 0 p( )22

Vth =VT 0n +

1kR

VDD +VT 0 p( )

1+ 1kR

Penn ESE 570 Spring 2019 – Khanna

CMOS Inverter: Vth

47

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

Vin −VDD −VT 0 p( )2

kR Vth −VT 0n( )2 = Vth −VDD −VT 0 p( )22

Vth =VT 0n +

1kR

VDD +VT 0 p( )

1+ 1kR

Typically, Ln=Lp=Lmin

kR =k 'n W L( )nk 'p W L( )p

=µn W L( )nµp W L( )p

=µnWn

µpWp

Penn ESE 570 Spring 2019 – Khanna

48

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

If, also

ideal Vth

Important design Eq. for CMOS inverter VTC.

CMOS Inverter: Design/Sizing

Vth =VT 0n +

1kR

VDD +VT 0 p( )

1+ 1kR

kR =VDD +VT 0 p −VthVth −VT 0n

"

#$

%

&'

2

Penn ESE 570 Spring 2019 – Khanna

49 Kenneth R. Laker,

University of Pennsylvania, updated

12Feb15

If Vth is set to ideal case:

ideal Vth

Important design Eq. for CMOS inverter VTC.

CMOS Inverter: Design/Sizing

Vth =VT 0n +

1kR

VDD +VT 0 p( )

1+ 1kR

Vth =12VDD

kR =VDD +VT 0 p −VthVth −VT 0n

"

#$

%

&'

2

kR =VDD +VT 0 p −1 2VDD1 2VDD −VT 0n

"

#$

%

&'

2

=1 2VDD +VT 0 p1 2VDD −VT 0n

"

#$

%

&'

2

Penn ESE 570 Spring 2019 – Khanna

Page 9: Lecture Outline VLSI Fundamentals

9

50

Kenneth R. Laker, University of

Pennsylvania, updated 12Feb15

If Vth is set to ideal case:

If, also

ideal Vth

k R啇symetric= 1

Important design Eq. for CMOS inverter VTC.

CMOS Inverter: Design/Sizing

Vth =VT 0n +

1kR

VDD +VT 0 p( )

1+ 1kR

Vth =12VDD

kR =VDD +VT 0 p −VthVth −VT 0n

"

#$

%

&'

2

kR =VDD +VT 0 p −1 2VDD1 2VDD −VT 0n

"

#$

%

&'

2

=1 2VDD +VT 0 p1 2VDD −VT 0n

"

#$

%

&'

2

If VT0n= -VT0p= VT0 (symmetric CMOS)

kR =1 2VDD −VT 01 2VDD −VT 0

⎝⎜⎜

⎠⎟⎟

2

=1 1= µnWn

µpWp

⇒Wp

Wn

=µn

µp

Penn ESE 570 Spring 2019 – Khanna

51 Kenneth R. Laker,

University of Pennsylvania, updated

12Feb15

Switching Threshold Voltage

Penn ESE 570 Spring 2019 – Khanna

Symmetric CMOS Inverter: VIL

52

Eq.(1)

Symmetric CMOS inverter: Vth = VDD/2, VT0n = - VT0p = VT0 and kR = 1

Eq.(2)

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kRVIL =

2Vout −VDD2

=Vout −12VDD

Penn ESE 570 Spring 2019 – Khanna

Symmetric CMOS Inverter: VIL

53

Eq.(1)

Symmetric CMOS inverter: Vth = VDD/2, VT0n = - VT0p = VT0 and kR = 1

Eq.(2)

Substitute into Eq.(1), i.e. , Vin = VIL and Sym-Inv Cond.

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kRVIL =

2Vout −VDD2

=Vout −12VDD

VIL +12VDD =Vout

VIL −VT 0( )2 = 2 VIL −VDD +VT 0( ) VIL +12VDD −VDD

"

#$

%

&'− VIL +

12VDD −VDD

"

#$

%

&'2(

)**

+

,--

⇒VIL =18(3VDD + 2VT 0 )

Penn ESE 570 Spring 2019 – Khanna

Symmetric CMOS Inverter: VIL

54

Eq.(1)

Symmetric CMOS inverter: Vth = VDD/2, VT0n = - VT0p = VT0 and kR = 1

Eq.(2)

Substitute into Eq.(1), i.e. , Vin = VIL and Sym-Inv Cond.

k 'n2

WL

!

"#

$

%&n

Vin −VT 0n( )2 =k 'p2

WL

!

"#

$

%&p

2 Vin −VDD −VT 0 p( ) Vout −VDD( )− Vout −VDD( )2()

*+

VIL =2Vout +VT 0 p −VDD + kRVT 0n

1+ kRVIL =

2Vout −VDD2

=Vout −12VDD

VIL +12VDD =Vout

VIL −VT 0( )2 = 2 VIL −VDD +VT 0( ) VIL +12VDD −VDD

"

#$

%

&'− VIL +

12VDD −VDD

"

#$

%

&'2(

)**

+

,--

⇒VIL =18(3VDD + 2VT 0 )

VIL −VT 0( )2 = 2 VIL −VDD +VT 0( ) VIL +12VDD −VDD

"

#$

%

&'− VIL +

12VDD −VDD

"

#$

%

&'2(

)**

+

,--

VIL2 − 2VILVT 0 +VT 0

2 = 2 VIL −VDD +VT 0( ) VIL −12VDD

"

#$

%

&'− VIL −

12VDD

"

#$

%

&'2(

)**

+

,--

VIL2 − 2VILVT 0 +VT 0

2 = VIL −VDD +VT 0( ) 2VIL −VDD( )− V 2IL −VILVDD +

14V 2

DD"

#$

%

&'

(

)*

+

,-

VIL2 − 2VILVT 0 +VT 0

2 = 2VIL2 − 2VILVDD + 2VILVT 0 −VILVDD +V

2DD −VT 0VDD −V

2IL +VILVDD −

14V 2

DD(

)*+

,-

VIL2 − 2VILVT 0 +VT 0

2 =VIL2 − 2VILVDD + 2VILVT 0 +

34V 2

DD −VT 0VDD

2VILVDD − 4VILVT 0 =34V 2

DD −VT 0VDD −VT 02

VIL (2VDD − 4VT 0 ) =34V 2

DD −VT 0VDD −VT 02

VIL =

34V 2

DD −VT 0VDD −VT 02

2VDD − 4VT 0=18(3VDD + 2VT 0 )(VDD − 2VT 0 )

VDD − 2VT 0

VIL =18(3VDD + 2VT 0 )

Penn ESE 570 Spring 2019 – Khanna

Symmetric CMOS Inverter

Penn ESE 570 Spring 2019 – Khanna

55

VIL =18(3VDD + 2VT 0 )

VIH =18(5VDD − 2VT 0 )

FROM Eq. (1) and Eq. (2)

FROM Eq. (3) and Eq. (4)

Page 10: Lecture Outline VLSI Fundamentals

10

Symmetric CMOS Inverter

Penn ESE 570 Spring 2019 – Khanna

56

VIL =18(3VDD + 2VT 0 )

VIH =18(5VDD − 2VT 0 )

FROM Eq. (1) and Eq. (2)

FROM Eq. (3) and Eq. (4)

NML =VIL −VOL =VIL −0 = 18

(3VDD + 2VT 0 )

NMH =VOH −VIH =VDD −18

(5VDD − 2VT 0 ) = 18

(3VDD + 2VT 0 )

Example:

!  Compute the noise margins for a symmetric CMOS inverter that has been designed to achieve Vth = VDD/2, where VDD = 5 V and VT0n = - VT0p = 1 V.

Penn ESE 570 Spring 2019 – Khanna

57 Kenneth R. Laker,

University of Pennsylvania, updated

12Feb15 Example:

!  Compute the noise margins for a symmetric CMOS inverter that has been designed to achieve Vth = VDD/2, where VDD = 5 V and VT0n = - VT0p = 1 V.

Penn ESE 570 Spring 2019 – Khanna

58 Kenneth R. Laker,

University of Pennsylvania, updated

12Feb15

NML =18(3VDD + 2VT 0 )

NMH =18(3VDD + 2VT 0 )

NML = NMH = 2.125

Example:

!  Compute the noise margins for a symmetric CMOS inverter that has been designed to achieve Vth = VDD/2, where VDD = 5 V and VT0n = - VT0p = 1 V.

Penn ESE 570 Spring 2019 – Khanna

59 Kenneth R. Laker,

University of Pennsylvania, updated

12Feb15

NML =18(3VDD + 2VT 0 )

NMH =18(3VDD + 2VT 0 )

NML = NMH = 2.125

NMH = NML = 2.5 V > VDD/2

RECALL (with VDD = 5 V) 1.

2.

1.

Ideal NM =>

1. NMH, NML > VDD/4 = 1.25 V Preferred NM =>

Performance: Inverter Power

Penn ESE 570 Spring 2019 – Khanna

Power

!  P = I×V

!  Tricky part: "  Understanding I "  (pairing with correct V)

61 Penn ESE 570 Spring 2019 – Khanna

Page 11: Lecture Outline VLSI Fundamentals

11

Operating Modes

!  Steady-State: What modes are the transistors in? "  Vin=Vdd

"  Vin=Gnd

!  What current flows in steady state?

62 Penn ESE 570 Spring 2019 – Khanna

Operating Modes

!  Steady-State: Vin=Vdd

"  PMOS: subthreshold "  NMOS: linear

63 Penn ESE 570 Spring 2019 – Khanna

Operating Modes

!  Steady-State: Vin=Vdd

"  PMOS: subthreshold "  NMOS: linear

64

IDSp = −IS#WL

$

% &

'

( ) e

−VGS −VTnkT / q

$

% &

'

( )

1− eVDSkT / q$

% &

'

( )

$

% & &

'

( ) ) 1− λVDS( )

IDSn = µnCOXWL

!

"#

$

%& VGS −VT( )VDS −

VDS2

2(

)*

+

,-

Penn ESE 570 Spring 2019 – Khanna

Operating Modes

!  Steady-State: Vin=Vdd

"  PMOS: subthreshold "  NMOS: linear

65

IDSp = −IS#WL

$

% &

'

( ) e

−VGS −VTnkT / q

$

% &

'

( )

1− eVDSkT / q$

% &

'

( )

$

% & &

'

( ) ) 1− λVDS( )

IDSn = µnCOXWL

!

"#

$

%& VGS −VT( )VDS −

VDS2

2(

)*

+

,-

Which current determines Istatic ?

Penn ESE 570 Spring 2019 – Khanna

Operating Modes

!  Steady-State: Vin=Vdd

"  PMOS: subthreshold "  NMOS: linear

66

IDSp = −IS#WL

$

% &

'

( ) e

−VGS −VTnkT / q

$

% &

'

( )

1− eVDSkT / q$

% &

'

( )

$

% & &

'

( ) ) 1− λVDS( )

IDSn = µnCOXWL

!

"#

$

%& VGS −VT( )VDS −

VDS2

2(

)*

+

,-

Which current determines Istatic ?

Penn ESE 570 Spring 2019 – Khanna

Static Power

!  P = Istatic×V !  What V should we use?

"  Where is the static current flowing?

67 Penn ESE 570 Spring 2019 – Khanna

Page 12: Lecture Outline VLSI Fundamentals

12

Switching Currents

!  Dynamic current flow:

!  If both transistor on: "  Current path from Vdd

to Gnd "  Short circuit current

68 Penn ESE 570 Spring 2019 – Khanna

Currents Summary

!  I changes over time !  At least two components

"  Istatic – no switching "  Iswitch – when switching

"  Idyn and Isc

69 Penn ESE 570 Spring 2019 – Khanna

Currents Summary

!  I changes over time !  At least two components

"  Istatic – no switching "  Iswitch – when switching

"  Idyn and Isc

70

VRAMP

CLK

φ

ramp_enable

Penn ESE 570 Spring 2019 – Khanna

Switching

Dynamic Power

71 Penn ESE 570 Spring 2019 - Khanna

Switching Currents

!  Itotal(t) = Istatic(t)+Iswitch(t)

!  Iswitch(t) = Isc(t) + Idyn(t)

72

Isc

Istatic

Idyn

Penn ESE 570 Spring 2019 - Khanna

Charging

!  Idyn(t) – why is it changing? "  Ids = f(Vds,Vgs) "  and Vgs, Vds changing

73

IDS = µnCOXWL

"

# $

%

& ' VGS −VT( )VDS −

VDS2

2)

* +

,

- .

IDS ≈νsatCOXW VGS −VT −VDSAT

2%

& '

(

) *

Penn ESE 570 Spring 2019 - Khanna

Page 13: Lecture Outline VLSI Fundamentals

13

Switching Energy – focus on Idyn(t)

74 Penn ESE 570 Spring 2019 - Khanna

Isc

Istatic

Idyn

Switching Energy – focus on Idyn(t)

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

75

Idyn

Penn ESE 570 Spring 2019 - Khanna

Switching Energy

76

!  Do we know what this is?

Idyn

Idyn (t)dt∫

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

Penn ESE 570 Spring 2019 - Khanna

Switching Energy

77

!  Do we know what this is?

Idyn

Q = Idyn (t)dt∫

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

Penn ESE 570 Spring 2019 - Khanna

Switching Energy

78

!  Do we know what this is?

!  What is Q? Idyn

Q = Idyn (t)dt∫

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

Penn ESE 570 Spring 2019 - Khanna

Switching Energy

79

!  Do we know what this is?

!  What is Q? Idyn

Q = Idyn (t)dt∫

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

Q = CV = I(t)dt∫

Penn ESE 570 Spring 2019 - Khanna

Page 14: Lecture Outline VLSI Fundamentals

14

Switching Energy

80

!  Do we know what this is?

!  What is Q? Idyn

Q = Idyn (t)dt∫

E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫

Q = CV = I(t)dt∫

E = CVdd2

Capacitor charging energy

Penn ESE 570 Spring 2019 - Khanna

Switching Power

!  Every time output switches 0#1 pay: "  E = CV2

!  Pdyn = (# 0#1 trans) × CV2 / time

!  # 0#1 trans = ½ # of transitions

!  Pdyn = (# trans) × ½CV2 / time

81 Penn ESE 570 Spring 2019 - Khanna

Switching

82 Penn ESE 570 Spring 2019 - Khanna

Short Circuit Power

Short Circuit Power

!  Between VTN and Vdd - VTP

"  Both N and P devices conducting

83 Penn ESE 570 Spring 2019 - Khanna

Short Circuit Power

!  Between VTN and Vdd - VTP

"  Both N and P devices conducting

!  Roughly:

84

Isc

Penn ESE 570 Spring 2019 - Khanna

Vin

time

Vout

Isdp

time

time

time

Vthn

Vdd

Vdd

Vdd-Vthp

Isc

tsc tsc

Peak Current

!  Ipeak around Vdd/2 "  If |VTN|=|VTP| and sized equal rise/fall

85

IDS ≈νsatCOXW VGS −VT −VDSAT

2%

& '

(

) *

Penn ESE 570 Spring 2019 - Khanna

Vin

time

Vout

Isdp

time

time

time

Vthn

Vdd

Vdd

Vdd-Vthp

Isc

tsc tsc

Page 15: Lecture Outline VLSI Fundamentals

15

Peak Current

!  Ipeak around Vdd/2 "  If |VTN|=|VTP| and sized equal rise/fall

86

IDS ≈νsatCOXW VGS −VT −VDSAT

2%

& '

(

) *

I(t)dt∫ ≈ Ipeak × tsc ×12%

& ' (

) *

Penn ESE 570 Spring 2019 - Khanna

Vin

time

Vout

Isdp

time

time

time

Vthn

Vdd

Vdd

Vdd-Vthp

Isc

tsc tsc

Vin

time

Vout

Isdp

time

time

time

Vthn

Vdd

Vdd

Vdd-Vthp

Isc

tsc tsc

Peak Current

!  Ipeak around Vdd/2 "  If |VTN|=|VTP| and sized equal rise/fall

87

IDS ≈νsatCOXW VGS −VT −VDSAT

2%

& '

(

) *

I(t)dt∫ ≈ Ipeak × tsc ×12%

& ' (

) *

E =Vdd × Ipeak × tsc ×12#

$ % &

' (

Penn ESE 570 Spring 2019 - Khanna

Short Circuit Energy

!  Make it look like a capacitance, CSC

"  Q=I×t "  Q=CV

88

E =Vdd × I peak × tsc ×12"

#$%

&'

"

#$

%

&'

E =Vdd ×QSC

E =Vdd × (CSCVdd ) =CSCV2dd

Penn ESE 570 Spring 2019 - Khanna

CSC =I peaktsc2Vdd

Short Circuit Energy

!  Every time switch (0#1 and 1#0) "  Also dissipate short-circuit energy: E = CV2

"  Different C = Csc

"  Ccs “fake” capacitance (for accounting)

89 Penn ESE 570 Spring 2019 - Khanna

Idea

!  Design Symmetric Inverters for symmetric and large noise margins for robust design "  kR=1

!  Ptot = Pstatic + Pdyn+ Psc

Penn ESE 570 Spring 2019 - Khanna 90

Admin

!  HW 4 due Friday, 2/15 (tomorrow) !  HW 5 posted over the weekend, due in two weeks

!  Quiz 1 next week Thursday "  First 15 minutes of class "  Starts at 1:30pm exactly "  Closed book "  Covers lecture 1-9 (today)

91 Penn ESE 570 Spring 2019 – Khanna