Magic - Paint and Layers


Cells, Paint and Layers

:paintlayers (paints rectangular regions, specified by the box)

:eraselayers (deletes the specified layers from the region under the box)

In each of these commands layers is one or more names separated by commas. In Magic there is one paint layer for each kind of conducting material (polysilicon, ndiffusion, metal1, etc.), plus one additional paint layer for each kind of transistor (n-transistor, p-transistor, etc.), and, finally, one further paint layer for each kind of contact (pcontact, ndcontact, m2contact, etc.).

The easiest way to paint and erase is with mouse buttons. To paint, position the box over the area you'd like to paint, then move the cursor over an existing color and click the middle mouse button (i.e. click both the left and the right mouse button at the same time on a two-button mouse). To erase everything in an area, place the box over the area, move the cursor over a blank spot, and click the middle mouse button. While you are painting, white dots may occasionally appear and disappear. These are design rule violations and will be explained in Design Rule Checking.

Here's a legend of relevant colors/layers:


 
 
Name of layer
What the layer represents
p or poly or polysilicon or red
polysilicon (gate areas)
green or ndiff or ndiffusion
n-diffusion (n+ source/drain areas)
brown or pdiff or pdiffusion
p-diffusion (p+ source/drain areas)
blue or metal1 or m1
metal layer 1
purple or metal2 or m2
metal layer 2
pw or pwell
p-well
nw or nwell
n-well
nnc or nwcontact
metal1 to n-well contact (n-tub tie)
ppc or pwcontact
metal1 to p-well contact (p-tub tie)
ndc or ndcontact
metal1 to n-diffusion contact
pdc or pdcontact
metal1 to p-diffusion contact
polycontact
metal1 to poly contact
m2contact
metal2 to metal1 contact (via)
nfet or ntransistor
n-transistor
pfet or ptransistor
p-transistor

Some layers are created by crossing two layers. For example drawing poly over ndiff (or vice versa) will produce an n-transistor. Contacts are made by placing the box over the region of the contact and by painting the appropriate contact. For example, to create a contact between ndiffusion and metal1 layers, place a box over an overlap between the two layers and type :paint ndc command.

For a complete list of layers use the Magic command :layers.