Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems
Lec 15: October 7, 2019 Energy and Power Basics
Penn ESE 370 Fall 2019 - Khanna
Previously
! Where capacitance arises " Device materials
! What drives delay " Equivalent drive resistance and load capacitance
! Optimize delay " τ-estimate " Transistor sizing " Fanin/fanout " Drive in stages
2 Penn ESE 370 Fall 2019 - Khanna
Today
! Power Sources " Static power " Switching power
" Dynamic switching power " Short circuit power
3 Penn ESE 370 Fall 2019 - Khanna
Power
! P = I×V
! Tricky part: " Understanding I " (pairing with correct V)
4 Penn ESE 370 Fall 2019 - Khanna
Inverter Current Simplification
Penn ESE 370 Fall 2019 - Khanna 5
! What is Ipwr,gnd? " 0V " 140mV " 400mV " 500mV " 600mV " 860mV " 1V
" From preclass – see next two slides
Preclass (1/2)
Penn ESE 370 Fall 2019 - Khanna 6
Preclass (2/2)
Penn ESE 370 Fall 2019 - Khanna 7
Inverter Current Simplification
! What is Ipwr,gnd? " 0V " 140mV " 400mV " 500mV " 600mV " 860mV " 1V
Penn ESE 370 Fall 2019 - Khanna 8
Understanding Currents
Static Power
9 Penn ESE 370 Fall 2019 - Khanna
Operating Modes
! Steady-State: What modes are the transistors in? " Vin=Vdd
" Vin=Gnd
! What current flows in steady state?
10 Penn ESE 370 Fall 2019 - Khanna
Operating Modes
! Steady-State: Vin=Vdd
" PMOS: subthreshold " NMOS: resistive
11 Penn ESE 370 Fall 2019 - Khanna
Operating Modes
! Steady-State: Vin=Vdd
" PMOS: subthreshold " NMOS: resistive
12
€
IDSp = −IS#WL
$
% &
'
( ) e
−VGS −VTnkT / q
$
% &
'
( )
1− eVDSkT / q$
% &
'
( )
$
% & &
'
( ) ) 1− λVDS( )
IDSn = µnCOXWL
!
"#
$
%& VGS −VT( )VDS −
VDS2
2(
)*
+
,-
Penn ESE 370 Fall 2019 - Khanna
Operating Modes
! Steady-State: Vin=Vdd
" PMOS: subthreshold " NMOS: resistive
13
€
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 370 Fall 2019 - Khanna
Operating Modes
! Steady-State: Vin=Vdd
" PMOS: subthreshold " NMOS: resistive
14
€
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 370 Fall 2019 - Khanna
Static Power
! P = I×V ! What V should we use?
" Where is the static current flowing?
15 Penn ESE 370 Fall 2019 - Khanna
Data Dependent?
! How does the binary value of the input impact Istatic?
16 Penn ESE 370 Fall 2018 - Khanna
Data Dependent?
! How does the binary value of input impact Istatic?
17
€
IDS = IS"WL
#
$ %
&
' ( e
VGS −VTnkT / q
#
$ %
&
' (
1− e−VDSkT / q#
$ %
&
' (
#
$ %
&
' ( 1+ λVDS( )
Penn ESE 370 Fall 2018 - Khanna
Out
1
2
1
2
1
2
1
2
A
B
Data Dependent Leakage Current
Penn ESE 370 Fall 2018 - Khanna 18
ACM Great Lakes Symposium on VLSI Stresa, I. (n.d.). Analysis of data dependence of leakage current in CMOS cryptographic hardware. In GLSVLSI ’07 proceedings of the 2007 ACM Great Lakes Symposium
on VLSI : Stresa - Lago Maggiore, Italy, March 11-13, 2007 /. New York, N.Y. :: Association for Computing Machinery. https://doi.org/10.1145/1228784.1228808
Understanding Currents
Dynamic Switching Currents
19 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch: 1#0 ! Where does I go?
" Vin=Gnd
20 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch: 1#0 ! Where does I go?
" Vin=Gnd
21 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch: 1#0 ! Where does I go?
" Vin=Gnd
22
Subtheshold Leakage
Idyn (Saturation/Linear)
Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch 0#1 ! Where does I go?
" Vin=Vdd
23 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch 0#1 ! Where does I go?
" Vin=Vdd
24 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Input switch 0#1 ! Where does I go?
" Vin=Vdd
25
Subtheshold Leakage
Idyn (Saturation/Linear)
Penn ESE 370 Fall 2019 - Khanna
Switching Currents
! Dynamic current flow:
26 Penn ESE 370 Fall 2019 - Khanna
Understanding Currents
Short Circuit Currents
27 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Where does I go?
" Vin=Vdd/2 " And Vdd>Vthn+|Vthp|
28 Penn ESE 370 Fall 2019 - Khanna
Power: During Switching
! P = IV ! Where does I go?
" Vin=Vdd/2 " And Vdd>Vthn+|Vthp|
29
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.2 0.4 0.6 0.8 1
Vou
t
Vin
CMOS Inverter DC Transfer
Linear/Saturation
Penn ESE 370 Fall 2019 - Khanna
Linear/Saturation
Switching Currents
! Dynamic current flow:
! If both transistor on: " Current path from Vdd
to Gnd " Short circuit current
30 Penn ESE 370 Fall 2019 - Khanna
Currents Summary
! Current (I) changes over time ! At least two components
" Istatic – no switching " Iswitch – when switching
" Idyn and Isc
31 Penn ESE 370 Fall 2019 - Khanna
Currents Summary
! Current (I) changes over time ! At least two components
" Istatic – no switching " Iswitch – when switching
" Idyn and Isc
32
VRAMP
CLK
φ
ramp_enable
Penn ESE 370 Fall 2019 - Khanna
Switching
Dynamic Power
33 Penn ESE 370 Fall 2019 - Khanna
Switching Currents
! Itotal(t) = Istatic(t)+Iswitch(t)
! Iswitch(t) = Isc(t) + Idyn(t)
34
Isc
Istatic
Idyn
Penn ESE 370 Fall 2019 - Khanna
Charging
! Idyn(t) – why is it changing? " Ids = f(Vds,Vgs) " and Vgs, Vds changing
35
€
IDS = µnCOXWL
"
# $
%
& ' VGS −VT( )VDS −
VDS2
2)
* +
,
- .
€
IDS ≈νsatCOXW VGS −VT −VDSAT
2%
& '
(
) *
Penn ESE 370 Fall 2019 - Khanna
Switching Energy – focus on Idyn(t)
36 Penn ESE 370 Fall 2019 - Khanna
Isc
Istatic
Idyn
Switching Energy – focus on Idyn(t)
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
37
Idyn
Penn ESE 370 Fall 2019 - Khanna
Switching Energy
38
! Do we know what this is?
Idyn
Idyn (t)dt∫
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
Penn ESE 370 Fall 2019 - Khanna
Switching Energy
39
! Do we know what this is?
Idyn
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
Penn ESE 370 Fall 2019 - Khanna
Q = Idyn (t)dt∫
Switching Energy
40
! Do we know what this is?
! What is Q? Idyn
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
Penn ESE 370 Fall 2019 - Khanna
Q = Idyn (t)dt∫
Switching Energy
41
! Do we know what this is?
! What is Q? Idyn
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
Penn ESE 370 Fall 2019 - Khanna
Q = Idyn (t)dt∫=CV
Switching Energy
42
! Do we know what this is?
! What is Q? Idyn
E = P(t)dt∫= I(t)Vdd dt∫=Vdd I(t)dt∫
Penn ESE 370 Fall 2019 - Khanna
Q = Idyn (t)dt∫=CV
€
E = CVdd2
Capacitor charging energy
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
43 Penn ESE 370 Fall 2019 - Khanna
Data Dependent Activity
! Consider an 8b counter " How often do each of the following switch?
" Low bit? " High bit?
! Assuming random inputs " Activity at output of nand2? " Activity at output of xor2?
44 Penn ESE 370 Fall 2018 - Khanna
Gate Output Switching (random inputs)
45
0
1
P(outi!=outi+1)=P(outi=0)*P(outi+1=1)+P(outi=1)*P(outi+1=0)
i i+1
Output states
Probablity of output switch of nand4? Probablity of output switch of xor4?
Penn ESE 370 Fall 2018 - Khanna
Charging Power
! Pdyn = (# trans) × ½CV2 / time ! Often like to think about switching frequency ! Useful to consider per clock cycle
" Frequency f = 1/clock-period = clock-cycles/time
! Pdyn = (#trans/clock-cycle) ½CV2 f
46 Penn ESE 370 Fall 2018 - Khanna
Charging Power
! Pdyn = (#0#1 trans) × CV2 / time ! Often like to think about switching frequency ! Useful to consider per clock cycle
" Frequency f = 1/clock-period = clock-cycles/time
! Pdyn = (#0#1 trans/clock-cycle) CV2 f
47 Penn ESE 370 Fall 2018 - Khanna
Dynamic Power
! Pdyn = (#0#1 trans/clock-cycle) CV2 f ! Let a = activity factor
a = average #tran0#1/clock a = probability of #tran0#1
! Pdyn = aCV2 f
48 Penn ESE 370 Fall 2018 - Khanna
Activity Factor
! Let a = activity factor " a = average #tran0#1/clock " a = probability of #tran0#1
Penn ESE 370 Fall 2018 - Khanna 49
a = p(outi = 0)p(outi+1 =1)
a = N0
2NN12N
=N0 (2
N − N0 )22N
Switching
50 Penn ESE 370 Fall 2019 - Khanna
Short Circuit Power
Short Circuit Power
! Between VTN and Vdd - VTP
" Both N and P devices conducting
51 Penn ESE 370 Fall 2019 - Khanna
Short Circuit Power
! Between VTN and Vdd - VTP
" Both N and P devices conducting
! Roughly:
52
Isc
Penn ESE 370 Fall 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
53
€
IDS ≈νsatCOXW VGS −VT −VDSAT
2%
& '
(
) *
Penn ESE 370 Fall 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
54
€
IDS ≈νsatCOXW VGS −VT −VDSAT
2%
& '
(
) *
€
I(t)dt∫ ≈ Ipeak × tsc ×12%
& ' (
) *
Penn ESE 370 Fall 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
55
€
IDS ≈νsatCOXW VGS −VT −VDSAT
2%
& '
(
) *
€
I(t)dt∫ ≈ Ipeak × tsc ×12%
& ' (
) *
€
E =Vdd × Ipeak × tsc ×12#
$ % &
' (
Penn ESE 370 Fall 2019 - Khanna
Short Circuit Energy
! Make it look like switching an equivalent capacitance, CSC
" Q=I×t " Q=CV
56
E =Vdd × I peak × tsc ×12"
#$%
&'
"
#$
%
&'
E =Vdd ×QSC
E =Vdd × (CSCVdd ) =CSCV2dd
Penn ESE 370 Fall 2019 - Khanna
Short Circuit Energy
! Make it look like switching an equivalent capacitance, CSC
" Q=I×t " Q=CV
57
E =Vdd × I peak × tsc ×12"
#$%
&'
"
#$
%
&'
E =Vdd ×QSC
E =Vdd × (CSCVdd ) =CSCV2dd
Penn ESE 370 Fall 2019 - Khanna
CSC =I peaktsc2Vdd
Short Circuit Energy
! Every time switch (0#1 and 1#0) " Also dissipate short-circuit energy: E = CscV2
" Ccs “fake” capacitance (for accounting)
58 Penn ESE 370 Fall 2019 - Khanna
Total Power
! Ptot = Pstatic + Psc + Pdyn
! Pdyn + Psc = aCloadV2f+2aCscV2f
! Ptot ≈ a(Cload+2Csc)V2f+VI’s(W/L)e-Vt/(nkT/q)
59 Penn ESE 370 Fall 2018 - Khanna
Switching Waveforms
Penn ESE 370 Fall 2019 - Khanna 60
Switching Waveforms
Penn ESE 370 Fall 2019 - Khanna 61
Switching Waveforms
Penn ESE 370 Fall 2019 - Khanna 62
Switching Waveforms
Penn ESE 370 Fall 2019 - Khanna 63
Switching Waveforms
Penn ESE 370 Fall 2019 - Khanna 64
Ideas
! Three components of power " Static " Dynamic " Short-circuit
! Ptot = Pstatic + Pdyn+ Psc
65 Penn ESE 370 Fall 2019 - Khanna
Admin
! HW6 due Friday
66 Penn ESE 370 Fall 2019 - Khanna