ch03.3.htm
来自「介绍asci设计的一本书」· HTM 代码 · 共 2,812 行 · 第 1/5 页
HTM
2,812 行
(2/1)</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=109894">
</A>
<SPAN CLASS="EmphasisPrefix">
p</SPAN>
-channel transistor sizes: 6/1<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
4<SPAN CLASS="Symbol">
¥ </SPAN>
(6/1) </LI>
<LI CLASS="BulletLast">
<A NAME="pgfId=109895">
</A>
logical area<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
1<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
(4<SPAN CLASS="Symbol">
¥ </SPAN>
2)<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
(5<SPAN CLASS="Symbol">
¥ </SPAN>
6)<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
39 <SPAN CLASS="Symbol">
</SPAN>
logical squares </LI>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableFigTitleSide">
<A NAME="pgfId=109899">
</A>
FIGURE 3.10 <A NAME="38892">
</A>
An AND-OR-INVERT cell, an AOI221, with logical-effort vector, <SPAN CLASS="EquationVariables">
g</SPAN>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
(8/3, 8/3, 7/3). The logical area is 39 logical squares.</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableFigure">
<A NAME="pgfId=109904">
</A>
<IMG SRC="CH03-20.gif" ALIGN="BASELINE">
</P>
</TD>
</TR>
</TABLE>
</UL>
<P CLASS="Body">
<A NAME="pgfId=109905">
</A>
These calculations show us that the single-stage AOI221, with an area of 33 logical squares and logical effort of (7/3, 7/3, 5/3), is more <SPAN CLASS="Definition">
logically efficient</SPAN>
<A NAME="marker=109906">
</A>
than the single-stage OAI221 logic cell with a larger area of 39 logical squares and larger logical effort of <SPAN CLASS="Symbol">
</SPAN>
(8/3, 8/3, 6/3).</P>
</DIV>
<DIV>
<H3 CLASS="Heading2">
<A NAME="pgfId=108718">
</A>
3.3.3 Logical Paths</H3>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=376734">
</A>
When we calculated the delay of the NOR logic cell in Section 3.3.1, the answer did not depend on the logical effort of the cell, <SPAN CLASS="EquationVariables">
g</SPAN>
(it cancelled out in Eqs. <A HREF="#22086" CLASS="XRef">
3.27</A>
and <A HREF="#14951" CLASS="XRef">
3.28</A>
). This is because <SPAN CLASS="EquationVariables">
g</SPAN>
is a measure of the input capacitance of a 1X drive logic cell. Since we were not driving the NOR logic cell with another logic cell, the input capacitance of the NOR logic cell had no effect on the delay. This is what we do in a data book—we measure logic-cell delay using an ideal input waveform that is the same no matter what the input capacitance of the cell. Instead let us calculate the delay of a logic cell when it is driven by a minimum-size inverter. To do this we need to extend the notion of logical effort.</P>
<P CLASS="Body">
<A NAME="pgfId=109412">
</A>
So far we have only considered a single-stage logic cell, but we can extend the idea of logical effort to a chain of logic cells or <SPAN CLASS="Definition">
logical path</SPAN>
<A NAME="marker=109400">
</A>
. Consider the logic path when we use a minimum-size inverter (<SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
0</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
1, <SPAN CLASS="EquationVariables">
p</SPAN>
<SUB CLASS="Subscript">
0</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
1, <SPAN CLASS="EquationVariables">
q</SPAN>
<SUB CLASS="Subscript">
0</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
1.7) to drive one input of a 2X drive, three-input NOR logic cell with <SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
(<SPAN CLASS="EquationVariables">
nr</SPAN>
<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
1)/(<SPAN CLASS="EquationVariables">
r</SPAN>
<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
1), <SPAN CLASS="EquationVariables">
p</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
3, <SPAN CLASS="EquationVariables">
q</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=3, and a load equal to four standard loads. If the logic ratio is <SPAN CLASS="EquationVariables">
r</SPAN>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
1.5, then <SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
5.5/2.5<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
2.2. </P>
<P CLASS="Body">
<A NAME="pgfId=158932">
</A>
The delay of the inverter is </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297320">
</A>
<SPAN CLASS="EquationVariables">
d</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297322">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297324">
</A>
<SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
0</SUB>
<SPAN CLASS="EquationVariables">
h</SPAN>
<SUB CLASS="Subscript">
0</SUB>
+ <SPAN CLASS="EquationVariables">
p</SPAN>
<SUB CLASS="Subscript">
0</SUB>
+ <SPAN CLASS="EquationVariables">
q</SPAN>
<SUB CLASS="Subscript">
0</SUB>
= (1) · (2g<SUB CLASS="Subscript">
1</SUB>
) · (C<SUB CLASS="Subscript">
inv</SUB>
/C<SUB CLASS="Subscript">
inv</SUB>
) +1 + 1.7</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=297326">
</A>
<A NAME="10206">
</A>
(3.31)</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297328">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297330">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297332">
</A>
(1)(2)(2.2) + 1 + 1.7</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297334">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297336">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297338">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297340">
</A>
7.1 .</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297342">
</A>
</P>
</TD>
</TR>
</TABLE>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=109560">
</A>
Of this 7.1<SPAN CLASS="Symbol">
t</SPAN>
delay we can attribute 4.4<SPAN CLASS="Symbol">
t</SPAN>
to the loading of the NOR logic cell input capacitance, which is 2<SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="EquationVariables">
C</SPAN>
<SUB CLASS="Subscript">
inv</SUB>
. The delay of the NOR logic cell is, as before, <SPAN CLASS="EquationVariables">
d</SPAN>
<SUB CLASS="Subscript">
1</SUB>
= <SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="Subscript">
1</SUB>
<SPAN CLASS="EquationVariables">
h</SPAN>
<SUB CLASS="Subscript">
1</SUB>
+ <SPAN CLASS="EquationVariables">
p</SPAN>
<SUB CLASS="Subscript">
1</SUB>
+ <SPAN CLASS="EquationVariables">
q</SPAN>
<SUB CLASS="Subscript">
1</SUB>
= 12.3, making the total delay 7.1<SPAN CLASS="Symbol">
</SPAN>
+<SPAN CLASS="Symbol">
</SPAN>
12.3<SPAN CLASS="Symbol">
</SPAN>
=<SPAN CLASS="Symbol">
</SPAN>
19.4, so the absolute delay is (19.4)(0.06 ns) = 1.164 ns, or about 1.2<SPAN CLASS="Symbol">
</SPAN>
ns.</P>
<P CLASS="Body">
<A NAME="pgfId=109581">
</A>
We can see that the <SPAN CLASS="Definition">
path delay</SPAN>
<A NAME="marker=109580">
</A>
<SPAN CLASS="EquationVariables">
D</SPAN>
is the sum of the logical effort, parasitic delay, and nonideal delay at each stage. In general, we can write the path delay as </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297374">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297376">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297378">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=297380">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297382">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297460">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297466">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297386">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297388">
</A>
<SPAN CLASS="EquationVariables">
D</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297390">
</A>
=</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297392">
</A>
<SPAN CLASS="BigMath">
∑</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=297394">
</A>
<SPAN CLASS="EquationVariables">
g</SPAN>
<SUB CLASS="SubscriptVariable">
i </SUB>
<SPAN CLASS="EquationVariables">
h</SPAN>
<SUB CLASS="SubscriptVariable">
i</SUB>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297396">
</A>
+</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297462">
</A>
<SPAN CLASS="BigMath">
∑</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=297468">
</A>
(<SPAN CLASS="EquationVariables">
p</SPAN>
<SUB CLASS="SubscriptVariable">
i</SUB>
+ <SPAN CLASS="EquationVariables">
q</SPAN>
<SUB CLASS="SubscriptVariable">
i</SUB>
) .</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnNumber">
<A NAME="pgfId=297400">
</A>
<A NAME="32586">
</A>
(3.32)</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297402">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297404">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297406">
</A>
<SPAN CLASS="EquationVariables">
i </SPAN>
<SPAN CLASS="Symbol">
∈</SPAN>
path</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnLeft">
<A NAME="pgfId=297408">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297410">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297464">
</A>
<SPAN CLASS="EquationVariables">
i </SPAN>
<SPAN CLASS="Symbol">
∈</SPAN>
path</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnCenter">
<A NAME="pgfId=297470">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=297414">
</A>
</P>
</TD>
</TR>
</TABLE>
</DIV>
<DIV>
<H3 CLASS="Heading2">
<A NAME="pgfId=158663">
</A>
3.3.4 Multistage Cells</H3>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=109160">
</A>
Consider the following function (a multistage AOI221 logic cell): </P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqnRight">
<A NAME="pgfId=412561">
</A>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=223373">
</A>
ZN(A1, A2, B1, B2, C) </P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableEqn">
<A NAME="pgfId=223375">
</A>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?