Cadence Tutorial
Cadence Tutorial
Cadence Tutorial
Prof. S. Gurunarayanan
Aalelai Vendhan (2021PHXF0445H)
Department of EEE
Birla Institute of Technology and Science Pilani, Hyderabad Campus
Academic Session
First Semester 2023 - 2024
MEL G621 - VLSI DESIGN
TABLE OF CONTENTS
1. Basics…………………………………………………………………………2
● Introduction………………………………………………………………..2
● Server Login……………………………………………………………….3
● Cadence Setup……………………………………………………………..4
2. Schematic Design…………………………………………………………….4
● Library Creation…………………………………………………………...4
● Cellview Creation………………………………………………………….6
● Schematic Creation…………………….…………………………….…….6
3. Running Spectre Simulation (DC Analysis)………………………………..10
● Launching ADE……………………………………………………………10
● Choosing Analysis…………………………………………………………10
● Plotting Signals……………………………………………………………11
● Running Simulation………………………………………………………..12
4. Running Spectre Simulation (Transient Analysis)………...………………13
● Altering Input…………………………………………….…………..……13
● Choosing Analysis…………………………………………………………13
● Plotting Signals……………………………………………………………13
● Running Simulation………………………………………………………..13
5. Power Measurement…………………………………………………………14
6. Delay Measurement………………………………………………………….17
7. Symbol Creation……………………………………………………………..17
8. Case Study - NMOS and PMOS DC Characteristics………………..……19
9. Important Notes……………………………………………………………..37
1
1. Basics
Introduction
This manual introduces the basic steps in setting up the Cadence Virtuoso
environment. It also explains the detailed process of creating a schematic, running
a simulation, and measuring the performance metrics. Throughout the DC
simulation, an NMOS transistor is used as a reference circuit. For transient
simulation, an inverter is used as a reference circuit. This course makes use of a
180nm technology node.
Server Login
Step 1: Click the Start menu on the desktop, and open Remote Desktop
Connection.
Step 2: Choose any one server node from the following and click Connect (Figure
1).
● 172.16.102.241
● 172.16.102.242
● 172.16.102.243
● 172.16.102.247
● 172.16.102.250
2
Step 3: Enter the group login credentials, i.e. username and password (Figure 2).
Cadence Setup
Step 1: Right-click anywhere on the screen and create a new folder on the Linux
desktop (Figure 3). The folder name must not contain any empty spaces.
3
Step 3: Type pwd for checking whether the working directory is correct. The
directory path should appear as follows;
/home/username/Desktop/Folder name
Ex: /home/Group1/Desktop/VLSILAB
Step 4: After checking the directory, the following command needs to be typed for
installing the analog library folder into your own folder.
scp -r /eeesoft/tool_library/cadence_analog_labs_613 /directory path
Ex: scp -r /eeesoft/tool_library/cadence_analog_labs_613 /home/Group1/Desktop/VLSILAB
Step 5: If the analog library is properly installed, a folder named
“cadence_analog_labs_613” will be available inside the initially created folder
(Figure 5).
2. Schematic Design
Library Creation
Step 1: Right-click on the cadence_analog_labs_613 folder and select Open in
Terminal.
Step 2: In the terminal window, type the following command and a log window
will be opened at the bottom of the screen (Figure 6).
virtuoso &
4
Figure 6. Cadence Virtuoso Log Window
Step 6: In the next dialog box, select gpdk180 (Figure 8) and click OK.
5
Cellview Creation
Step 1: From the log window, Open File→New→Cellview
Step 2: In the New File dialog box, select the library, which has been created
earlier and provide any cellview name (Figure 9), and click OK.
Schematic Creation
Step 1: Click Create→Instance from the toolbar menu (Figure 10).
6
Step 2: For creating NMOS and PMOS symbols, choose gpdk180 in the library,
and for other components like power supply, ground, etc. choose analogLib in the
library.
Step 3: For selecting the NMOS symbol, select gpdk180 in the library, nmos3 in
the cell column, and symbol in the view column (Figure 11).
Step 4: Hover the mouse pointer over the schematic editor and place the NMOS.
Step 5: For selecting the input sources (vpulse, vdc), select analogLib in the
library, vdc/vpulse in the cell column, and spectre in the view column.
Step 6: Place the remaining components required for building the schematic.
Step 7: Use a narrow wire for connecting the components (Figure 12).
7
Figure 12. Wire Creation
Step 9: Click on the NMOS symbol and press Q for displaying its properties.
Step 10: In the properties dialog box, change NMOS width to 400nm and click OK
(Figure 14).
8
Figure 14. NMOS Properties Dialog Box
Step 11: Similarly for the voltage sources, define their voltage values by clicking
on these sources, pressing Q, and providing 1.8 V in DC voltage value.
Step 12: Click Check and Save (Figure 15). Ensure that there are no errors and
warnings.
9
3. Running Spectre Simulation (DC Analysis)
Launching ADE
Step 1: Once the schematic is constructed, we need to simulate them. Click
Launch→ADE L (Figure 16).
Choosing Analysis
Step 1: Initially, the DC analysis is performed. Click Analysis→Choose.
Step 2: In the Analysis dialog box, choose dc. Select the Save DC Operating Point.
Step 3: Under Sweep Variable, select Component Parameter.
Step 4: Click Select Component and click VGS voltage source in the schematic.
Step 5: Select DC voltage and click OK.
Step 6: In the sweep range, make the start value 0 and the stop value 1.8 and click
OK (Figure 17).
10
Figure 17. DC Analysis Settings
Plotting Signals
Step 1: After setting up the analysis, for plotting the output, click Output→To Be
Plotted→Select On Design (Figure 18).
11
Figure 18. Output Signals
Step 2: From the schematic, choose the drain terminal of the transistor.
Running Simulation
Step 1: Click the Netlist and Run (Figure 19).
Step 2: Upon successful simulation, we will get the following graph (Figure 20).
12
4. Running Spectre Simulation (Transient Analysis)
Altering Inputs
Step 1: For performing a transient simulation, the input must be vpulse instead of
vdc.
Choosing Analysis
Step 1: Click Launch→ADE L. Click Analysis→Choose.
Step 2: Click Analysis→Choose. In the Analysis dialog box, choose transient.
Step 3: Provide any value for stop time w.r.t the input signal period and click OK.
Plotting Signals
Step 1: After setting up the analysis, for plotting the output, click Output→To Be
Plotted→Select On Design.
Step 2: From the schematic, choose both the input and output nets of the inverter.
Running Simulation
Step 1: Click the Netlist and Run
Step 2: Upon successful simulation, we will get the following graph (Figure 21).
13
5. Power Measurement
Step 1: Once the simulation is done and the outputs are verified, the average power
dissipation can be measured.
Step 2: After setting the analysis, click Outputs→Save All.
Step 3: In the Save Options dialog box, tick the “all” button in Select power
signals to output (pwr) (Figure 22) and click OK.
14
Step 4: Run the simulation and obtain the waveform.
Step 5: Click Tools→Results Browser from the ADE window.
Step 6: Now check the Signals window in the waveform window and find the
“tran” signal (Figure 23).
Step 7: Double-click the tran folder and find the “:pwr” signal.
Step 8: Right-click on :pwr and select the Calculator option, which opens the
calculator tool.
Step 9: Select “All” from the function panel and choose “average” from the list
and click OK (Figure 24).
15
Figure 24. Function Panel in Calculator
Step 10: Click the “Evaluate the buffer” option to display the average power
(Figure 25).
16
6. Delay Measurement
Step 1: Repeat steps 1 to 5 in the power measurement procedure.
Step 2: Delay is the average of tphl and tplh. For calculating tphl and tplh, mark
the 50% of both input and output waveform at rising and falling transitions. For
placing a marker, hover the mouse pointer over that value in the waveform and
press “m”. (Figure 26).
7. Symbol Creation
Step 1: Remove all the power sources such as vdc, vpulse from the schematic.
Step 2: Click Check and Save
Step 3: Click Create→Cellview→From Cellview
Step 4: By default, the library and cell name will be mapped correctly. If not,
select the correct library and cell in which the schematic is saved and click OK
(Figure 27).
17
Figure 27. Symbol Creation
Step 6: The created symbol window will open, where you can rename the part
name and also redraw the shape of the symbol if required (Figure 29).
18
Figure 29. Inverter Symbol
19
Step 2: Right-click on the cadence_analog_labs_613 folder and select Open in
Terminal.
Step 3: In the terminal window, type the following command “virtuoso &”
Step 4: From the virtuoso log window, create a new library by clicking
File→New→Library.
Step 5: We have created a library named “Exp_demo”. Under Technology File,
choose Attach to an existing technology library (Figure 30) and click OK.
Step 6: In the next dialog box, select gpdk180 and click OK.
Step 7: For creating a new cellview “nmos7.1”, from the log window, Open
File→New→Cellview.
Step 8: In the New File dialog box, select the library, which you created earlier and
provide any cellview name (Figure 31), and click OK.
20
Step 9: In the schematic window, Click Create→Instance from the toolbar menu.
Step 10: For selecting the NMOS symbol, select gpdk180 in the library, nmos3 in
the cell column, and symbol in the view column (Figure 32).
Step 11: Hover the mouse pointer over the schematic editor and place the NMOS.
Step 12: For selecting the input source vdc and ground terminal gnd, select
analogLib in the library, vdc/gnd in the cell column, and spectre in the view
column for vdc and symbol in the view column of gnd (Figure 33).
21
Step 13: Use a narrow wire for connecting the components (Figure 34).
Step 15: Click on the NMOS symbol and press Q for displaying its properties.
Step 16: In the properties dialog box, change NMOS width to 400 nm.
Step 17: Similarly for the voltage sources VGS and VDS, define their voltage values
by clicking on these sources, pressing Q, and providing 1.8 in DC voltage value.
22
Step 18: Click Check and Save and ensure that there are no errors and warnings.
Step 19: Once the schematic is constructed, simulate them by clicking
Launch→ADE L.
Step 20: In the ADE window, Click Analysis→Choose.
Step 21: In the Analysis dialog box, choose dc. Select the Save DC Operating
Point.
Step 22: Under Sweep Variable, select Component Parameter.
Step 23: Click Select Component and click VGS voltage source in the schematic.
Step 24: Select DC voltage and click OK.
Step 25: In the sweep range, make the start value 0 and the stop value 1.8 and click
OK (Figure 36).
23
Step 26: After setting up the analysis, click Output→To Be Plotted→Select On
Design to plot the output.
Step 27: From the schematic, choose the drain terminal of the transistor.
Step 28: In the ADE window, click the Netlist and Run (Figure 37).
Step 29: Upon successful simulation, the following graph will be obtained (Figure
38).
Step 30: For finding VT, place the mouse over the graph over the point where the
current starts to increase from zero and use a marker (press m) to find that voltage.
Step 31: By inferring the graph in Figure 38, VT is found to be 0.43 V.
24
8.2 NMOS VGS vs ID for variable VDS
Step 1: In the same library (Exp_demo), create a new cellview “nmos7.2”.
Step 2: Reconstruct the same circuit from 8.1 or copy the entire circuit from the
previous schematic by following steps 9 to 17 in section 8.1.
Step 3: Instead of giving VDS as 1.8 V, keep the DC Voltage of VDS as vds (Figure
39).
25
Step 5: Inside the ADE window, find the Design Variables tab, right-click on it,
and select Copy From Cellview (Figure 40).
Step 6: The variable vds will automatically occur in the Design Variables tab and
type the vds value as 1.8.
Step 7: In the ADE window, click Tools→Parametric Analysis.
Step 8: In the Parametric Analysis window, in the Add Variables column, select
vds, give the From and To values as 0 and 1.8 and Total Steps as 4.
Step 9: Click Run Selected Sweeps (Figure 41).
26
Step 10: Upon successful execution, the following graph will be obtained (Figure
42).
27
Figure 43. NMOS VDS vs ID Graph
28
Step 11: Click Run Selected Sweeps and the following graph will be obtained
(Figure 44).
29
Step 8: In the ADE window, click Tools→Parametric Analysis.
Step 9: In the Parametric Analysis window, in the Add Variables column, select w,
give the From and To values as 400n and 1u and Total Steps as 6.
Step 10: Click Run Selected Sweeps and the following graph will be obtained
(Figure 45).
30
Step 5: For selecting the input source vdc and ground terminal gnd, select
analogLib in the library, vdc/gnd in the cell column, and spectre in the view
column for vdc and symbol in the view column of gnd.
Step 6: Use a narrow wire for connecting the components.
Step 7: Complete the remaining circuit connections (Figure 46).
Step 8: Click on the PMOS symbol and press Q for displaying its properties.
Step 9: In the properties dialog box, change the PMOS width to 400 nm.
Step 10: Similarly for the voltage sources VGS and VDS, define their voltage values
by clicking on these sources, pressing Q, and providing -1.8 in DC voltage value.
Step 11: Click Check and Save and ensure that there are no errors and warnings.
Step 12: Once the schematic is constructed, simulate them by clicking
Launch→ADE L.
Step 13: In the ADE window, Click Analysis→Choose.
Step 14: In the Analysis dialog box, choose dc. Select the Save DC Operating
Point.
Step 15: Under Sweep Variable, select Component Parameter.
Step 16: Click Select Component and click VGS voltage source in the schematic.
Step 17: Select DC voltage and click OK.
31
Step 18: In the sweep range, make the start value -1.8 and the stop value 0 and
click OK.
Step 19: After setting up the analysis, click Output→To Be Plotted→Select On
Design to plot the output.
Step 20: From the schematic, choose the drain terminal of the transistor.
Step 21: In the ADE window, click the Netlist and Run.
Step 22: Upon successful simulation, the following graph will be obtained (Figure
47).
Step 23: For finding VT, place the mouse over the graph over the point where the
current starts to decrease from zero and use a marker (press m) to find that voltage.
Step 31: By inferring the graph in Figure 47, VT is found to be -0.43 V.
32
Step 2: Reconstruct the same circuit from 8.1 or copy the entire circuit from the
previous schematic by following steps 2 to 10 in section 8.6.1.
Step 3: Instead of giving VDS as -1.8 V, keep the DC Voltage of VDS as vds.
Step 4: Follow steps 11 to 20 in section 8.6.1.
Step 5: Inside the ADE window, find the Design Variables tab, right-click on it,
and select Copy From Cellview.
Step 6: The variable vds will automatically occur in the Design Variables tab and
type the vds value as -1.8.
Step 7: In the ADE window, click Tools→Parametric Analysis.
Step 8: In the Parametric Analysis window, in the Add Variables column, select
vds, give the From and To values as -1.8 and 0 and Total Steps as 4.
Step 9: Click Run Selected Sweeps.
Step 10: Upon successful execution, the following graph will be obtained (Figure
48).
33
8.6.3 PMOS VDS vs ID
Step 1: In the same library (Exp_demo), create a new cellview “pmos7.3”.
Step 2: Reconstruct the same circuit from 8.6.1 or copy the entire circuit from the
previous schematic.
Step 3: Follow steps 2 to 15 in section 8.6.1.
Step 4: Instead of selecting VGS under Select Component, now select VDS.
Step 5: Follow steps 17 to 21 in section 8.6.1.
Step 6: Upon successful simulation, the following graph will be obtained (Figure
49).
34
Step 2: Reconstruct the same circuit from 8.6.1 or copy the entire circuit from the
previous schematic by following steps 2 to 10 in section 8.6.1.
Step 3: Instead of giving VGS as 1.8 V, keep the DC Voltage of VGS as vgs.
Step 4: Follow steps 11 to 15 in section 8.6.1.
Step 5: Instead of selecting VGS under Select Component, now select VDS.
Step 6: Follow steps 17 to 20 in section 8.6.1.
Step 7: Inside the ADE window, find the Design Variables tab, right-click on it,
and select Copy From Cellview.
Step 8: The variable vgs will automatically occur in the Design Variables tab and
type the vgs value as -1.8.
Step 9: In the ADE window, click Tools→Parametric Analysis.
Step 10: In the Parametric Analysis window, in the Add Variables column, select
vgs, give the From and To values as -1.8 and 0, and Total Steps as 6.
Step 11: Click Run Selected Sweeps (Figure 50).
35
8.6.5 PMOS Width vs ID
Step 1: In the same library (Exp_demo), create a new cellview “pmos7.5”.
Step 2: Reconstruct the same circuit from 8.6.1 or copy the entire circuit from the
previous schematic.
Step 3: Follow steps 2 to 8 in section 8.6.1.
Step 4: Instead of giving the width as 400 nm, keep the width as w.
Step 5: Follow steps 10 to 20 in section 8.6.1
Step 6: Inside the ADE window, find the Design Variables tab, right-click on it,
and select Copy From Cellview.
Step 7: The variable w will automatically occur in the Design Variables tab and
type the w value as 1u.
Step 8: In the ADE window, click Tools→Parametric Analysis.
Step 9: In the Parametric Analysis window, in the Add Variables column, select w,
give the From and To values as 400n and 1u and Total Steps as 6.
Step 10: Click Run Selected Sweeps and the following graph will be obtained
(Figure 51).
36
9. Important Notes
● Check the Virtuoso log window for checking the error and warning messages.
● Always maintain the NMOS width as 400 nm, unless specified.
● Double-click on the graph lines for changing their properties.
● Solder dot on cross-over warning: Make sure that there are not more than three
wire connections at a single point (Figure 52).
● For selecting the input sources (vpulse, vdc), select analogLib in the library,
vdc/vpulse in the cell column, and spectre in the view column (Figure 53).
37
● For creating a common power supply refer to Figure 54. Once the following
circuit is created, then the Vdd symbol can be used (Figure 55).
Figure 54. Vdd Creation Figure 55. Vdd Symbol used in circuit
● The inputs and outputs can be labeled using pins. For creating a pin, click
Create Pin and provide the pin name, and pin direction, and click OK (Figure
56).
38
● When the Next License dialog box appears, click “Session” (Figure 57).
● If more than one plots overlap each other on the graph window, use the “Split
All Strips” option to view them separately (Figure 58).
● Steps to close Virtuoso: First close the schematics, ADE, and output windows.
Then in the virtuoso log window, click File→Exit. This process will exit the
Cadence Virtuoso. Then close the terminal window.
● Steps to log out of the server: Click the top right corner of the screen where the
username is displayed and select Quit. Then click Log Out. Do not directly
close the server.
39