mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-28 17:15:13 +02:00
determining what does and doesn't get into the R-C extraction output. Added option "debug" and moved all excess diagnostic information to be gated by this flag. Corrected an issue in the standard extraction in which the substrate is always output with zero lumped resistance, preventing it from being checked by "extresist" for inclusion or exclusion in the .res.ext output. Reinstated the computation of minimum resistance transistor but excluded other devices. Added more sane handling of exceptional conditions like loops. The result is a more consistent check of nets in the design. However, I still need to recheck the "rg_maxres" calculation because it appears to be too low.
197 lines
9.0 KiB
HTML
197 lines
9.0 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 nets being processed.
|
|
<DT> <B>debug</B> [<B>on</B>|<B>off</B>]
|
|
<DD> Turn off/on additional diagnostic information.
|
|
<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>
|