CMOS Inverter Schematic-45nm

Prepared by Travis Schulze; Updated by Yin Sun

Before you Begin: Read FAQ's and Do's and Don'ts!

To start Cadence:

  • Login to the Linux System in EECH 107.

  • Open a terminal window.

  • Alternately, if you are logging in from a Windows system,

    • Click on the Start>Programs>XWin 32 2012>X-win 32; You can also use Xming

  • Then, open Putty (Start> Programs > Putty ) and enter a remote login rcXXxece107.managed.mst.edu where XX can be any number from 36 to 40

  • On the Putty left hand menu, navigate to Connections -> SSH -> X11 and select enable X11 forwarding.

  • Navigating back to the main screen on Putty select Open to connect

Note- this can be done from home if you first log into the University VPN. You will need to install Putty and XMING on your home computer.

If you are unfamiliar with Linux commands see FAQ page for frequently used Linux commands FAQs & Do's and Don'ts

  • Navigate to the S_DRIVE by using command "cd S_DRIVE"

  • Create a new directory just for this Cadence library using "mkdir GPDK". This will be the directory for the GPDK library and is only to be used for that library.

  • Important- from now on only start Cadence within this new GPDK directory. You will use this directory for all your labs and projects.

  • Navigate to the new directory using "cd GPDK".

  • In the command prompt, type: gpdk045.sh &

This starts cadence in the background. You will see the Command Interpreter window as shown in the following figure.

Creating a New library

    • Now you need to create a new library (to contain your schematics).

    • Go to File > New > Library. Then fill in the name of the new library (e.g. CpE_5210) in the dialog window, and leave the Path in default directory (this will create the library in the directory where you started virtuoso.

    • Click on Do Not Need Process Information. And then click OK.

    • Go to Tools->Library Manager. Use this library to create all your designs for this lab. The Library Manager window is opened from the Tools menu of the CIW.

Attaching the technology library

    • Now go back to the CIW and select Technology File Manager from the Tools menu.

    • Select Attach

    • We will be using gpdk045 for this and all of our labs. Select it and hit OK

Creating Schematic

  • Here, we will create a simple CMOS inverter circuit.

    • Go to File > New > Cellview. Choose CpE_5210 library in the Library options, then type in cmos_inv as the cell name and select schematic as the type. Click OK.

    • This will open the Virtuoso Schematic Editor Window.

NOTE- if Virtuoso asks you to use Schematic Editor XL that is ok too. Just click OK.

    • To place components, Go to Create > Instance. You may notice letters by some of these menu choices. Rather than clicking through all the menus, you can just hit that button on the keyboard to the same effect. These are called hot-keys. In the future, you can press i in order to insert an instance.

    • The Add Instance window appears. In this window, select Browse.

    • The Library Browser Appears. Navigate to gpdk045 under Library, Then find the nmos1v under Cell and then Click on Symbol under View. The window should look as shown in the figure below. This creates a four terminal NMOS transistor with a nominal threshold voltage. There are also three terminal transistors and high threshold options.

    • Remember to select Symbol view before placing the instance.

    • To place the instance, click the left mouse button to put the instance at the place desired. Press <Esc> to return to a normal cursor after you have finished placing all the transistors you want.

  • To set the property of the instance that you just placed or any object in your schematic or layout design, select the object by clicking on it and then go to Edit >properties>Object (or type q). An object properties editing form will pop up. You can change the width or length of the gate to the desired value. In this case, we use the default value.

  • Following the same technique, we can add an instance of a PMOS1v.

  • To connect any electrically connected devices, click on Create> wire(narrow) in the schematic window (or type w). Click at the terminal where the wire starts and click at the terminal where the wire ends, a wire will be automatically added. If you are not satisfied with the automatic wiring, you can remove the wire and reroute it manually. This time, instead of clicking at the terminal where the wire ends directly, you can click the left mouse button whenever you want to change the wire direction. If you want to stop the wire somewhere instead of connecting it to a terminal, double click your left mouse button and a dangling wire is created.

  • To create pins and labels, we have to specify its input/output behavior. We can achieve this through adding the pins for its input and output. For some global wires (like VDD and GND), we can simplify the I/O of the schematic by adding a label to each one of them. Click on Create >Pin (or type p) in the schematic window, the following dialogue box would appear.

  • For an input pin, choose the Direction to be INPUT. Specify the Pin Names (Vin in the example). Activate the schematic window and click on the left mouse to put the pin. Similarly we can put an output pin (Vout) to the output of the cell, choose the Direction to be OUTPUT. Remember the names are case sensitive. This will be important later so remember exactly what you named the pins.

  • Now we also need to add power supply and ground. First let's add ground by clicking on Instance again and then choosing AnalogLib and then symbol view of GND in the component browser window, then place one GND below the n transistor. Similarly add one VDD above the PMOS.

  • NOTE- DO NOT USE BASIC Library

  • The final schematic should look something like this:

  • After the design has been completed, click on Check and Save button to check and save your designs. Check the CIW window to see if there are any errors in your designs. If there any errors in the design, go back to the schematic and correct the errors.

  • When it saves without errors you are done!

Hot Keys :

i: Add instances

q: Edit properties

u : undo

w: Add wires

p: Add a pin

l: Label a wire

Shift + Z: Zoom out

Ctrl + Z: Zoom in

f: fit the schematic in your schematic window

Prepared by: Sambhav Kundaikar; Updated by Travis Schulze. Revised Oct. 10, 2014.