Vous êtes sur la page 1sur 14

Analog Tutorial 3: Layout of an Inverter

1 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Analog Tutorial 3: Layout of an Inverter


Table of Contents
Overview
Virtuoso Layout
Design Rules Check
Extracting the Layout
Layout Versus Schematic Check

Overview
The main purpose of this tutorial is to you how to use Virtuoso Layout Editor and create a layout of an inverter. The tutorial
also includes instructions on checking (DRC and LVS) the layout and extracting the layout for future simulation.

Virtuoso Layout
First, open the Cadence tools by typing "icfb &" in a shell window. In the Library Window, select the folder you have
created and then select File -> New -> Cellview... Make sure the Cell Name field reads "inverter" and type "layout" in the
View Name field. After typing "layout", hit TAB and the Tool should automatically change to Virtuoso. If it doesn't, then
manually change it by selecting the drop down box. Select OK and the Virtuoso Layout Editing Window will open, along
with the Layer Select Window (LSW). The LSW contains all of the different layers needed for the layout process.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

2 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

The Virtuoso Layout Editing Tool has similar side icons as the Virtuoso Schematic Editing Tool does. Some of the ones that
will be used frequently in this tutorial are the rectangle icon (or typing 'r') and the ruler icon (or typing 'k'). The other icons
are pretty straight forward to understand and will be referred to if they are needed.
We would like to layout an inverter similar to one we built with existing nmos and pmos parts with the schematic tool. The
pmos component we used had W/L parameters of 6um/.6um and the nmos had 3um/.6um. First, this tutorial will go through
the layout of a nmos transistor.
To begin the layout of a nmos transistor, first select the nactive layer in the LSW. Type 'r' to draw a rectangle, first selecting
the start point, and then the end point. We want the dimension of this layer to be similiar to the nmos that was used in the
previous inverter. Therefore, the length should be 3um and the width should be about 3.6 um (it is a general rule of thumb to
make the width 3um + gate length, which equals 3.6 um).
To make sure that the dimensions of the layer are accurate, use the ruler function or type 'k'. Place the starting and stopping
points of the ruler. You can make as many rulers as desired. If you want to remove the rulers, type 'K'.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

3 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Next, select the cc layer in LSW. 4 contacts need to be placed that have the size 0.6um by 0.6um. Using the rectangle
function, place the first one in the upper right corner of the nactive layer, giving a 0.3um distance between the outer edges of
the nactive layer. Place the next one directly below the first, with a 0.9um gap between the two. Place the third and fourth
similiarly, but starting from the bottom left corner.
Next, surround the contacts created with the metal 1 layer (select metal1 in LSW) and make sure they overlap the contacts
by 0.3um. It is easier to understand exactly how to design this by looking at the pictures provided.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

4 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

These metal layers with their respective contacts are the drain and source of the transistor. To create the gate, we will select
the poly layer from LSW. Create a skinny rectangle of the poly layer that goes straight through the middle of the nactive
layer. Make sure that there is a 0.3um gap between the metal1 and poly layers and that the poly overhangs the nactive layer
(on each end) by 0.6um.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

5 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Finally, for the nmos, select the nselect layer from the LSW and place it around the outside of the nactive layer so that there
is 0.6um between the two layers (the upper and lower edges of the nselect layer will touch the poly layer).

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

6 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

When drawing the pmos, follow a similar procedure as with the nmos, but with the pactive and pselect layers instead of the
nactive and nselect layers, and make the dimensions 6.0um by 3.6um. Make 4 contacts on each side instead of 2. Zoom out
from the nmos and draw the layout for the pmos somewhere nearby. Make the contacts and metal layers on the pmos
opposite as they were on the nmos (metal layer touching upper left and bottom right corners).

Now, select the nwell layer from the LSW and outline pmos with a 2.1um gap between the nwell and pactive layers.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

7 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Now that the layout for the pmos and nmos transistors have been drawn up, let's connect them to make an inverter. First,
zoom out and move the nmos and pmos together so that there is 1.2um between the nwell and nselect layers and so that the
poly layers are lined up. The next step is to connect the gates of the transistors together (the poly layer) and create a contact
connected to the gate, made out of the metal1, poly, and cc layers. The cc should be 0.6um by 0.6um in dimension and the
metal1 and poly layers should overlap the cc layer by 0.3um on all edges.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

