ch16.1.htm

来自「介绍asci设计的一本书」· HTM 代码 · 共 1,801 行 · 第 1/5 页

HTM
1,801
字号
<A NAME="pgfId=109102">

 </A>

log</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109104">

 </A>

&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109106">

 </A>

&nbsp;&nbsp;&nbsp;or 11 stages.</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=109108">

 </A>

(16.1)</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109306">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109128">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109130">

 </A>

0.025 <SPAN CLASS="Symbol">

&#165;</SPAN>

 10<SUP CLASS="Superscript">

&#8211;12</SUP>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109132">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=109134">

 </A>

&nbsp;</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=109459">

 </A>

The power dissipated charging the input capacitance of the flip-flop clock is <SPAN CLASS="EquationVariables">

fCV</SPAN>

<SUP CLASS="Superscript">

2</SUP>

 or  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109472">

 </A>

<SPAN CLASS="EquationVariables">

P</SPAN>

<SUP CLASS="Superscript">

1</SUP>

<SUB CLASS="Subscript">

1</SUB>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109474">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109476">

 </A>

(4 <SPAN CLASS="Symbol">

&#165;</SPAN>

 10<SUP CLASS="Superscript">

4</SUP>

 ) (200 MHz) (0.025 pF) (3.3 V)<SUP CLASS="Superscript">

2</SUP>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109478">

 </A>

= 2.178 W .</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=109481">

 </A>

(16.2)</P>

</TD>

</TR>

</TABLE>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=23469">

 </A>

or approximately 2 W. This is only a little larger than the power dissipated driving the 800 pF clock-spine interconnect that we can calculate as follows:  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109575">

 </A>

<SPAN CLASS="EquationVariables">

P</SPAN>

<SUP CLASS="Superscript">

2</SUP>

<SUB CLASS="Subscript">

1</SUB>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109577">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109579">

 </A>

(200 ) (200 MHz) (20 mm) (2 pFcm<SUP CLASS="Superscript">

&#8211;1</SUP>

 )(3.3 V)<SUP CLASS="Superscript">

2</SUP>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109581">

 </A>

= 1.7424 W .</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=109583">

 </A>

(16.3)</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=23478">

 </A>

All of this power is dissipated in the clock-driver cell. The worst problem, however, is the enormous peak current in the final inverter stage. If we assume the needed rise time is 0.1 ns (with a 200 MHz clock whose period is 5 ns), the peak current would have to approach  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109650">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109652">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109654">

 </A>

(800 pF) (3.3 V)</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109656">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=109658">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109660">

 </A>

I</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109662">

 </A>

=</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109664">

 </A>

&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109666">

 </A>

<SPAN CLASS="Symbol">

&#170;</SPAN>

 25 A .</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=109668">

 </A>

(16.4)</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109671">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnRight">

<A NAME="pgfId=109673">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnCenter">

<A NAME="pgfId=109675">

 </A>

0.1 ns</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=109677">

 </A>

&nbsp;</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqn">

<A NAME="pgfId=109679">

 </A>

&nbsp;</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=57371">

 </A>

Clearly such a current is not possible without extraordinary design techniques. Clock spines are used to drive loads of 100&#8211;200 pF but, as is apparent from the power dissipation problems of this example, it would be better to find a way to spread the power dissipation more evenly across the chip.</P>

<P CLASS="Body">

<A NAME="pgfId=52877">

 </A>

We can design a tree of clock buffers so that the taper of each stage is e &#8853; 2.7 by using a fanout of three at each node, as shown in <A HREF="CH16.1.htm#30301" CLASS="XRef">

Figure&nbsp;16.17</A>

(a) and (b). The <SPAN CLASS="Definition">

clock tree</SPAN>

<A NAME="marker=52881">

 </A>

, shown in <A HREF="CH16.1.htm#30301" CLASS="XRef">

Figure&nbsp;16.17</A>

