EEC 116 - Magic tips
After working through some of the magic tutorials to familiarize yourself
with new features, you may find some of the tips below helpful in making
you more productive.
- Never use global labels (labels ending in "!"). Even in
subcells as they can confuse your simulation.
- Use "Vdd" and "Gnd" for your power and
ground nodes so they will be recognized by irsim.
- Put small stub extensions or overlays of the
appropriate matching material in your upper-level cells
for all interfacing signals and place labels on these small
patches of material; otherwise these top-level labels will
not be connected to the nodes in the lower-level cells during
irsim simulation. For example, if a subcell has a piece of
metal2 that comes to its edge and it used for "clock", you
must place a small extension of metal2 with the label "clock"
(or something different if you prefer) in an upper-level
cell that uses this subcell. The small extension can be
either next to or on top of the node in the lower-level cell.
-
Error: "Cannot read extract file subcell.mag.ext"
When placing subcells with the 'getcell <subcell>'
command, do not use the ".mag" extension on the subcell as
in, 'getcell <subcell.mag>' even though magic will let you.
There will likely be ext2sim or irsim problems if you do.
-
Error: "Did you point to the correct window?"
If you get this message and you are over the
layout window, try moving the window around a little.
- If magic does not re-extract cells even though you make
changes, you may need to type 'extract all' to force magic
to re-extract the root cell and all subcells.
- With the newest version of magic, the colon (:) is no
longer used when entering commands into
the text entry window but it can be used to focus on the text
entry window when the layout window is active.
-
You will probably save time by using the wiring tool. To use it:
- Press the spacebar once to select the wiring tool.
- Click the left mouse button while over a material to
route with the material selected using the width selected.
- Move the mouse and click the left mouse button to
create a new wire segment.
- Create a wire segment over a second material and then
click the center mouse button to make a contact between the
two materials.
- Press the spacebar three times to return to the box tool.
- When using cell instances, make sure that you use
:getcell <cell>
not
:getcell <cell.mag>
to prevent extraction problems.
- Make sure at every level of cell hierarchy that you label your
ports/terminals and paint some metal. Otherwise your labels won't
label anything. Use :getnode to check if your nodes are
properly labeled.
- Use the :see command to allow you to see only the layers you care
about.
- Finding Cell Area
- Press i to select the entire cell.
- Type the command 'box' to get the size in microns
and lambdas.
- Remember, 1 λ = 0.09 µm, therefore the size =
X * 0.09 um * Y * 0.09 um.
- Monitor the web page debugging and
general info on Magic for the latest magic tips.
Updates:
2009/05/27 Initial version
2010/02/09 Updated with some common errors
2010/10/19 Touched up and incorporated tips from debug.html