8 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Next, using the metal1 layer, draw the supply busses for VDD and VSS. Stretch the source of the pmos metal layer to the
upper edge of the poly layer. Now, create a 7.2um by 2.4um metal1 box centered about the nwell layer and connected to
the metal1 layer of the source. Similarly, follow the above procedure for the nmos.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

9 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Extend the nwell layer 0.3um above the metal1 layer of the pmos. Then, place a strip (6.0um by 1.2um) of the pactive layer
on the nmos and the same sized strip of the nactive on the pmos, both centered in the metal1 areas that were just placed.
Place the pselect layer on top of the metal1 box of the nmos and the nselect layer on top of the metal1 box of the pmos.
Evenly space out three contacts (by having 0.3um from the edges and 1.8um between each contact) using the cc layer within
each strip. Each contact should be 0.6um by 0.6um. What you have just created are the substrate contacts.
Connect the drains of the pmos and nmos (the metal layers on the right of each transistor) using the metal1 layer.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

10 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

The next step is to create some pins. You will need to create 3 input pins (IN, vdd!, and gnd!) and one output pin (OUT). If
you type 'Ctrl+p', the Create Symbolic Pin window will appear. After this window has appeared, select the metal1 layer in
the LSW. Back in the Create Symbolic Pin window, enable "Display Pin Name" and choose input in the "I/O Type" section
for inputs and output for outputs. For each pin, type in the name and in the Virtuoso Layout Editing window, select the
starting and stopping points of the pin shape (1.2um by 1.2um). Place "IN" on the small poly box you placed before. Place
"vdd!" and "gnd!" on the right contacts of the pmos and nmos sources, respectively. Place "OUT" somewhere on the common
drain metal1 layer. Observe the picture below for a better idea of how this should look.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

11 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Design Rules Check


Now that the layout of the inverter is complete, it needs to be checked to make sure it is meeting all of the standard criteria
set by the design rules.
First, save your layout. Then, select Verify -> DRC...

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

12 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Make sure that the "Rules File" field contains "divaDRC.rul". This is the file that contains all of the design rules that the
layout must adhere to. You do not need to worry about changing any of the other options. Select OK. Then, check the CIW
to make sure there were no errors. If there were any errors, the layer that the error is pertaining to will be highlighted in the
Virtuoso Layout Editing window. Also, in the CIW, it will tell you the design rule that has been violated. To find out about
the specifics of the rule your layout has violated, download the list of the design rules here. Once you have found and fixed
any errors, you are now ready to extract the layout.

Extracting the Layout


To extract the layout, select Verify -> Extract... in the Virtuoso Layout Editor window.

Leave all of the default settings and verify that the "Rules File" is "divaEXT.rul". Select OK. Verify that there are no errors in
the CIW. A new "extracted" cell view has been created in your library. You can verify this by checking in the Library
Manager Window.

Layout Versus Schematic Check


Now, let us compare the layout with the previous built schematic. Select Verify -> LVS... in the Virtuoso Layout Editor

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

13 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

window. The LVS window will appear and enter the schematic cell in the "schematic" area and the layout cell in the "layout"
area. Make sure that all of the other options read like the image below, including the "Rules File" and "Rules Library".

To check that the layout and schematic are the same, select Run. If the LVS succeeded, you should get a message saying so.

This message does not necessarily mean that there weren't any errors though, so in the LVS window, select Output to display
the results of the check. If there weren't any errors, the output report should read "The netlists match". If the netlists didn't
match, it may be because you used different names in the schematic from the names you used in the layout. There are other
examples of why they won't match, but if you have followed this tutorial and the previous one, you shouldn't have any
problems.

1/10/2015 12:44 PM

Analog Tutorial 3: Layout of an Inverter

14 of 14

http://ece451web.groups.et.byu.net/cadence-help/tutA3.html

Lastly, to perform a post-layout simulation, we need to extract the layout. By doing this, we can compare the functionality of
the previously built inverter to see how closely they match. In the LVS window, select Build Analog. Select OK when the
Build Analog Extracted View window appears.

1/10/2015 12:44 PM

Vous aimerez peut-être aussi