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>
</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 12.8 <A NAME="32025">
</A>
The comparator/MUX example of <A HREF="CH12.2.htm#11737" CLASS="XRef">
Section 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’t care values (called the <A NAME="marker=393734">
</A>
<SPAN CLASS="Definition">
external don’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’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 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 12.12</A>
that <SPAN CLASS="BodyComputer">
sis</SPAN>
produces are also equivalent to the logic in <A HREF="#32025" CLASS="XRef">
Figure 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 12.12 <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>
</P>
</TD>
<TD ROWSPAN="1" COLSPAN="1">
<P CLASS="Computer">
<A NAME="pgfId=268833">
</A>
</usr/user1/msmith/sis> 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> read_blif comp_mux.blif</P>
<P CLASS="Computer">
<A NAME="pgfId=268836">
</A>
sis> 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> source script.rugged</P>
<P CLASS="Computer">
<A NAME="pgfId=268864">
</A>
sis> 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> quit</P>
<P CLASS="Computer">
<A NAME="pgfId=268815">
</A>
</usr/user1/msmith/sis></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 12.3</A>
for explanations of the abbreviations used in this table.</P>
</DIV>
</DIV>
<HR><P>[ <A HREF="CH12.htm">Chapter start</A> ] [ <A HREF="CH12.a.htm">Previous page</A> ] [ <A HREF="CH12.c.htm">Next page</A> ]</P></BODY>
<!--#include file="Copyright.html"--><!--#include file="footer.html"-->
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?