ch12.b.htm

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

HTM
758
字号
<P CLASS="Computer">

<A NAME="pgfId=263086">

 </A>

<B CLASS="Keyword">

endmodule</B>

 </P>

</TD>

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

<P CLASS="Table">

<A NAME="pgfId=263091">

 </A>

&nbsp;</P>

<DIV>

<IMG SRC="CH12-9.gif">

</DIV>

</TD>

</TR>

<TR>

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

<P CLASS="TableFigureTitle">

<A NAME="pgfId=360733">

 </A>

FIGURE&nbsp;12.8&nbsp;<A NAME="32025">

 </A>

 The comparator/MUX example of <A HREF="CH12.2.htm#11737" CLASS="XRef">

Section&nbsp;12.2</A>

 after logic optimization with timing constraints. The figure shows the structural netlist, <SPAN CLASS="BodyComputer">

comp_mux_o2.v</SPAN>

, and its derived schematic. Compare this with Figures <A HREF="CH12.2.htm#22754" CLASS="XRef">

12.2</A>

 and <A HREF="CH12.2.htm#16015" CLASS="XRef">

12.3</A>

.</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=295619">

 </A>

In addition <SPAN CLASS="BodyComputer">

sis</SPAN>

 must be informed of the <A NAME="marker=395375">

 </A>

don&#8217;t care values (called the <A NAME="marker=393734">

 </A>

<SPAN CLASS="Definition">

external don&#8217;t care set</SPAN>

) in these Karnaugh maps. This is the function of the PLA-format input that follows the <SPAN CLASS="BodyComputer">

.exdc</SPAN>

 line. Now <SPAN CLASS="BodyComputer">

sis</SPAN>

 can simplify the equations including the don&#8217;t care values using a standard script, <SPAN CLASS="BodyComputer">

rugged.script</SPAN>

, that contains a sequence of <SPAN CLASS="BodyComputer">

sis</SPAN>

 commands. This particular script uses a series of factoring and substitution steps. The output (<A HREF="#24751" CLASS="XRef">

Table&nbsp;12.12</A>

) reveals that <SPAN CLASS="BodyComputer">

sis</SPAN>

 finds the same equation for <SPAN CLASS="BodyComputer">

outp[2]</SPAN>

 (named <SPAN CLASS="BodyComputer">

outp2</SPAN>

 in the <SPAN CLASS="BodyComputer">

sis</SPAN>

 equations):</P>

<P CLASS="ComputerOneLine">

<A NAME="pgfId=268939">

 </A>

{outp2} = a2 b2</P>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=268945">

 </A>

The other logic equations in <A HREF="#24751" CLASS="XRef">

Table&nbsp;12.12</A>

 that <SPAN CLASS="BodyComputer">

sis</SPAN>

 produces are also equivalent to the logic in <A HREF="#32025" CLASS="XRef">

Figure&nbsp;12.8</A>

. The technology-mapping step hides the exact details of the conversion between the internal representation and the optimized logic.</P>

<TABLE>

<TR>

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

<P CLASS="TableTitle">

<A NAME="pgfId=268762">

 </A>

TABLE&nbsp;12.12&nbsp;<A NAME="24751">

 </A>

Optimizing the comparator/MUX equations using <SPAN CLASS="BodyComputer">

sis</SPAN>

.</P>

</TD>

</TR>

<TR>

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

<P CLASS="TableFirst">

<A NAME="pgfId=268766">

 </A>

<SPAN CLASS="BodyComputer">

sis</SPAN>

 input file (BLIF)</P>

</TD>

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

<P CLASS="TableFirst">

<A NAME="pgfId=268768">

 </A>

<SPAN CLASS="BodyComputer">

sis</SPAN>

 results</P>

</TD>

</TR>

<TR>

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

<P CLASS="Computer">

<A NAME="pgfId=268770">

 </A>

.model comp_mux</P>

<P CLASS="Computer">

<A NAME="pgfId=268771">

 </A>

.inputs a0 b0 a1 b1 a2 b2</P>

<P CLASS="Computer">

<A NAME="pgfId=268772">

 </A>

.outputs outp0 outp1 outp2</P>

<P CLASS="Computer">

<A NAME="pgfId=268773">

 </A>

.names a0 b0 a1 b1 a2 b2 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268774">

 </A>

100000 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268775">

 </A>

101100 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268776">

 </A>

--1000 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268777">

 </A>

----10 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268778">

 </A>

100011 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268779">

 </A>

101111 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268780">

 </A>

--1011 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268781">

 </A>

.names sel a0 b0 outp0</P>

<P CLASS="Computer">

<A NAME="pgfId=268782">

 </A>

1-1 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268783">

 </A>

01- 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268784">

 </A>

.names sel a1 b1 outp1</P>

<P CLASS="Computer">

<A NAME="pgfId=268785">

 </A>

