ch03.3.htm

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

HTM
2,812
字号
.</P>

</TD>

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

<P CLASS="TableEqnNumber">

<A NAME="pgfId=295773">

 </A>

<A NAME="22086">

 </A>

(3.27)</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=295775">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=295777">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=295779">

 </A>

<SPAN CLASS="EquationVariables">

C</SPAN>

<SUB CLASS="Subscript">

in</SUB>

<SPAN CLASS="EquationVariables">

&nbsp;</SPAN>

</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=295781">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=295830">

 </A>

2<SPAN CLASS="EquationVariables">

g</SPAN>

C<SUB CLASS="Subscript">

inv</SUB>

</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=295832">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=295834">

 </A>

(2)&#183;(0.036&nbsp;pF)</P>

</TD>

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

<P CLASS="TableEqnLeft">

<A NAME="pgfId=296290">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=295783">

 </A>

&nbsp;</P>

</TD>

</TR>

</TABLE>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=88054">

 </A>

(Notice that <SPAN CLASS="EquationVariables">

g</SPAN>

 cancels out in this equation, we shall discuss this in the next section.) </P>

<P CLASS="Body">

<A NAME="pgfId=180327">

 </A>

The delay of the NOR logic cell, in units of <SPAN CLASS="Symbol">

t</SPAN>

, is thus  </P>

<TABLE>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297107">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297109">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297111">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297113">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297115">

 </A>

0.3&nbsp;<SPAN CLASS="Symbol">

&#165;</SPAN>

&nbsp;10<SUP CLASS="Superscript">

&#8211;12</SUP>

</P>

</TD>

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

<P CLASS="TableEqnLeft">

<A NAME="pgfId=297117">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297119">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297121">

 </A>

<SPAN CLASS="EquationVariables">

d</SPAN>

</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297123">

 </A>

=</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297125">

 </A>

<SPAN CLASS="EquationVariables">

gh</SPAN>

 + <SPAN CLASS="EquationVariables">

p</SPAN>

 + <SPAN CLASS="EquationVariables">

q</SPAN>

</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297127">

 </A>

=</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297129">

 </A>

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

</TD>

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

<P CLASS="TableEqnLeft">

<A NAME="pgfId=297131">

 </A>

+ (3)&#183;(1) + (3)&#183;(1.7)</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297135">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297137">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297139">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297141">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297143">

 </A>

(2)&#183;(0.036&nbsp;<SPAN CLASS="Symbol">

&#165;</SPAN>

&nbsp;10<SUP CLASS="Superscript">

&#8211;12</SUP>

)</P>

</TD>

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

<P CLASS="TableEqnLeft">

<A NAME="pgfId=297145">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297147">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297149">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297151">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297153">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297155">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297157">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnLeft">

<A NAME="pgfId=297159">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297161">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297163">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297165">

 </A>

=</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297167">

 </A>

4.1666667 + 3 + 5.1</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297175">

 </A>

&nbsp;</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297177">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=297179">

 </A>

=</P>

</TD>

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

<P CLASS="TableEqn">

<A NAME="pgfId=297181">

 </A>

12.266667 <SPAN CLASS="Symbol">

t .</SPAN>

</P>

</TD>

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

<P CLASS="TableEqnNumber">

<A NAME="pgfId=297189">

 </A>

<A NAME="14951">

 </A>

(3.28)</P>

</TD>

</TR>

</TABLE>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=88059">

 </A>

equivalent to an absolute delay, <SPAN CLASS="EquationVariables">

t</SPAN>

<SUB CLASS="SubscriptVariable">

PD</SUB>

<SPAN CLASS="Symbol">

 &#170; </SPAN>

12.3<SPAN CLASS="Symbol">

 &#165; </SPAN>

0.06<SPAN CLASS="Symbol">

 </SPAN>

ns<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

0.74<SPAN CLASS="Symbol">

 </SPAN>

ns.</P>

<P CLASS="Body">

<A NAME="pgfId=88060">

 </A>

The delay for a 2X drive, three-input NOR logic cell in the C5 library is  </P>

<TABLE>

<TR>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=222685">

 </A>

<SPAN CLASS="EquationVariables">

t</SPAN>

<SUB CLASS="SubscriptVariable">

PD </SUB>

= (0.03 + 0.72<SPAN CLASS="EquationVariables">

C</SPAN>

<SUB CLASS="Subscript">

out</SUB>

 + 0.60) ns .</P>

</TD>

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

<P CLASS="TableEqnNumber">

<A NAME="pgfId=222687">

 </A>

(3.29)</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=88065">

 </A>

With <SPAN CLASS="EquationVariables">

C</SPAN>

<SUB CLASS="Subscript">

out</SUB>

<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

0.3<SPAN CLASS="Symbol">

 </SPAN>

pF,  </P>

<TABLE>

<TR>

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

<P CLASS="TableEqnCenter">

<A NAME="pgfId=222700">

 </A>

<SPAN CLASS="EquationVariables">

t</SPAN>

<SUB CLASS="SubscriptVariable">

PD</SUB>

 = 0.03 + (0.72)&#183;(0.3) + 0.60 = 0.846 ns .</P>

