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
- Press the spacebar three times to return to the box tool.
- When using cell instances, make sure that you use
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
- Use the :see command to allow you to see only the layers you care
- Finding Cell Area
- Press i to select the entire cell.
- Type the command 'box' to get the size in microns
- 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.
2009/05/27 Initial version
2010/02/09 Updated with some common errors
2010/10/19 Touched up and incorporated tips from debug.html