1-1 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268786">

 </A>

01- 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268787">

 </A>

.names sel a2 b2 outp2</P>

<P CLASS="Computer">

<A NAME="pgfId=268788">

 </A>

1-1 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268801">

 </A>

01- 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268802">

 </A>

.exdc </P>

<P CLASS="Computer">

<A NAME="pgfId=268803">

 </A>

.names a0 b0 a1 b1 a2 b2 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268804">

 </A>

000000 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268805">

 </A>

110000 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268806">

 </A>

001100 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268807">

 </A>

111100 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268808">

 </A>

000011 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268809">

 </A>

110011 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268810">

 </A>

001111 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268811">

 </A>

111111 1</P>

<P CLASS="Computer">

<A NAME="pgfId=268812">

 </A>

.end</P>

</TD>

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

<P CLASS="Computer">

<A NAME="pgfId=268915">

 </A>

&nbsp;</P>

</TD>

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

<P CLASS="Computer">

<A NAME="pgfId=268833">

 </A>

&lt;/usr/user1/msmith/sis&gt; sis</P>

<P CLASS="Computer">

<A NAME="pgfId=268834">

 </A>

UC Berkeley, SIS Development Version </P>

<P CLASS="Computer">

<A NAME="pgfId=268909">

 </A>

(compiled 11-Oct-95 at 11:50 AM)</P>

<P CLASS="Computer">

<A NAME="pgfId=268835">

 </A>

sis&gt; read_blif comp_mux.blif</P>

<P CLASS="Computer">

<A NAME="pgfId=268836">

 </A>

sis&gt; print</P>

<P CLASS="Computer">

<A NAME="pgfId=268837">

 </A>

     {outp0} = a0 sel' + b0 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268838">

 </A>

     {outp1} = a1 sel' + b1 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268839">

 </A>

     {outp2} = a2 sel' + b2 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268840">

 </A>

     sel = a0 a1 a2 b0' b1 b2</P>

<P CLASS="Computer">

<A NAME="pgfId=268896">

 </A>

+ a0 a1 a2' b0' b1 b2' </P>

<P CLASS="Computer">

<A NAME="pgfId=268900">

 </A>

+ a0 a1' a2 b0' b1' b2</P>

<P CLASS="Computer">

<A NAME="pgfId=268898">

 </A>

+ a0 a1' a2' b0' b1' b2' </P>

<P CLASS="Computer">

<A NAME="pgfId=268889">

 </A>

+ a1 a2 b1' b2 </P>

<P CLASS="Computer">

<A NAME="pgfId=268906">

 </A>

+ a1 a2' b1' b2'</P>

<P CLASS="Computer">

<A NAME="pgfId=268907">

 </A>

+ a2 b2'</P>

<P CLASS="Computer">

<A NAME="pgfId=268863">

 </A>

sis&gt; source script.rugged</P>

<P CLASS="Computer">

<A NAME="pgfId=268864">

 </A>

sis&gt; print</P>

<P CLASS="Computer">

<A NAME="pgfId=268865">

 </A>

     {outp0} = a0 sel' + b0 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268866">

 </A>

     {outp1} = a1 sel' + b1 sel</P>

<P CLASS="Computer">

<A NAME="pgfId=268867">

 </A>

     {outp2} = a2 b2</P>

<P CLASS="Computer">

<A NAME="pgfId=268868">

 </A>

     sel = [9] a2 b0' </P>

<P CLASS="Computer">

<A NAME="pgfId=268901">

 </A>

+ [9] b0' b2' </P>

<P CLASS="Computer">

<A NAME="pgfId=268902">

 </A>

+ a1 a2 b1' </P>

<P CLASS="Computer">

<A NAME="pgfId=268888">

 </A>

+ a1 b1' b2'</P>

<P CLASS="Computer">

<A NAME="pgfId=268903">

 </A>

+ a2 b2' </P>

<P CLASS="Computer">

<A NAME="pgfId=268905">

 </A>

[9] = a1 + b1'</P>

<P CLASS="Computer">

<A NAME="pgfId=268870">

 </A>

sis&gt; quit</P>

<P CLASS="Computer">

<A NAME="pgfId=268815">

 </A>

&lt;/usr/user1/msmith/sis&gt;</P>

</TD>

</TR>

</TABLE>

<HR>

<DIV CLASS="footnotes">

<DIV CLASS="footnote">

<P CLASS="TableFootLast">

<SPAN CLASS="footnoteNumber">

1.</SPAN>

<A NAME="pgfId=360805">

 </A>

See footnote <A HREF="CH12.2.htm#31398" CLASS="XRef">

1</A>

 in <A HREF="CH12.2.htm#23004" CLASS="XRef">

Table&nbsp;12.3</A>

 for explanations of the abbreviations used in this table.</P>

</DIV>

</DIV>

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



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

⌨️ 快捷键说明

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