DOC PREVIEW
UCD EEC 118 - EEC 118 EXPERIMENT No. 1

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

University of California, Davis College of Engineering Department of Electrical and Computer Engineering EEC118 EXPERIMENT No. 1 MAGIC TUTORIAL I. OBJECTIVE The objective of this experiment is to learn the layout drawing techniques and layout extraction by using MAGIC. II. PRELAB i. Review section 3.2.1 (a basic n-well process) and Plate Captions 1–3 (p. 378) in the textbook. Figure 1ii. Different views of an inverter in n-well process is shown in Figure 1: (a) schematic; (b) layout (and top-view); (c) simplified cross-section; and (d) cross-section in actual fabrication. Observe and try to understand the layout structures of an inverter. III. EXPERIMENT You are going to layout an inverter similar to that in Figure 1(b). (1) From your Unix terminal and at your desired directory, invoke MAGIC program by typing magic inverter. The box and cursor are used to select things on the layout window. The left and right mouse buttons are used to position the box: click on the left mouse button to position the lower left corner of the box; click on the right mouse button to set the upper right corner of the box. After drawing a box, you can paint layers using command :paint layer or by clicking the middle button as explained in the Cells, Paint and Layers section. To select a certain piece of the layout, move the cursor over the block you want to select, and type s, which is a macro for :select. A thin white outline is left around the block to show it has been selected. Using the macro s repeatedly at the same spot will toggle through electrically connected layers. This is a useful method to make a quick check of how things are connected in your layout design. The macro S (macro for :select more) is just like s except that it adds on to the selection, rather than replacing it. For a synopsis of all the options to the :select command, type :select help. You can also select an entire area of stuff. Place the box over the area you want selected, and type :select area or macro a. If you want to know what's selected, type :what . The following commands can be used to maneuver the selected part of the layout: :move (macro t), and macros q, w, e, and r (to move the selected box by 1 lambda in different directions); :stretch (macro T), and macros Q, W, E, and R; :upsidedown :sideways :clockwise:copy (macro c) :delete (macro d) :erase The best way to learn these commands is to try them out. Often you may want to restore things after you've made mistakes using: :undo (macro u) :redo (macro U) Make sure that you delete any paint that you don't want. Painting over something with another color just adds more layers, your original paint will still be there underneath. You can use the "." (dot) macro to repeat the last command. The easiest way to move around the graphics window is to use the "," (comma) macro, which centers the window around the cursor position, together with the :zoom n command, (or z and Z macros) to zoom in and out. (2) In Magic, it’s easier to have the grids on while drawing layouts. To do so, point the cursor onto the layout window, and then type g. Similarly, you can have the same effect by typing :grid on the magic command window. In Magic, a circuit layout is a hierarchical collection of cells. Each cell contains three settings: (a) colored shapes, called paint, that define the circuit's structure; (b) textual labels attached to the paint; and (c) subcells, which are instances of other cells. :paint layer1, layer2,... (paint rectangular regions, specified by the box) :erase layer1, layer2,... (delete specified layers from the region under the box) List of different layers: • poly: polysilicon (gate areas) • ndiff or ndiffusion: n-diffusion (n+ source/drain areas) • pdiff or pdiffusion: p-diffusion (p+ source/drain areas) • metal1 or m1: metal layer 1 • metal2 or m2: metal layer 2 • pwell: p-well • 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) 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. (3) Draw a PMOS transistor with W/L = 20/2. Paint the boxes to construct a PMOS structure by using the following commands: :paint nwell :paint pdiff :paint poly :paint pdc :paint nnc (metal1-to-n-well contact) (4) Use the same techniques in step (3). Draw an NMOS transistor with W/L = 10/2, Vdd and ground. The following command will be appropriate for an NMOS structure: :paint ndiff :paint poly :paint ndc :paint metal1 (5) In order to make your layout readable, and to prepare your layout for extraction and simulation, you need to label it. First decide where you want your label. Then left click and right click at that spot. You should end up with a small cross (+). Then type :label nodenamenode names can be anything, but it is a good idea to use the labels that will correspond to circuit signals and make the layout readable. It is necessary to label the supply wires (nodes) as Vdd! and GND! (The ! means that the node is global). Label the inverter input and output nodes as Vin and Vout, respectively. (6) Verify the size of the transistor that you drew. To do this, point the cursor to the gate of the transistor, and then using the Macro command s to select the area. And type :box, then the size will be shown in the prompt window. Dose the size match with what you desired? And make sure save your layout by using :save command. (7) Turn in the inverter schematic. You can use the program xv or xwpick to capture the schematic layouts. (8) Use command :extract in Magic window to extract the layout, then run ext2spice filename in Unix terminal to convert the extracted layout file into Spice input netlist. Verify the width and length of the transistors in the netlist.


View Full Document

UCD EEC 118 - EEC 118 EXPERIMENT No. 1

Download EEC 118 EXPERIMENT No. 1
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 EEC 118 EXPERIMENT No. 1 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 EEC 118 EXPERIMENT No. 1 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?