Files
magic/doc/html/flatten.html
T
Tim Edwards a816da60f9 Updated the HTML command reference files to refer to magic version 8.3,
since all of the title images still had 8.2, and the title text still
said 7.3 or 7.4, having not been updated for a long time.
2024-01-09 16:37:00 -05:00

109 lines
4.1 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>flatten</H2>
<HR>
Flatten edit cell into the indicated destination cell.
<HR>
<H3>Usage:</H3>
<BLOCKQUOTE>
<B>flatten</B> [<I>option</I>] <I>cellname</I> <BR><BR>
<BLOCKQUOTE>
where <I>cellname</I> is the name of a cell definition to be
created, and into which the flattened geometry will be placed.
<I>option</I> may be one of <B>-nolabels</B>, <B>-nosubcircuits</B>,
or <B>-noports</B>, <B>-novendor</B>, <B>-dotoplabels</B>,
<B>-doproperty</B>, and <B>-dobox</B>.
</BLOCKQUOTE>
</BLOCKQUOTE>
<H3>Summary:</H3>
<BLOCKQUOTE>
The <B>flatten</B> command creates a new cell with the indicated
name, then flattens the hierarchy of the current edit cell and
copies the result into the new cell. <P>
The options allow selective flattening, as follows:
<DL>
<DT> <B>-nolabels</B>
<DD> Prevents magic from copying labels into the flattened cell.
Otherwise, magic flattens labels by prepending the cell
hierarchy to each label as it copies it into the flat cell.
<DT> <B>-nosubcircuits</B>
<DD> Prevents magic from flattening cells declared to be subcircuits
(by the presence of ports in the cell). These cells are
retained as subcells in the flattened version.
<DT> <B>-noports</B>
<DD> Removes port information from labels when flattening, so that
the flattened view will have only labels and not ports.
<DT> <B>-novendor</B>
<DD> Prevents magic from flattening cells that are vendor cells,
that is, cells that are generated by reading GDS using the
<B>gds readonly</B> option, or which have the appropriate
property values set.
<DT> <B>-dotoplabels</B>
<DD> This option tells magic to preserve in the flattened view
only the labels that are in the top level cell. Labels in
subcells will be ignored.
<DT> <B>-doproperty</B>
<DD> This option will only flatten subcells which are marked
with the property string "<B>flatten</B>". This is useful
for flattening an entire set of cells; for example, flattening
subcells with routing before creating a DEF file of a layout.
<DT> <B>-dobox</B>
<DD> When this option is specified, magic flattens only the area
of the circuit that is inside the boundary of the cursor box.
<DT> <B>-doinplace</B>
<DD> When this option is specified, <I>cellname</I> must be the
name of a cell <I>use</I> (instance), not a cell <I>definition</I>.
The cell use <I>cellname</I> is assumed to exist in the current
edit cell. The cell use will be removed from the edit cell and
replaced with its flattened contents.
</DL>
Note that <I>cellname</I> is a top-level cell but is not displayed
or saved subsequent to the <B>flatten</B> command. The usual
procedure is to follow the command "<B>flatten</B> <I>cellname</I>"
with "<B>load</B> <I>cellname</I>", to view the new flattened
layout. <P>
The target cell <I>cellname</I> must not already exist in the
database except when using the <B>-dobox</B> option. With <B>-dobox</B>,
using the same target <I>cellname</I> allows a layout to be flattened
in pieces. <P>
</BLOCKQUOTE>
<H3>Implementation Notes:</H3>
<BLOCKQUOTE>
<B>flatten</B> is implemented as a built-in command in <B>magic</B>.
</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> June 23, 2021 at 5:48pm <P>
</BODY>
</HTML>