Unformatted text preview:

M. Horowitz EE271Magic Notes 1Magic NotesMagic is a very good layout tool, but layout is still a time intensive task. It is easyto spend hours laying out a cell, only to find out that the topology that you weretrying simply will not work. The best way to shorten the time you spend on layoutis to make sure that you have stick diagrams of all your cells. This planning stagewill save you a bunch of time in the end.What follows is a description of the setup that I use when I am working with Magic,and the commands that I find most helpful. It is not necessarily the best setup, andif you have one that you are comfortable with, stick with yours. But if you have notused Magic much, this information may be useful. I will not talk about how to usethe box and wiring tools, so if you have never used Magic please read the tutorialsfirst.1.0 SetupMagic supports multiple windows. Use them. There is no need to have to continu-ously move the stuff you are working on in the window, or load different cells in thesame window. I tend to have two active windows, and one or two other smallerwindows that contain the palette and the netlist tool. Since it is often useful tobeable to read Magic’s text window too, I end up with the situation that is shownbelow:Layout Window Layout WindowText WindowpaletteNetlistM. Horowitz EE271Magic Notes 2The netlist window is generated by the command• :specialopen netlist (short form is :spe netlist)This command opens up a window that makes it very easy to label nodes in thecircuit. You type a bunch of names into the window, and then you can placethese labels on the circuitThe palette is just a normal display window on the cell called palette, which has alittle square of all the different layers. Since you can paint a layer by pressing themiddle button on that color, I find having all the colors available helpful.The two main window might be different views of the same cell (one zoomed out,and the other zoomed in) or different cells that you are working on.2.0 CommandsMagic has a number of long commands which control things from CIF generationto extraction. I use only a fraction of the commands for normal editting. A few thatI use are listed below:• :see {allSame, no label, no *}Controls what magic displays in the window. The keyword ‘allSame’ means thatall layers should be displayed the same, even if they are not in the edit cell. ‘no’means don’t display that layer, and ‘*’ matches all normal paint layers.• :clockwise, :upside, :sidewaysRotates the selected object, or flips it around the x or y axis. This works for cellsor for hunks of selected paint.• :getcellcellNameGet cell namedcellName and place it in the current cell. The LL corner of thecell is placed at the LL corner of the box• :fill {direction}fill the paint at the edge of the box through the box• :editMake the currently selected cell the edit cell• :writeallFind all the cells that have changed, and foreach of these cells ask the user if s/he wants to save them. This is the best way to save cells, since :save does notalways do what you want.• :flushRestore the cell to the version stored on the disk. The flush command onlyworks on the edit cell. It does not depend on the cell being displayed• :dumpM. Horowitz EE271Magic Notes 3Dump contents of cell into another cell. This command should be used spar-ingly since it creates many versions of the same basic thing. It would be betterto make a generic base cell and use it, if posssible.• :cif seeCIFLayerDisplay using feedback, the mask layer that will be generated forCIFLayer• :getnode• :rsim• :simThe previous three commands are for the Magic rsim interface. You can runIrsim from Magic, and in this state you can point at geometry and find value. Wewill talk more about these commands later.3.0 MacrosMacros are user definable commands that are bound to single keys. Listed beloware the default macros, the bold ones are the ones that I use a lot. I have groupedthem by function.3.1 Selectionmacro s “select” select objectmacro S “select more”macro a “select area” select paint and cells in boxmacro A “select more area”macro f “select cell” select cell cusor is overmacro C “select clear”3.2 Deletionmacro d “delete” delete selected objectmacro ‘^D’ “erase $” Del layers under cusor from box3.3 Window Motion / Creationmacro , “center” center window on cusormacro v “view” fit everything into the windowmacro z “findbox zoom” make box fill windowmacro Z “zoom 2” zoom out by 2 timesM. Horowitz EE271Magic Notes 4macro ‘^X’ “expand toggle” expand hier. one levelmacro x “expand” expand everything in boxmacro X “unexpand” unexpand everythingmacro o “openwindow” open new windowmacro O “closewindow” close widow cursor is in3.4 Motionmacro t “move” move box to cursor (selection too)macro T “stretch” Like move but leave connectedmacro q “move left 1”macro w “move down 1”macro e “move up 1”macro r “move right 1”macro Q “stretch left 1”macro W “stretch down 1”macro E “stretch up 1”macro R “stretch right 1”macro c “copy”3.5 Gridmacro g “grid” toggles grid on and offmacro G “grid 2” set up grid to display 2units3.6 Undomacro u “undo” best command there is, 20 deepmacro U “redo”3.7 Randommacro b “box” give information about boxmacro B “findbox”macro ‘^L’ “redraw”macro y “drc why” why are there DRC errorsmacro ? “help” list all the long


View Full Document

UCD EEC 116 - Magic Notes

Download Magic Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Magic Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Magic Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?