📄 ch15.5.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">
<TITLE> 15.5 Power Dissipation</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->
<DIV>
<P>[ <A HREF="CH15.htm">Chapter start</A> ] [ <A HREF="CH15.4.htm">Previous page</A> ] [ <A HREF="CH15.6.htm">Next page</A> ]</P><!--#include file="AmazonAsic.html"--><HR></DIV>
<H1 CLASS="Heading1">
<A NAME="pgfId=161221">
</A>
15.5 <A NAME="36006">
</A>
Power Dissipation</H1>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=161222">
</A>
Power dissipation in CMOS logic arises from the following sources:</P>
<UL>
<LI CLASS="BulletFirst">
<A NAME="pgfId=161225">
</A>
<A NAME="marker=161223">
</A>
Dynamic power dissipation due to <A NAME="marker=161224">
</A>
switching current from charging and discharging parasitic capacitance.</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=161227">
</A>
Dynamic power dissipation due to <A NAME="marker=161226">
</A>
short-circuit current when both <SPAN CLASS="EmphasisPrefix">
n</SPAN>
-channel and <SPAN CLASS="EmphasisPrefix">
p</SPAN>
-channel transistors are momentarily on at the same time.</LI>
<LI CLASS="BulletLast">
<A NAME="pgfId=161231">
</A>
<A NAME="marker=161228">
</A>
Static power dissipation due to <A NAME="marker=161229">
</A>
leakage current and <A NAME="marker=161230">
</A>
subthreshold current. </LI>
</UL>
<DIV>
<H2 CLASS="Heading2">
<A NAME="pgfId=161232">
</A>
15.5.1 Switching Current</H2>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=161233">
</A>
When the <SPAN CLASS="EmphasisPrefix">
p</SPAN>
-channel transistor in an inverter is charging a capacitance, <SPAN CLASS="EquationVariables">
C</SPAN>
, at a frequency, <SPAN CLASS="EquationVariables">
f</SPAN>
, the current through the transistor is <SPAN CLASS="EquationVariables">
C</SPAN>
(d<SPAN CLASS="EquationVariables">
V</SPAN>
/d<SPAN CLASS="EquationVariables">
t</SPAN>
). The power dissipation is thus <SPAN CLASS="EquationVariables">
CV</SPAN>
(d<SPAN CLASS="EquationVariables">
V</SPAN>
/d<SPAN CLASS="EquationVariables">
t</SPAN>
) for one-half the period of the input, <SPAN CLASS="EquationVariables">
t</SPAN>
= 1/(2 <SPAN CLASS="EquationVariables">
f </SPAN>
). The power dissipated in the <SPAN CLASS="EmphasisPrefix">
p</SPAN>
-channel transistor is thus </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201888">
</A>
1/(2f)</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201890">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201892">
</A>
d<SPAN CLASS="EquationVariables">
V</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201894">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201896">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201898">
</A>
<SPAN CLASS="EquationVariables">
V</SPAN>
<SUB CLASS="SubscriptVariable">
DD</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201900">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201902">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201904">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=201906">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201908">
</A>
<SPAN CLASS="BigMath">
Ú</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201910">
</A>
<SPAN CLASS="EquationVariables">
CV</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201912">
</A>
––</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201914">
</A>
d<SPAN CLASS="EquationVariables">
t</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201916">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201918">
</A>
<SPAN CLASS="BigMath">
Ú</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201920">
</A>
<SPAN CLASS="EquationVariables">
CV</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201922">
</A>
d<SPAN CLASS="EquationVariables">
V</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201924">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=201926">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201928">
</A>
0</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201930">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201932">
</A>
d<SPAN CLASS="EquationVariables">
t</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201934">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201936">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201938">
</A>
0</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201940">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201942">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201944">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=201946">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201948">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201950">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201952">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201954">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201956">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201958">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201960">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201962">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201964">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=201966">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201968">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=201970">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201972">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201974">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=201976">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="4">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=201978">
</A>
0.5 <SPAN CLASS="EquationVariables">
CV</SPAN>
<SUB CLASS="SubscriptVariable">
DD</SUB>
<SUP CLASS="Superscript">
2</SUP>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=201986">
</A>
(15.3)</P>
</TD>
</TR>
</TABLE>
<P CLASS="Body">
<A NAME="pgfId=161238">
</A>
When the <SPAN CLASS="EmphasisPrefix">
n</SPAN>
-channel transistor discharges the capacitor, the power dissipation is equal, making the total power dissipation </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=202135">
</A>
<SPAN CLASS="EquationVariables">
P</SPAN>
<SUB CLASS="Subscript">
1</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202137">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=202139">
</A>
<SPAN CLASS="EquationVariables">
fCV</SPAN>
<SUP CLASS="Superscript">
2</SUP>
<SUB CLASS="SubscriptVariable">
DD</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=202141">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=202143">
</A>
<A NAME="42545">
</A>
(15.4)</P>
</TD>
</TR>
</TABLE>
<P CLASS="Body">
<A NAME="pgfId=161247">
</A>
Most of the power dissipation in a CMOS ASIC arises from this source—the switching current. The best way to reduce power is to reduce <SPAN CLASS="EquationVariables">
V</SPAN>
<SUB CLASS="SubscriptVariable">
DD</SUB>
(because it appears as a squared term in Eq. <A HREF="CH15.6.htm#16959" CLASS="XRef">
15.4</A>
), and to reduce <SPAN CLASS="EquationVariables">
C</SPAN>
, the amount of capacitance we have to switch. A rough estimate is that 20 percent of the nodes switch (or <A NAME="marker=161251">
</A>
toggle) in a circuit per clock cycle. To determine more accurately the power dissipation due to switching, we need to find out how many nodes toggle during typical circuit operation using a dynamic logic simulator. This requires input vectors that correspond to typical operation, which can be difficult to produce. Using a digital simulator also will not take into account the effect of glitches, which can be significant. Power simulators are usually a hybrid between SPICE transistor-level simulators and digital event-driven simulators [<A NAME="Najm, 1994">
</A>
Najm, 1994].</P>
</DIV>
<DIV>
<H2 CLASS="Heading2">
<A NAME="pgfId=161259">
</A>
15.5.2 Short-Circuit Current</H2>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=192282">
</A>
The short-circuit current or <A NAME="marker=192281">
</A>
crowbar current can be particularly important for output drivers and large clock buffers. For a CMOS inverter (see Problem <A HREF="CH15.9.htm#27714" CLASS="XRef">
15.17</A>
) the power dissipation due to the crowbar current is </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=202149">
</A>
<SPAN CLASS="EquationVariables">
P</SPAN>
<SUB CLASS="Subscript">
2</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202151">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=202153">
</A>
(1/12)<SPAN CLASS="Symbol">
b </SPAN>
<SPAN CLASS="EquationVariables">
f t</SPAN>
<SUB CLASS="SubscriptVariable">
rf</SUB>
<SPAN CLASS="EquationVariables">
(V</SPAN>
<SUB CLASS="SubscriptVariable">
DD</SUB>
– 2 V<SUB CLASS="Subscript">
t</SUB>
<SUB CLASS="SubscriptVariable">
n</SUB>
)<SUP CLASS="Superscript">
3</SUP>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=202155">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=202157">
</A>
<A NAME="23327">
</A>
(15.5)</P>
</TD>
</TR>
</TABLE>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=192380">
</A>
where we assume the following: We ratio the <SPAN CLASS="EmphasisPrefix">
p</SPAN>
-channel and <SPAN CLASS="EmphasisPrefix">
n</SPAN>
-channel transistor sizes so that <SPAN CLASS="Symbol">
b</SPAN>
= (<SPAN CLASS="EquationNumber">
W/L</SPAN>
)<SPAN CLASS="Symbol">
m</SPAN>
<SPAN CLASS="EquationNumber">
C</SPAN>
<SUB CLASS="Subscript">
ox</SUB>
is the same for both <SPAN CLASS="EmphasisPrefix">
p</SPAN>
- and <SPAN CLASS="EmphasisPrefix">
n</SPAN>
-channel transistors, the magnitude of the threshold voltages V<SUB CLASS="Subscript">
t</SUB>
<SUB CLASS="SubscriptVariable">
n</SUB>
are assumed equal for both transistor types, and <SPAN CLASS="EquationVariables">
t</SPAN>
<SUB CLASS="SubscriptVariable">
rf </SUB>
is the rise and fall time (assumed equal) of the input signal [<A NAME="[Veendrick, 1984]">
</A>
Veendrick, 1984]. For example, consider an output buffer that is capable of sinking 12 mA at an output voltage of 0.5 V. From Eq. 2.9 we can derive the transistor gain factor that we need as follows: </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=202200">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202202">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202204">
</A>
<SPAN CLASS="EquationVariables">
I</SPAN>
<SUB CLASS="SubscriptVariable">
DS</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=202294">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=202206">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=202208">
</A>
<SPAN CLASS="Symbol">
b</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202210">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202212">
</A>
––––––––––––––––––––––––</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=202296">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=202214">
</A>
(15.6)</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=202216">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202218">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=202220">
</A>
[(<SPAN CLASS="EquationVariables">
V</SPAN>
<SUB CLASS="SubscriptVariable">
GS</SUB>
– V<SUB CLASS="Subscript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -