mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-09-03 16:29:09 +02:00
(1) An incorrect use of ExtResetTiles() was found in "extresist"
which impacts performance, especially for small nets.
(2) Corrected units for resistance tolerance in extresist, and
handled output printing in fs when delay values get below ps
size.
(3) Added command option "extract do unique notopports" to be the
extraction option equivalent of the standalone command
"extract unique notopports".
(4) Changed the "extresist" default for "mindelay" to 1ps from 0,
in response to the observation that lumped resistance from
"extract" can be an extreme overestimate, and the extracted
time delay from "extesist" calculations should be used as a
better determination of whether a net should be output as a
resistor network or not.
(5) Added documentation for both "extract do unique notopports"
and the change to the "extresist" default values.
195 lines
8.9 KiB
HTML
195 lines
8.9 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<STYLE type="text/css">
|
|
H1 {color: black }
|
|
H2 {color: maroon }
|
|
H3 {color: #007090 }
|
|
A.head:link {color: #0060a0 }
|
|
A.head:visited {color: #3040c0 }
|
|
A.head:active {color: white }
|
|
A.head:hover {color: yellow }
|
|
A.red:link {color: red }
|
|
A.red:visited {color: maroon }
|
|
A.red:active {color: yellow }
|
|
</STYLE>
|
|
</HEAD>
|
|
<TITLE>Magic-8.3 Command Reference</TITLE>
|
|
<BODY BACKGROUND=graphics/blpaper.gif>
|
|
<H1> <IMG SRC=graphics/magic_title8_3.png ALT="Magic VLSI Layout Tool Version 8.3">
|
|
<IMG SRC=graphics/magic_OGL_sm.gif ALIGN="top" ALT="*"> </H1>
|
|
|
|
<H2>extresist</H2>
|
|
<HR>
|
|
Patch the extraction <TT>.ext</TT> files with detailed route resistance
|
|
information.
|
|
<HR>
|
|
|
|
<H3>Usage:</H3>
|
|
<BLOCKQUOTE>
|
|
<B>extresist</B> <I>option</I> <BR><BR>
|
|
<BLOCKQUOTE>
|
|
where <I>option</I> may be one of the following:
|
|
<DL>
|
|
<DT> <B>all</B>
|
|
<DD> Extract all the nets.
|
|
<DT> <B>threshold</B> [<I>value</I>]
|
|
<DD> With no value given, returns the current lumped resistance
|
|
threshold used to determine if a network will or will not be
|
|
analyzed for resistance extraction, in milliohms. The default
|
|
<B>threshold</B> value is 10000 milliohms (10 ohms). If
|
|
<I>value</I> is given, then set the lumped resistance threshold
|
|
to <I>value</I> milliohms.
|
|
<DT> <B>mindelay</B> [<I>value</I>]
|
|
<DD> With no value given, returns the current delay time threshold
|
|
used to determine if a network will or will not be analyzed for
|
|
resistance extraction, in picoseconds. The default
|
|
<B>mindelay</B> value is 1ps. If <I>value</I> is given,
|
|
then set the delay threshold to <I>value</I> picoseconds.
|
|
<DT> <B>minres</B> [<I>value</I>]
|
|
<DD> With no value given, returns the current absolute resistance
|
|
threshold used to prune small resistances from a network when
|
|
simplifying, in milliohms. The default <B>minres</B> value
|
|
is 1000 milliohms (1 ohm). If <I>value</I> is given, then set
|
|
the absolute resistance threshold to <I>value</I> milliohms.
|
|
Note that resistances smaller than <I>value</I> may still
|
|
appear in the output netlist if the algorithm is unable to
|
|
simplify the network around the resistor.
|
|
<DT> <B>simplify</B> [<B>on</B>|<B>off</B>]
|
|
<DD> Turn on/off simplification of resistor nets.
|
|
<DT> <B>extout</B> [<B>on</B>|<B>off</B>]
|
|
<DD> Turn on/off writing of the <TT>.res.ext</TT> file.
|
|
<DT> <B>lumped</B> [<B>on</B>|<B>off</B>]
|
|
<DD> Turn on/off writing of updated lumped resistances.
|
|
<DT> <B>silent</B> [<B>on</B>|<B>off</B>]
|
|
<DD> Turn off/on printing of net statistics.
|
|
<DT> <B>skip</B> <I>mask</I>
|
|
<DD> Don't extract types indicated in the comma-separated list <I>mask</I>
|
|
<DT> <B>ignore</B> [<I>netname</I>|<B>none</B>]
|
|
<DD> Don't extract the net named <I>netname</I>. The list of ignored
|
|
nets is global, cumulative, and persistent; it will only be cleared
|
|
when the <B>extresist ignore none</B> command is issued
|
|
(option available from version 8.3.207).
|
|
<DT> <B>include</B> [<I>netname</I>|<B>all</B>]
|
|
<DD> Extract the net named <I>netname</I>. When this option is called
|
|
at least once, the behavior of the extraction changes to extract
|
|
only the nets that have been specified by <B>extresist include</B>
|
|
commands. The list of included nets is global, cumulative, and
|
|
persistent; it will only be cleared when the <B>extresist include
|
|
all</B> command is issued (option available from version 8.3.213).
|
|
<DT> <B>box</B> <I>type</I>
|
|
<DD> Extract the signal under the cursor box on layer <I>type</I>
|
|
<DT> <B>cell</B> <I>cellname</I>
|
|
<DD> Extract the network for the cell named <I>cellname</I>
|
|
<DT> <B>geometry</B>
|
|
<DD> Extract network geometry and present as a collection of line
|
|
elements on the layout.
|
|
<DT> <B>fasthenry</B> [<I>freq</I>]
|
|
<DD> Extract subcircuit network geometry into a <B>fasthenry</B>-format
|
|
<TT>.fh</TT> file. If <I>freq</I> is specified, the file will
|
|
be customized for <B>fasthenry</B> analysis at the indicated
|
|
frequency (in Hz).
|
|
<DT> <B>tolerance</B> <I>value</I>
|
|
<DD> <I>Deprecated!</I> This option is no longer used by extresist.
|
|
<DT> <B>help</B>
|
|
<DD> Print help information
|
|
</DL>
|
|
</BLOCKQUOTE>
|
|
</BLOCKQUOTE>
|
|
|
|
<H3>Summary:</H3>
|
|
<BLOCKQUOTE>
|
|
The normal flow through layout extraction into a simulation file
|
|
treats routes as nonphysical entities, that is, with infinitesimal
|
|
impedence through the wires. Standard extraction generates "lumped
|
|
resistance" values, a single resistance per network node that, along
|
|
with the node capacitance
|
|
to substrate, provides an <I>RC</I> time constant to approximately
|
|
model the delay from point to point in the network node. The
|
|
lumped resistance model is inappropriate for analog (i.e., SPICE)
|
|
simulation, and for digital simulation, is a poor approximation
|
|
for branching networks, where the delay between endpoints is
|
|
different for each pair of endpoints in the network node. <P>
|
|
|
|
The <B>extresist</B> command provides a method for generating
|
|
a more detailed model of resistance, in which long network
|
|
routes and branching routes are replaced with resistor devices
|
|
and device networks. This is known as "full R-C extraction". <P>
|
|
|
|
Using <B>extresist</B> as a standalone command is a multi-step
|
|
process. It is first necessary to run <B>extract</B> to get
|
|
the initial netlist. After a <TT>.ext</TT> file has been generated,
|
|
the <B>extresist</B> command may be run. The output is a file
|
|
<TT>.res.ext</TT> for each cell in the hierarchy.
|
|
Finally, with the option <B>extresist on</B> set, <B>ext2spice</B>
|
|
will generate the final, detailed simulation file. <P>
|
|
|
|
Prior to magic version 8.3.597, it was also necessary to run
|
|
<B>ext2sim labels on</B> and <B>ext2sim</B> to write out a
|
|
<TT>.sim</TT> and a <TT>.node</TT> file before running
|
|
<B>extresist</B>. This is no longer necessary. There is since
|
|
magic version 8.3.597 an option <B>extract do resistance</B>
|
|
that runs the resistance extraction in sequence with the regular
|
|
extraction, producing both the <TT>.ext</TT> and <TT>.res.ext</TT>
|
|
files. When <B>extract do resistance</B> is used, there is no need
|
|
to run <B>extresist</B> as a separate command. However,
|
|
<B>extresist</B> may be run prior to <B>extract</B> to set the
|
|
options that affect resistance network extraction, such as
|
|
<B>extresist threshold</B>, <B>extresist minres</B>, etc. <P>
|
|
|
|
As of magic version 8.3.653, the <B>extresist tolerance</B> option
|
|
is deprecated and has no effect on network resistance extraction.
|
|
Instead, extraction is controlled by three main options: <P>
|
|
|
|
<B>extresist threshold</B> (value in milliohms) sets a cutoff for
|
|
considering a network for detailed resistance extraction based on
|
|
the lumped resistance estimate (see above). For point-to-point
|
|
wires, the lumped resistance is approximately equal to the actual
|
|
wire resistance. For branching networks, it will generally be an
|
|
over-estimate. The default <B>threshold</B> value is set to
|
|
10 ohms. <P>
|
|
|
|
<B>extresist minres</B> (value in milliohms) sets a cutoff for
|
|
individual resistors in the detailed resistor network. Resistors
|
|
below this threshold will get pruned out of the network if the
|
|
simplification algorithm is able to remove them. The default
|
|
<B>minres</B> value is set to 1 ohm. <P>
|
|
|
|
<B>extresist mindelay</B> (value in picoseconds) sets a cutoff for
|
|
considering a network for detailed resistance extraction based on
|
|
the end-to-end delay calculated from the lumped resistance
|
|
estimate. Once the network has been extracted, the <B>mindelay</B>
|
|
value is again evaluated against a revised calculation of the
|
|
delay to determine if the extracted detailed network should be
|
|
output. The default <B>mindelay<B> value is set to 0, indicating
|
|
that only the lumped resistance threshold should be used for
|
|
determining when to extract a detailed resistance network.
|
|
<B>mindelay</B> may be used in place of <B>threshold</B>, or both
|
|
may be used together, in which case a network is only extracted
|
|
if both <B>threshold</B> and <B>mindelay</B> are exceeded. <P>
|
|
|
|
More details on using <B>extresist</B> can be found in
|
|
<B>magic</B> Tutorial number 8.
|
|
</BLOCKQUOTE>
|
|
|
|
<H3>Implementation Notes:</H3>
|
|
<BLOCKQUOTE>
|
|
<B>extresist</B> is implemented as a built-in command in <B>magic</B>.
|
|
</BLOCKQUOTE>
|
|
|
|
<H3>See Also:</H3>
|
|
<BLOCKQUOTE>
|
|
<A HREF=extract.html><B>extract</B></A> <BR>
|
|
<A HREF=ext2sim.html><B>ext2sim</B></A> <BR>
|
|
<A HREF=ext2spice.html><B>ext2spice</B></A> <BR>
|
|
</BLOCKQUOTE>
|
|
|
|
<P><IMG SRC=graphics/line1.gif><P>
|
|
<TABLE BORDER=0>
|
|
<TR>
|
|
<TD> <A HREF=commands.html>Return to command index</A>
|
|
</TR>
|
|
</TABLE>
|
|
<P><I>Last updated:</I> May 29, 2026 at 11:33am <P>
|
|
</BODY>
|
|
</HTML>
|