</TD>

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

<P CLASS="TableEqnNumber">

<A NAME="pgfId=222702">

 </A>

(3.30)</P>

</TD>

</TR>

</TABLE>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=88070">

 </A>

compared to our prediction of 0.74<SPAN CLASS="Symbol">

 </SPAN>

ns. Almost all of the error here comes from the inaccuracy in predicting the nonideal delay. Logical effort gives us a method to examine relative delays and not accurately calculate absolute delays. More important is that logical effort gives us an insight into why logic has the delay it does.</P>

</DIV>

<DIV>

<H3 CLASS="Heading2">

<A NAME="pgfId=109865">

 </A>

3.3.2&nbsp;Logical Area and Logical Efficiency</H3>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=109869">

 </A>

Figure&nbsp;<A HREF="#42525" CLASS="XRef">

3.9</A>

 shows a single-stage OR-AND-INVERT cell that has different logical efforts at each input. The logical effort for the OAI221 is the <SPAN CLASS="Definition">

logical-effort vector</SPAN>

<A NAME="marker=109870">

 </A>

 <SPAN CLASS="EquationVariables">

g</SPAN>

<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

(7/3, 7/3, 5/3). For example, the first element of this vector, 7/3, is the logical effort of inputs A and B in Figure&nbsp;<A HREF="#42525" CLASS="XRef">

3.9</A>

.</P>

<TABLE>

<TR>

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

<P CLASS="TableFigTitleSide">

<A NAME="pgfId=109877">

 </A>

FIGURE&nbsp;3.9&nbsp;<A NAME="42525">

 </A>

An OAI221 logic cell with different logical efforts at each input. In this case <SPAN CLASS="EquationVariables">

g</SPAN>

<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

(7/3, 7/3, 5/3). The logical effort for inputs A and B is 7/3, the logical effort for inputs C and D is also 7/3, and for input E the logical effort is 5/3. The logical area is the sum of the transistor areas, 33 logical squares.</P>

</TD>

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

<P CLASS="TableFigure">

<A NAME="pgfId=109882">

 </A>

&nbsp;</P>

<DIV>

<IMG SRC="CH03-19.gif">

</DIV>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=109884">

 </A>

We can calculate the area of the transistors in a logic cell (ignoring the routing area, drain area, and source area) in units of a minimum-size <SPAN CLASS="EmphasisPrefix">

n</SPAN>

-channel transistor&#8212;we call these units <SPAN CLASS="Definition">

logical squares</SPAN>

<A NAME="marker=158627">

 </A>

. We call the transistor area the <SPAN CLASS="Definition">

logical area</SPAN>

<A NAME="marker=109883">

 </A>

. For example, the logical area of a 1X drive cell, OAI221X1, is calculated as follows:</P>

<UL>

<LI CLASS="BulletFirst">

<A NAME="pgfId=109886">

 </A>

<SPAN CLASS="EmphasisPrefix">

n</SPAN>

-channel transistor sizes: 3/1<SPAN CLASS="Symbol">

 </SPAN>

+<SPAN CLASS="Symbol">

 </SPAN>

4<SPAN CLASS="Symbol">

 &#165; </SPAN>

(3/1)</LI>

<LI CLASS="BulletList">

<A NAME="pgfId=109887">

 </A>

<SPAN CLASS="EmphasisPrefix">

p</SPAN>

-channel transistor sizes: 2/1<SPAN CLASS="Symbol">

 </SPAN>

+<SPAN CLASS="Symbol">

 </SPAN>

4<SPAN CLASS="Symbol">

 &#165; </SPAN>

(4/1)</LI>

<LI CLASS="BulletLast">

<A NAME="pgfId=109888">

 </A>

total logical area<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

2<SPAN CLASS="Symbol">

 </SPAN>

+<SPAN CLASS="Symbol">

 </SPAN>

(4<SPAN CLASS="Symbol">

 &#165; </SPAN>

4)<SPAN CLASS="Symbol">

 </SPAN>

+<SPAN CLASS="Symbol">

 </SPAN>

(5<SPAN CLASS="Symbol">

 &#165; </SPAN>

3)<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

33<SPAN CLASS="Symbol">

 </SPAN>

logical squares</LI>

</UL>

<P CLASS="Body">

<A NAME="pgfId=109892">

 </A>

Figure&nbsp;<A HREF="#38892" CLASS="XRef">

3.10</A>

 shows a single-stage AOI221 cell, with <SPAN CLASS="EquationVariables">

g</SPAN>

<SPAN CLASS="Symbol">

 </SPAN>

=<SPAN CLASS="Symbol">

 </SPAN>

(8/3, 8/3, 6/3). The calculation of the logical area (for a AOI221X1) is as follows:</P>

<UL>

<LI CLASS="BulletFirst">

<A NAME="pgfId=109893">

 </A>

<SPAN CLASS="EmphasisPrefix">

n</SPAN>

-channel transistor sizes: 1/1<SPAN CLASS="Symbol">

 </SPAN>

+<SPAN CLASS="Symbol">

 </SPAN>

4<SPAN CLASS="Symbol">

 &#165; </SPAN>

⌨️ 快捷键说明

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