(c), uses the same number of stages as a clock spine, but with a lower peak current for the inverter buffers. <A HREF="CH16.1.htm#30301" CLASS="XRef">

Figure&nbsp;16.17</A>

(c) illustrates that we now have another problem&#8212;we need to balance the delays through the tree carefully to minimize clock skew (see Section 17.3.1, &#8220;Clock Routing&#8221;).</P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigure">

<A NAME="pgfId=52896">

 </A>

&nbsp;</P>

<DIV>

<IMG SRC="CH16-17.gif">

</DIV>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableFigureTitle">

<A NAME="pgfId=52900">

 </A>

FIGURE&nbsp;16.17&nbsp;<A NAME="30301">

 </A>

A clock tree. (a)&nbsp;Minimum delay is achieved when the taper of successive stages is about 3. (b)&nbsp;Using a fanout of three at successive nodes. (c)&nbsp;A clock tree for the cell-based ASIC of <A HREF="CH16.1.htm#27899" CLASS="XRef">

Figure&nbsp;16.16</A>

b. We have to balance the clock arrival times at all of the leaf nodes to minimize clock skew.</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=52621">

 </A>

Designing a clock tree that balances the rise and fall times at the leaf nodes has the beneficial side-effect of minimizing the effect of <SPAN CLASS="Definition">

hot-electron wearout</SPAN>

<A NAME="marker=27687">

 </A>

. This problem occurs when an electron gains enough energy to become &#8220;hot&#8221; and jump out of the channel into the gate oxide (the problem is worse for electrons in <SPAN CLASS="EmphasisPrefix">

n</SPAN>

-channel devices because electrons are more mobile than holes). The trapped electrons change the threshold voltage of the device and this alters the delay of the buffers. As the buffer delays change with time, this introduces unpredictable skew. The problem is worst when the <SPAN CLASS="EmphasisPrefix">

n</SPAN>

-channel device is carrying maximum current with a high voltage across the channel&#8212;this occurs during the rise-and fall-time transitions. Balancing the rise and fall times in each buffer means that they all wear out at the same rate, minimizing any additional skew.</P>

<P CLASS="Body">

<A NAME="pgfId=27607">

 </A>

A <SPAN CLASS="Definition">

phase-locked loop</SPAN>

<A NAME="marker=27608">

 </A>

 (<A NAME="marker=27609">

 </A>

PLL<A NAME="marker=83692">

 </A>

) is an electronic flywheel that locks in frequency to an input clock signal. The input and output frequencies may differ in phase, however. This means that we can, for example, drive a clock network with a PLL in such a way that the output of the clock network is locked in phase to the incoming clock, thus eliminating the latency of the clock network<A NAME="[Anceau, 1982]">

 </A>

. A PLL can also help to reduce random variation of the input clock frequency, known as <SPAN CLASS="Definition">

jitter</SPAN>

<A NAME="marker=27616">

 </A>

, which, since it is unpredictable, must also be discounted from the time available for computation in each clock cycle. Actel was one of the first FPGA vendors to incorporate PLLs, and Actel&#8217;s online product literature explains their use in ASIC design.</P>

</DIV>

<HR>

<DIV CLASS="footnotes">

<DIV CLASS="footnote">

<P CLASS="TableFootLast">

<SPAN CLASS="footnoteNumber">

1.</SPAN>

<A NAME="pgfId=94797">

 </A>

 Interconnect lengths are derived from interconnect capacitance data. Interconnect capacitance is 2 pFcm <SUP CLASS="Superscript">

&#8211;1</SUP>

.</P>

</DIV>

</DIV>

<HR><P>[&nbsp;<A HREF="CH16.htm">Chapter&nbsp;start</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH16.htm">Previous&nbsp;page</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH16.2.htm">Next&nbsp;page</A>&nbsp;]</P></BODY>



<!--#include file="Copyright.html"--><!--#include file="footer.html"-->

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?