Magic Command Guide


Quick startup
magic -T <technology name>

Technology drc is located in ~cad/lib/magic/sys/<technology name>.tech27
Default ":load" and ":cif read" cell directory: ~cad/lib/magic/<technology name>
Default ~cad is set to the Unix environmental "setenv CAD_HOME /dtool/MAGIC/MAGIC_TOOL"
 
magic -T scmos-sub Using technology "scmos", version 8.2.8.
MOSIS Scalable CMOS Technology for HP CMOS26G and CMOS14B processes.

:cif istyle
The CIF input styles are: lambda=0.40(sub), lambda=0.40(nowell), lambda=0.40(nwell), lambda=0.30(sub), lambda=0.30(nowell).
The current style is "lambda=0.40(sub)"

:cif ostyle
The CIF output styles are: lambda=0.40(sub), lambda=0.30(sub), lambda=0.40(soi), lambda=0.40(cmosx), plot.
The current style is "lambda=0.40(sub)".

magic -T SCN3M.50 Download the current technology files and cells from
http://www.isi.edu/~sondeen/magic.html

via http://www.mosis.org /Technical /Designsupport /menu-designsupport.html

via http://www.mosis.org

Quick commands
:path Display search path of cell libraries
:addpath <directory> Add a new search path in order to do a read or load
:cif istyle Display read in cif technology styles (default lambda=1.0(gen))
:cif istyl lambda=1.0(nwell)
:cif read <file> Read in Caltech layout file.cif (filetype not needed)
:load <file> Read in Magic layout file.mag
:see no errors Turn off displaying drc errors
:see errors Turn on displaying drc errors
:drc off Turn drc checker off
:box Display the selected object height and length
:source <file> Read in magic commands (colon not needed in source file)

Quick macros (inside graphic window)
:macro <char> Macro help on <char>
z Zoom in
Z Zoom out
v view the whole design
g Turn the grid on/off
s Select and object or cell
b Display the box size of the selected cell
Ctrl-x Go into the design

 

File Commands
addpath [path]  append to current search path
edit  use selected cell as new edit cell
flush [cellname]  flush changes to cellname (edit cell default)
load [cellname]  load a cell into a window using the current search path (addpath, path)
logcommands [file [update]] log all commands into a file (G)
path [searchpath]  set or print cell search path
plot type [args]  hardcopy plotting; type "plot help" for information on types and args
quit  exit magic (G)
save [filename]  save edit cell on disk
writeall [force]  write out all modified cells to disk

Simple Editing
copy [dir [amount]] to x y what used to be at box lower-left will be copied at cursor location (copy will appear amount units in dir from original); second form will copy to location x y
corner d1 d2 [layers]  make L-shaped wires inside box, filling first in direction d1, then in d2
delete  delete everything in selection
fill dir [layers]  fill layers from one side of box to other
get or getcell cell [child refPointC] [parent refPointP] get cell as a subcell of the edit cell, so that refPointC (or lower left) of cell is at refPointP refPointC (or lower left) of cell is at refPointP (or box lower-left); refPoints are either labels or a pair of coordinates (e.g, 100 200)
label str [pos [layer]] place a label
move [dir [amount]] to x y  move box and selection, either by amount in dir, or pick up by box lower-left and put down at cursor position; second form will put box at location x y
paint layers  paint mask information
plow option [args]  stretching and compaction; type ":plow help" for information on options
select [option]  change selection; type ":select help" for information on options
tool [name|info]  change layout tool or print info about what buttons mean for current tool
redo [count]  redo commands (G) 
undo [count]  undo commands (G)
wire option [args]  wiring-style user interface; type":wire help" for information on options

Advanced Editing
array xsize ysize OR array xlo xhi ylo yhi  array everything in selection
box [dir [amount]]  move box dist units in direction or (with no arguments) show box size
clockwise [deg]  rotate selection and box clockwise
dump cell [child refPointC] [parent refPointP]  copy contents of cell into edit cell, so that refPointC (or lower left) of cell is at refPointP (or box lower-left); refPoints are either labels or a pair of coordinates (e.g, 100 200)
erase [layers]  erase mask information
expand [toggle]  expand everything under box, or toggle expanded/unexpanded cells in selection
garoute [cmd [args]]  gate-array router
iroute [cmd [args]]  do interactive point to point route
route  route the current cell
see [no] layers|allSame  change what's displayed in the window
sideways  flip selection and box sideways
straighten direction  straighten jogs by pulling in direction
stretch [dir [amount]]  stretch box and selection
unexpand  unexpand subcells under box
upsidedown  flip selection and box upside down

Change the View
center  center window on the cursor (G)
closewindow  close a window (G)
findbox [zoom]  center the window on the box and optionally zoom in
grid [xSpacing [ySpacing [xOrigin yOrigin]]] toggle grid on/off (and set parameters) (G)
grow  blow a window up to full-screen size or back again (G)
openwindow [cell]  open a new window (G)
over  move a window over (on top of) the rest (G)
redraw  redraw the display (G)
reset  reset the display (G)
scroll dir [amount]  scroll the window (G)
snap [on|off]  cause box to snap to window's grid when moved by cursor (G)
specialopen [coords] type [args]  open a special window (G)
underneath  move a window underneath the rest (G)
updatedisplay  force the display to be updated (G)
view  zoom window out so everything is visable (G)
windowscrollbars [on|off] toggle scroll bars for new windows (G)
windowpositions [file]  print out window positions (G)
zoom amount  zoom window by amount (G)

Extraction & DRC
drc option  design rule checker; type ":drc help" for information on options 
ext option or extract option  circuit extractor; type ":extract help" for information on options
extresist [args]  patch .ext file with resistance info
rsim [options] filename  run Rsim under Magic
simcmd cmd  send a command to Rsim, applying it to selected paint
startrsim [options] file  start Rsim and return to Magic

Help
feedback option  find out about problems; type ":feedback help" for information on options
help [pattern]  print out synopses for all commands valid in the current window (or just those containing pattern) (G)
layers  print names of layers for this technology
what  print out information about what's selected

Other Commands
calma option  Calma GDS-II stream file processor; type ":calma help" for information on options
channels  see channels (feedback) without doing routing
cif option  CIF processor; type ":cif help" for information on options
echo [-n] [strings]  print text on the terminal (G)
getnode option  get node names of all selected paint
identify use_id  set the use identifier of the selected cell
macro [char [string]]  define or print a macro called char (G)
pushbutton button act  push a mouse button (G)
send type command  send a command to a certain window type (G)
setpoint [x y [WID]]  force to cursor (point) to x,y in window WID (G)
sleep seconds  sleep for a number of seconds (G)
source filename  read in commands from file (G)
version  print out version info (G) 

Note: (G) stands for Global command, or executable anywhere (you don't have to point at a window)