ch12.2.htm
来自「介绍asci设计的一本书」· HTM 代码 · 共 2,027 行 · 第 1/4 页
HTM
2,027 行
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Computer">
<A NAME="pgfId=250128">
</A>
> report timing</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Computer">
<A NAME="pgfId=250130">
</A>
instance name </P>
<P CLASS="Computer">
<A NAME="pgfId=250131">
</A>
inPin --> outPin incr arrival trs rampDel cap cell </P>
<P CLASS="Computer">
<A NAME="pgfId=250132">
</A>
(ns) (ns) (ns) (pf) </P>
<P CLASS="Computer">
<A NAME="pgfId=250133">
</A>
---------------------------------------------------------------------- </P>
<P CLASS="Computer">
<A NAME="pgfId=250134">
</A>
a[1] .00 .00 R .00 .04 comp_m... </P>
<P CLASS="Computer">
<A NAME="pgfId=250135">
</A>
B1_i4 </P>
<P CLASS="Computer">
<A NAME="pgfId=250136">
</A>
A1 --> ZN .33 .33 R .17 .03 fn05d1 </P>
<P CLASS="Computer">
<A NAME="pgfId=250137">
</A>
B1_i3 </P>
<P CLASS="Computer">
<A NAME="pgfId=250138">
</A>
A2 --> ZN .39 .72 F .33 .06 oa01d1 </P>
<P CLASS="Computer">
<A NAME="pgfId=250139">
</A>
B1_i5 </P>
<P CLASS="Computer">
<A NAME="pgfId=250140">
</A>
A --> ZN 1.03 1.75 R .67 .11 fn02d1 </P>
<P CLASS="Computer">
<A NAME="pgfId=250141">
</A>
B1_i6 </P>
<P CLASS="Computer">
<A NAME="pgfId=250142">
</A>
S --> Z .68 2.43 R .09 .02 mx21d1 </P>
<P CLASS="Computer">
<A NAME="pgfId=353885">
</A>
</P>
</TD>
</TR>
</TABLE>
<P CLASS="Body">
<A NAME="pgfId=360588">
</A>
In the comparator/MUX example the derived schematics are simple enough that, with hindsight, it is clear that the XOR logic cell used in the hand design is logically inefficient. Using XOR logic cells does, however, result in the simple schematic of <A HREF="CH12.1.htm#40122" CLASS="XRef">
Figure 12.1</A>
. The synthesized version of the comparator/MUX in <A HREF="#16015" CLASS="XRef">
Figure 12.3</A>
uses complex combinational logic cells that are logically efficient, but the schematic is not as easy to read. Of course, the computer does not care about this—and neither do we since we usually never see the schematic.</P>
<P CLASS="Body">
<A NAME="pgfId=333455">
</A>
Which version is best—the hand-designed or the synthesized version? <A HREF="#23004" CLASS="XRef">
Table 12.3</A>
shows statistics generated by the logic synthesizer for the comparator/MUX. To calculate the performance of each circuit that it evaluates during synthesis, there is a <SPAN CLASS="Emphasis">
</SPAN>
<A NAME="marker=392407">
</A>
<SPAN CLASS="Definition">
timing-analysis</SPAN>
tool (also known as a <A NAME="marker=282928">
</A>
<SPAN CLASS="Definition">
timing engine</SPAN>
) built into the logic synthesizer. The timing-analysis tool reports that the critical path in the optimized comparator/MUX is 2.43 ns. This critical path is highlighted on the derived schematic of <A HREF="#16015" CLASS="XRef">
Figure 12.3</A>
and consists of the following delays:</P>
<UL>
<LI CLASS="BulletFirst">
<A NAME="pgfId=347036">
</A>
0.33 ns due to cell <SPAN CLASS="BodyComputer">
fn05d1</SPAN>
, instance name <SPAN CLASS="BodyComputer">
B1_i4</SPAN>
, a two-input NOR cell with an inverted input. We might call this a NOR1-1 or (A + B')' logic cell.</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=347037">
</A>
0.39 ns due to cell <SPAN CLASS="BodyComputer">
oa01d1</SPAN>
, instance name <SPAN CLASS="BodyComputer">
B1_i3</SPAN>
, an OAI22 logic cell.</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=347038">
</A>
1.03 ns due to logic cell <SPAN CLASS="BodyComputer">
fn02d1</SPAN>
, instance name <SPAN CLASS="BodyComputer">
B1_i5</SPAN>
, a three-input majority function, MAJ3 (A, B, C).</LI>
<LI CLASS="BulletList">
<A NAME="pgfId=253267">
</A>
0.68 ns due to logic cell <SPAN CLASS="BodyComputer">
mx21d1</SPAN>
, instance name <SPAN CLASS="BodyComputer">
B1_i6</SPAN>
, a 2:1 MUX.</LI>
</UL>
<P CLASS="BodyAfterHead">
<A NAME="pgfId=261965">
</A>
(In this cell library the <SPAN CLASS="BodyComputer">
'd1'</SPAN>
suffix indicates normal drive strength.)</P>
<TABLE>
<TR>
<TD ROWSPAN="1" COLSPAN="12">
<P CLASS="TableTitle">
<A NAME="pgfId=392026">
</A>
TABLE 12.4 <A NAME="22837">
</A>
Logic cell comparisons between the two comparator/MUX designs.</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392051">
</A>
<SPAN CLASS="TableHeads">
Cell type</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392053">
</A>
<SPAN CLASS="TableHeads">
Library cell name<A HREF="#pgfId=392056" CLASS="footnote">
2</A>
</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392061">
</A>
<SPAN CLASS="TableHeads">
<A HREF="#pgfId=392060" CLASS="footnote">
3</A>
tPLH /ns</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392063">
</A>
<SPAN CLASS="TableHeads">
tPHL /ns</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392068">
</A>
<SPAN CLASS="TableHeads">
Gate equivalents in cell<A HREF="#pgfId=392067" CLASS="footnote">
4</A>
</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392070">
</A>
<SPAN CLASS="TableHeads">
Cells used in hand </SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392071">
</A>
<SPAN CLASS="TableHeads">
design</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392073">
</A>
<SPAN CLASS="TableHeads">
Cells used in</SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392074">
</A>
<SPAN CLASS="TableHeads">
synthesized design</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392076">
</A>
<SPAN CLASS="TableHeads">
Gate equivalents used</SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392077">
</A>
<SPAN CLASS="TableHeads">
by hand design</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392079">
</A>
<SPAN CLASS="TableHeads">
Gate equivalents used in</SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392080">
</A>
<SPAN CLASS="TableHeads">
synthesized design</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392085">
</A>
<SPAN CLASS="TableHeads">
Width of cell<A HREF="#pgfId=392084" CLASS="footnote">
5</A>
/</SPAN>
<SPAN CLASS="Symbol">
m</SPAN>
<SPAN CLASS="TableHeads">
m</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392087">
</A>
<SPAN CLASS="TableHeads">
Width used by</SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392088">
</A>
<SPAN CLASS="TableHeads">
hand design /</SPAN>
<SPAN CLASS="Symbol">
m</SPAN>
<SPAN CLASS="TableHeads">
m</SPAN>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392091">
</A>
<SPAN CLASS="TableHeads">
Width of synthesized</SPAN>
</P>
<P CLASS="Table">
<A NAME="pgfId=392092">
</A>
<SPAN CLASS="TableHeads">
design /</SPAN>
<SPAN CLASS="Symbol">
m</SPAN>
<SPAN CLASS="TableHeads">
m</SPAN>
</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392095">
</A>
Inverter</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392097">
</A>
in01d0</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392099">
</A>
0.37</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392101">
</A>
0.36</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392103">
</A>
0.8</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392105">
</A>
2</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392107">
</A>
2</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392109">
</A>
1.6</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392111">
</A>
1.6</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392113">
</A>
7.2</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392115">
</A>
14.4</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Table">
<A NAME="pgfId=392117">
</A>
14.4</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392119">
</A>
2-input XOR</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392121">
</A>
xo02d1</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392123">
</A>
0.93</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392125">
</A>
0.62</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392127">
</A>
1.8</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392129">
</A>
3</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392131">
</A>
—</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392133">
</A>
5.3</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392135">
</A>
—</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392137">
</A>
16.8</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392139">
</A>
50.4</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392141">
</A>
—</P>
</TD>
</TR>
<TR>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392143">
</A>
2-input AND</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLeft">
<A NAME="pgfId=392145">
</A>
an02d1</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392147">
</A>
0.34</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392149">
</A>
0.46</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392151">
</A>
1.3</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392153">
</A>
1</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392155">
</A>
—</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392157">
</A>
1.3</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392159">
</A>
—</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="TableLast">
<A NAME="pgfId=392161">
</A>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?