190 lines
8.2 KiB
HTML
190 lines
8.2 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-7.3 Command Reference</TITLE>
|
||
|
|
<BODY BACKGROUND=graphics/blpaper.gif>
|
||
|
|
<H1> <IMG SRC=graphics/magic_title2.gif ALT="Magic VLSI Layout Tool Version 7.3">
|
||
|
|
<IMG SRC=graphics/magic_OGL_sm.gif ALIGN="top" ALT="*"> </H1>
|
||
|
|
|
||
|
|
<H2>gds, calma</H2>
|
||
|
|
<HR>
|
||
|
|
Read GDSII input or generate GDSII output.
|
||
|
|
<HR>
|
||
|
|
|
||
|
|
<H3>Usage:</H3>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
<B>gds</B> [<I>option</I>] <BR><BR>
|
||
|
|
<B>calma</B> [<I>option</I>] <BR><BR>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
where <I>option</I> is one of the following:
|
||
|
|
<DL>
|
||
|
|
<DT> <B>help</B>
|
||
|
|
<DD> Print usage information
|
||
|
|
<DT> <B>arrays</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Output arrays as individual subuses (like in CIF). Default
|
||
|
|
is "no". Normally there is no reason to do this.
|
||
|
|
<DT> <B>contacts</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Causes contacts to be written to the GDS file as subcell
|
||
|
|
arrays (experimental, introduced in version 7.3.55). This
|
||
|
|
method can produce very efficient output compared to writing
|
||
|
|
each contact cut square separately.
|
||
|
|
<DT> <B>flatten</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Flatten simple cells (e.g., contacts) on input. This helps
|
||
|
|
magic to use its contact-area representation of contacts,
|
||
|
|
and can also avoid situations where contacts are lost or
|
||
|
|
translated to "generic" types because the arrayed part of
|
||
|
|
the contacts is missing one or more residue layers.
|
||
|
|
<DT> <B>ordering</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Forces post-ordering of subcells read from a GDS file; that
|
||
|
|
is, if a cell use is encountered before it is defined, magic
|
||
|
|
will read through the remainder of the file until it finds
|
||
|
|
the definition, read it, and then return to the original file
|
||
|
|
position to continue reading. This option is always enabled
|
||
|
|
when using <B>gds flatten</B>. Otherwise, the default behavior
|
||
|
|
is <B>ordering no</B> to avoid lengthy searches through the
|
||
|
|
GDS stream file.
|
||
|
|
<DT> <B>labels</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Cause labels to be output when writing GDSII. Default
|
||
|
|
is "yes". Normally there is no reason not to do this.
|
||
|
|
<DT> <B>lower</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Allow both upper and lower case in labels. Default is "yes".
|
||
|
|
<DT> <B>read</B> <I>file</I>
|
||
|
|
<DD> Read GDSII format from file <I>file</I> into the edit cell.
|
||
|
|
If <I>file</I> does not have a file extension, then <B>magic</B>
|
||
|
|
searches for a file named <I>file</I>, <I>file</I>.gds,
|
||
|
|
<I>file</I>.gds2, or <I>file</I>.strm.
|
||
|
|
<DT> <B>readonly</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Set cell as "read-only". This has the effect of marking each
|
||
|
|
cell definition (using the <B>property</B> method) with the
|
||
|
|
start and end positions of the cell definition in the input
|
||
|
|
file. In subsequent output, the cell definition will be
|
||
|
|
transferred verbatim from the input to the output file. This
|
||
|
|
is useful for 3rd-party standard cells or pad cells where the
|
||
|
|
original GDS is trusted and it is desirable to bypass the
|
||
|
|
boolean operators of <B>magic</B>'s GDS reader and writer to
|
||
|
|
prevent the layout from being altered. Note that "read-only"
|
||
|
|
layout can be written to a <TT>.mag</TT> file, but the
|
||
|
|
contents of this file are representational only. It can
|
||
|
|
be useful to keep a simplified respresentation in the case
|
||
|
|
of pad cells or digital standard cells, for example, by
|
||
|
|
reading them using a GDS input style that defines only metal
|
||
|
|
layers.
|
||
|
|
<DT> <B>rescale</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Allow or disallow internal grid subdivision while reading
|
||
|
|
GDS input. Default is "yes". Normally, one wants to allow
|
||
|
|
rescaling to ensure that the GDS is displayed exactly as it
|
||
|
|
is in the input file. Occasionally, however, the GDS input
|
||
|
|
is on a very fine scale, such as nanometers, and it is
|
||
|
|
preferable to snap the input to lambda boundaries rather
|
||
|
|
than to subsplit the internal grid to such a fine value.
|
||
|
|
The "<B>cif limit</B>" function may also be used to limit
|
||
|
|
grid subdivision to a minimum value.
|
||
|
|
<DT> <B>warning</B> [<I>option</I>]
|
||
|
|
<DD> Set warning information level. "<I>option</I>" may be one
|
||
|
|
of the following:
|
||
|
|
<DL>
|
||
|
|
<DT><B>default</B>
|
||
|
|
<DD> The default setting is equivalent to all the other
|
||
|
|
options (<B>align</B>, <B>limit</B>, <B>redirect</B>,
|
||
|
|
and <B>none</B>) being disabled.
|
||
|
|
<DT><B>align</B>
|
||
|
|
<DD> Generate warnings during a "<B>cif see</B>" command
|
||
|
|
if the alignment of geometry is on fractional lambda.
|
||
|
|
Normally, magic allows contacts to be drawn at
|
||
|
|
half-lambda positions. If this violates DRC requirements
|
||
|
|
for the minimum output grid, this warning setting can be
|
||
|
|
used to detect such violations.
|
||
|
|
<DT><B>limit</B>
|
||
|
|
<DD> Limit warnings to the first 100 warnings or errors only.
|
||
|
|
<DT><B>redirect</B> [<I>file</I>]
|
||
|
|
<DD> Redirect all warnings to an output file named <I>file</I>.
|
||
|
|
If <I>file</I> is not given, then redirection is disabled.
|
||
|
|
<DT><B>none</B>
|
||
|
|
<DD> Do not produce any warning messages on GDS input.
|
||
|
|
</DL>
|
||
|
|
<DT> <B>write</B> <I>file</I>
|
||
|
|
<DD> Output GDSII format to "<I>file</I>" for the window's root cell.
|
||
|
|
<DT> <B>polygon subcells</B> [<B>yes</B>|<B>no</B>]
|
||
|
|
<DD> Put non-Manhattan polygons into subcells. Default is "no".
|
||
|
|
Normally this option is not needed. However, input layout
|
||
|
|
that defines a number of angled wires, particularly those
|
||
|
|
that are closely spaced, can cause <B>magic</B> to generate
|
||
|
|
literally millions of internal tiles. This tends to be
|
||
|
|
true in particular for corner cells in padframes for deep
|
||
|
|
submicron feature sizes, where the angled corners are
|
||
|
|
required to meet the DRC specification. When set to "yes",
|
||
|
|
each polygon encountered in the GDS input is placed in its
|
||
|
|
own uniquely-named subcell. This prevents interations with
|
||
|
|
other polygons on the same plane and so reduces tile splitting.
|
||
|
|
</DL>
|
||
|
|
</BLOCKQUOTE>
|
||
|
|
</BLOCKQUOTE>
|
||
|
|
|
||
|
|
<H3>Summary:</H3>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
The <B>gds</B> command reads or produces GDSII output (also known as
|
||
|
|
"stream" output, or "calma" output after the name of the company
|
||
|
|
that invented the format), or sets various parameters affecting
|
||
|
|
the GDS input and output. In magic, the GDS read and write routines
|
||
|
|
are a subset of the CIF read and write routines, and so it is
|
||
|
|
important to note that certain <B>cif</B> command options (q.v.) also
|
||
|
|
affect GDS input and output. In particular, <B>cif istyle</B> and
|
||
|
|
<B>cif ostyle</B> set the input and output styles from the technology
|
||
|
|
file, respectively. <P>
|
||
|
|
|
||
|
|
If no option is given, a CALMA GDS-II stream file is produced for the
|
||
|
|
root cell, with the default name of the root cell definition and the
|
||
|
|
filename extension ".gds". <P>
|
||
|
|
</BLOCKQUOTE>
|
||
|
|
|
||
|
|
<H3>Implementation Notes:</H3>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
<B>gds</B> is implemented as a built-in function in <B>magic</B>.
|
||
|
|
The <B>calma</B> command is an alias for <B>gds</B> and is
|
||
|
|
exactly equivalent.
|
||
|
|
</BLOCKQUOTE>
|
||
|
|
|
||
|
|
<H3>Bugs:</H3>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
<UL>
|
||
|
|
<LI> The <B>cif</B> command options that affect GDS input and output
|
||
|
|
should <I>really</I> be duplicates as options of the GDS command.
|
||
|
|
<LI> GDS input is "interpreted" through boolean operations in the
|
||
|
|
technology file definition, and so it is not guaranteed that
|
||
|
|
all input will be read correctly.
|
||
|
|
<LI> Not all non-Manhattan geometry is read correctly.
|
||
|
|
<LI> The input can be fouled up if the magic grid is rescaled during
|
||
|
|
input. This error can be avoided by scaling the grid prior
|
||
|
|
to GDS read-in.
|
||
|
|
<LI> "polygon subcells" in GDS creates a duplicate image of the
|
||
|
|
layout read into the subcells; this needs to be fixed.
|
||
|
|
</UL>
|
||
|
|
</BLOCKQUOTE>
|
||
|
|
|
||
|
|
<H3>See Also:</H3>
|
||
|
|
<BLOCKQUOTE>
|
||
|
|
<A HREF=cif.html><B>cif</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> December 4, 2005 at 3:17pm <P>
|
||
|
|
</BODY>
|
||
|
|
</HTML>
|