Cadence Schematic Editor Information  

In this chapter, you learn how to draw a CMOS inverter, check its connections, and create a symbol that you can use in a simulation. First read the general CAD information and complete the environment setup.

You will work through four stages: creating a library and schematic, placing the transistors, connecting and checking the circuit, and generating the symbol.

1. Create a library and an inverter schematic

After connecting to a lab workstation, launch Cadence Virtuoso from your working directory:

cd ~/Cadence
./run_virtuoso.sh

You will see a window that looks like this:

Command Interpreter Window.
The Command Interpreter Window (CIW) opens when you launch Virtuoso.

This window is called the Command Interpreter Window (CIW). Choose Tools → Library Manager. In the Library Manager, choose File → New → Library and name the library with your UNI. Wherever these instructions use yourUNI, substitute your own UNI.

New Library dialog.
Create a library named with your UNI to hold your design cells.

In the technology dialog, choose Attach to an existing technology library, then select tsmcN65.

Dialog for attaching a technology library.
Attach your library to the tsmcN65 technology library.

Your new library should appear in the Library Manager. Select your new library (make sure it's highlighted in gray) and choose File → New → Cellview. Enter these values:

FieldValue
LibraryyourUNI
Cellinverter
Viewschematic
Typeschematic
New Cellview dialog.
Create the schematic view of the inverter cell in your own library.

Click OK. The Schematic Editor opens. Check that the window title correctly identifies your library, the inverter cell, and the schematic view.

Empty inverter schematic in the Schematic Editor.
The empty schematic is your drawing area. You will add devices, wires, and pins here.

2. Place the PMOS and NMOS transistors

You are now ready to draw a circuit schematic in this window. You will use Figure 1 as your circuit reference. Look around for a few seconds and make yourself comfortable with the GUI.

CMOS inverter with a 400 nm PMOS above a 200 nm NMOS, joined gates and drains, and supply connections.
Figure 1. The CMOS inverter you will create uses a PMOS above an NMOS. Both channel lengths are 60 nm.

Choose Create → Instance, then click Browse. Select the library, cell, and view for the PMOS from the table below. Check the channel length in the l (M) field and set the width in the w (M) field.

SettingPMOSNMOS
LibrarytsmcN65tsmcN65
Cellpchnch
Viewsymbolsymbol
l (M)60n60n
w (M)400n200n

When entering a numerical value, type the number immediately followed by the scale suffix: for example, enter 400n for 400 nanometers. Do not enter 400 n or 400nm. The M unit indicator next to the field is populated automatically (you don't need to type it).

Transistor instance properties dialog.
You will see a new window called "Add Instance" with the details of the PMOS you are about to place. Check that the selected cell is pch and the dimensions are correct according to the table above. You can leave other settings as they are.

Move the pointer into the schematic and click the left mouse button to place the PMOS. Press Esc to end the command. Notice that each transistor has four terminals: gate, drain, source, and bulk (body).

Choose Create → Instance again, or press i. Select nch and enter the NMOS dimensions from the table. Place the NMOS vertically beneath the PMOS, then press Esc.

End each command by pressing Esc. Placement and editing commands may remain active after an action is completed, so hit Esc when you are finished with a command.

To edit device properties after it has been placed, select the device and press q. When you are done working with the selected device or devices, hit Ctrl+D to deselect everything.

3. Connect the circuit and check the schematic

Join the gates and drains with wires

Choose Create → Wire (narrow). Alternatively, hit w. Click the PMOS drain, then click the NMOS drain to connect the drains. Press Esc. Repeat the wiring command to join the gates and complete the connections shown in Figure 1.

Add input, output, and supply pins

Choose Create → Pin. Alternatively, press p. Add each pin separately, keeping the other form options unchanged:

Pin nameDirection
vininput
voutoutput
vddinputOutput
gndinputOutput

Naming rule: use lowercase letters and numbers for the pins and nets you name throughout this course. Do not add special characters such as # ! @ *.

Check and save before creating a symbol

Choose File → Check and Save, or click the box-and-check-mark icon. If there's any warnings about floating wires or pins, correct the connections, and run Check and Save again.

4. Create a reusable inverter symbol

In the Schematic Editor, choose Create → Cellview → From Cellview. Check that the library and cell match your inverter, and that you are generating a symbol from the schematic. Keep the other defaults and click OK.

Cellview from Cellview dialog for symbol generation.
Generate a symbol for the same library and inverter cell as your schematic.

In Symbol Generation Options, accept the default pin positions and click OK. The Symbol Editor will open with an auto generated symbol. You should redraw the symbol with a conventional inverter shape so that others (your colleagues, teammates, or future self) can easily recognize its function when reviewing your design.

Generated inverter symbol in the Symbol Editor.
The symbol you generate represents the inverter schematic. If you want to make your symbol look like the example above, check out this YouTube tutorial by Prof. Jeffrey Walling (Virginia Tech).

The shape of the symbol itself does not affect simulation because it is only a graphical representation. However, it is good practice to draw symbols in a way that clearly reflects their intended function, making your schematic easier to understand and communicate.

Check and Save the symbol, then close the schematic and symbol windows.

Keep these schematic editor shortcuts handy

Here are some common shortcuts you should get familiar with.

Again, you may also find the Cadence Hotkeys Guide by Prof. Aditya Muppala (UC Berkeley EECS) useful.

ActionKey or mouse control
Add an instancei
Draw a wirew
Add a pinp
Copy an instancec
Move an instancem
Edit instance propertiesq
Fit the schematic in the windowf
Delete an objectDelete
Move verticallyCtrl + scroll
Move horizontallyShift + scroll
Zoom in and outScroll the mouse wheel
Zoom to an areaRight-click and drag
End the current commandEsc

For commands such as copy, start the command before choosing the object: press c, click the instance, and click the destination. Press Esc when finished.

You have an inverter ready for simulation

You have generated a library, created a CMOS inverter, and saved a reusable symbol in Cadence Virtuoso. You can now place the inverter in a test circuit and simulate it.

Continue to simulate the inverter with Spectre.

[EE4321 HOME]