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
:cif ostyle
|
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) |