SimulationManualWithCadenceTools
SimulationManualWithCadenceTools
For EE3408C
June 2020
1|Page
Contents
1. INTRODUCTION ..................................................................................................................................... 3
1.1. Overview of Design Flow............................................................................................................... 3
1.2. Getting Started with Cadence ....................................................................................................... 5
1.3. Using Online Help.......................................................................................................................... 7
1.4. Exit Cadence .................................................................................................................................. 7
2. SCHEMATIC ENTRY ................................................................................................................................ 8
2.1. Creating a Schematic Cellview ...................................................................................................... 9
2.2. Adding Components to Schematic .............................................................................................. 10
2.3. Adding Pins to Schematic ............................................................................................................ 11
2.4. Adding Wires to Schematic ......................................................................................................... 12
2.5. Saving Your Design ...................................................................................................................... 13
3. SYMBOL AND TEST CIRCUIT CREATION............................................................................................... 14
3.1. Creating Symbol .......................................................................................................................... 14
3.2. Editing Symbol ............................................................................................................................ 15
3.3. Building Test Bench ..................................................................................................................... 17
4. SIMULATING YOUR CIRCUIT................................................................................................................ 20
4.1. Start the Simulation Environment .............................................................................................. 20
4.2. Selecting Project Directory.......................................................................................................... 20
4.3. Setup Model Library .................................................................................................................... 21
4.4. Choosing the Desired Analysis .................................................................................................... 21
4.5. Setup Variables ........................................................................................................................... 25
4.6. Saving Simulation Data ............................................................................................................... 26
4.7. Saving Output for Plotting .......................................................................................................... 26
4.8. Viewing the Netlists .................................................................................................................... 28
4.9. Running the Simulation ............................................................................................................... 29
5. VIEWING SIMULATION RESULTS…………………………………………………………………………………………………… 30
2|Page
1. INTRODUCTION
This manual describes how to use Cadence IC design tools.
The manual aims to provide a guide for fresh users. Following the manual, users can start
doing analog IC design even though the users don’t have any knowledge of the tools.
An inverter is used to illustrate the whole cycle of analog IC design, and Cadence
Generic 45nm (cg45nm) kit is the technology library used for implementing the inverter. The
method stated in the manual can be applied to other type of analog circuit design.
3|Page
Figure 1. Analog IC Design Flow
4|Page
The next step is parasitic extraction (PEX) to get the extracted view of the circuit, which is
used for post–layout simulation. The extracted view includes the parasitic effects in both the
instances/devices and the required wiring interconnects of the circuit.
Following DRC, LVS and PEX, it is post-layout simulation. The post-layout simulation is
essential to make sure that the circuit with the extra parasitic parameters functions well and
still meet the design specifications. If the performance of the post-layout simulation is not
acceptable, back to the stage of schematic entry to check the circuit. Basically, re-design the
circuit is necessary. Repeat the whole flow until the results of the post-layout simulation meet
the design specifications.
If everything is satisfactory, the next stage is GDSII Generation. It generates a file which
depicts the low level geometry of layout. GDSII format is industry standard format suitable for
a semiconductor company to fabricate and manufacture the chip of layout. This is briefed in
the last section of the manual.
This manual include the contents up to schematic level simulation only.
Upon logging into your account, you will be brought to the Linux Desktop Environment.
Right click on the desktop and click Open Terminal to open a “window” on the desktop. This
window is the Linux command line prompt at which you can run Linux commands. After
running a Linux command, this window also shows the output of the command.
The following steps show how to start Cadence virtuoso for doing schematic level simulation.
A. Create a working directory - project (it can be any name as you like) with the
command:
mkdir project
where mkdir is Linux command and the project is the directory name;
B. Enter the working directory with the command:
cd project
where the cd is the Linux command;
C. Check with GA about the environment setup for using the respective PDK.
D. Start cadence in the working directory – project with the following command:
virtuoso &
where virtuoso is the command to start Cadence IC design tool.
Now, Cadence tools are successfully started. Keeps only the Command Input Window
(CIW) which is shown in Figure 2.
5|Page
Figure 2. CIW Window
Do not close this CIW and try to keep it in view whenever you are using Cadence. Error
messages and output from some of the tools are always sent to the CIW. If something doesn't
appear to be working, always check the CIW for error messages. In addition, the CIW allows
the user great control over Cadence by interpreting skill commands which are typed into it.
E. In the CIW, select ToolsLibrary Manager. The Library Manager pop up as in
Figure 3. The Library Manager is where you create, add, copy, delete and organize
your libraries and cell views. The sample
6|Page
You can see that the library gpdk045 as well as some other libraries appear in the Library
column of the library manager. Yours could be different if different design kit is used.
Now, you have started Cadence tool and loaded the design kit successfully. There are some
documents in the doc folder under the design kit installation directory, and you can always refer
to these documents for the information such as devices, device models, DRC rules and others
related to the kit.
Next time, you need only to repeat the steps B and D, for launching Cadence virtuoso and
doing your project.
Cadence provides a comprehensive online manuals for all Cadence tools. You can launch
the online help by typing the following command at the Linux prompt.
cdnshelp
This invokes the online software manuals. Alternately, there is a help menu on each Cadence
window. Manual which is related to that window related will pop-up once clicking on the help
button.
To exit Cadence, just click on the cross sign X or FileExit in CIW. It is necessary to exit
Cadence when it is not in use. Your library file would be locked or cannot edited next time if
Cadence was not exited properly.
7|Page
2. SCHEMATIC ENTRY
Now that Cadence is running, you are almost ready to start entering schematics. However,
you must first create a library which will be used to store all the parts of your design. Then,
schematic can be created in the library. Creating a New Design Library
A. In the Library Manager window, select FileNewLibrary. New Library form
pops up as shown in Figure 4.
B. In the New Library form referring to Figure 4, key in your design library name
(example: test) in the field of Name, and then click Ok.
C. Click Ok in the pop-up window - the Technology File for New Library, referring to
Figure 5.
D. Choose gpdk045 in the Attach Library to Technology Library form, referring to
Figure 6, and then click Ok.
8|Page
Figure 6. Attach Library to Technology File Form
A new library, named test, should appear in your Library Manager window.
A. In Library Manager, select the Library where you would like to create a schematic. Then,
select FileNewCell View.
B. Set up the New File form as Figure 7
9|Page
In addition, note that some of the menu selections have alphabets listed to the right of
them. These are bind-key or shortcut-key definitions which are very useful in the long run.
Test them out during the schematic drawing in subsequent steps.
Figure 8 shows the schematic which you are going to patch, and the property of each
component is listed in Table 1.
Here is the example on how to add component instances by placing cell views from
libraries. Type “i” bind-key or select CreateInstance in the schematic window or click
on the menu bar to display Add Instance form. Then in the Add Instance window, select
gpdk045 as Library, choose the NMOS transistor by selecting nmos1v in Cell and also
choose symbol as View, as shown in Figure 9.
10 | P a g e
Figure 9. Add Instance Form
Similarly, add the pmos1v into the schematic. As an example, here we just keep all the
parameters as default.
If you place a component with the wrong parameter values, select the component and type
“q” bindkey or use the EditPropertiesObjects command to change the parameters. Use
the EditMove command or type “m” if you place components in the wrong location.
You must place I/O pins in your schematic to identify the inputs and the outputs. A pin can
be an input, output or an input-output (bi-directional) pin.
11 | P a g e
Type “p” or select Add Pin from inv Schematic Window or click the Pin fixed menu
icon in the schematic window. The Add Pin form appears as Figure 10.
Caution: Do not use the add component form to place schematic pins.
12 | P a g e
C. Follow the prompts at the bottom of the design window and click left mouse key on
the destination point for your wire.
D. Continue wiring the schematic. When done wiring, press Esc with your cursor in the
schematic window to cancel wiring.
Check the design to ensure that it is correct and save the design.
A. Click the Check and Save icon in the schematic window.
B. Observe the CIW output area, for the information of the check and save action.
13 | P a g e
3. SYMBOL AND TEST CIRCUIT CREATION
Symbols are useful when creating designs as it is impractical to show every transistor on the
top level schematic. Instead, the symbols of cells are created in order to instantiate them in the
higher level schematics and make them more readable (i.e. hierarchical designs). Create a symbol
for your design so you can place it in a test circuit for simulation.
A. In the inv schematic window, select Create Cellview From Cellview. Cellview
From Cellview pops up as shown in Figure 11.
14 | P a g e
Figure 12. Symbol Generation Options Form
C. Click OK in the Symbol Generation Options form. A window with a symbol created
automatically by the tools pops up, referring to Figure 13.
D. Observe the CIW output pane and note the messages stating Adding ‘CDF
information ...’.
You can modify the symbol to have a more meaningful shape for easy recognition.
15 | P a g e
A. Move your cursor over the symbol, until the entire green rectangle is highlighted. Click
left to select it.
B. Click Delete icon in the symbol window to delete the green rectangle.
C. Select CreateShapePolygon. Follow the prompts at the bottom of the symbol, and
draw the triangle shown in Figure 14.
D. Type “m” or click Move icon in the symbol window, move the pins to the final
destination.
E. Select [@partName], and use EditPropertiesObject to change it to inverter as
shown in Figure 14.
F. Save your edited symbol view. The final symbol is shown in Figure 15.
16 | P a g e
3.3. Building Test Bench
To test the inverter that you have just built, you need to create a test bench. This test bench
will also be used during the post-layout simulation.
Creating an inv_test schematic cellview with the below information, following the steps
listed in Section 2 – SCHEMATIC ENTRY. The test bench is as shown in Figure 17.
Library Name : test
Cell Name : inv_test
View Name : schematic
17 | P a g e
Figure 16. Vsin Form
18 | P a g e
Figure 17. Test Bench – inv_test for inv Circuit
Note:
There are wire names Vin and Vout in Figure 17. These can be created by clicking on
CreateWire Name on the inv_test schematic window. Key in Vin Vout in the Names field of
the Add Wire Name form, and then click Hide. Moving your mouse to the schematic window,
click the wire where you want it to be named in the same sequence as typing the names in the
Names field.
19 | P a g e
4. SIMULATING YOUR CIRCUIT
Before starting the simulation, make sure that the schematic (inv_test) is open, then perform
the following steps.
In the ADE window, select SetupModel Libraries. The Model Library setup form
appears. Double click the column of section, and then click the down arrow to choose tt which is
typical N and P model parameters. The model library setup for the inv_test circuit is shown in
Figure 20. Click ok on the setup form to finish the settings.
The information of models can be found in
/app11/cg45nm/gpdk045_v4_0/docs/gpdk045_pdk_referenceManual.pdf. Checking with GA
for the reference about the models you used if necessary.
21 | P a g e
Figure 21. Setup for AC Analysis
22 | P a g e
Figure 22. Setup for DC Analysis
23 | P a g e
Figure 23. Setup for Transient Analysis
24 | P a g e
Figure 24. Setup for XF Analysis
.
In the ADE window, click Variables. Enter the name as the variable name VDD, then set the value
as 1.1, and finally click Ok. Please take note that 1.1v is the nominal voltage for this technology.
25 | P a g e
Figure 25. Editing Design Variables
The simulation environment is configured to save all node voltages in the design by default.
In larger designs, where saving all of the data requires too much disk space, you can select a
specific set of node to save. Following steps show you how to select terminals to save.
1. In the ADE window, select OutputsSave All.
2. The Keep Options form appears. Do not modify the form at this time. However, if you
need to save less data, under the first option “Select signals to output”, Click “selected”.
Now you have set up the simulation environment which as shown in Figure 26. You can save
the simulation state. This saves all the information such as the Model Path, outputs, analyses,
environment options, and variables so that you do not need to repeat theses processes the next time.
26 | P a g e
Figure 26. ADE window with completed settings
In the ADE window, select SessionSave State. Tick Cellview and then click OK. You can
recall your settings by selecting SessionLoad State afterwards as Figure 27.
27 | P a g e
Figure 27. Saving Session State
Sometimes, you need to view the netlist of your circuit or design. You can do so through
the ADE, select SimulationNetlistCreate / Display / Recreate.
If there are any errors encountered during this step, check the messages in the CIW and
retrace your steps to see that all data was entered properly.
28 | P a g e
4.9. Running the Simulation
Select SimulationNetlist and Run to start the simulation or click on the Run
Simulation icon in the Simulation Window. After the simulation is done, a waveform window
will pop up as Figure 28.
Next session, will show how to browser the simulation results.
29 | P a g e
5. VIEWING SIMULATION RESULTS
In this section, we will browse the simulation results with exploring tools of Cadence
virtuoso.
Plotting AC Waveform
The direct plot function lets user easily choose signals from a design and plot them directly.
This is very useful in debugging a design while you view the waveforms at different nodes in
your circuit.
A. In the ADE window, select Results—>Direct Plot—>Transient Signal/ Transient
Signal Minus DC/ Transient Sum/ Transient Difference/ AC Magnitude/ AC Phase/
AC Magnitude & Phase
B. Follow the prompts at the bottom of your schematic window and select the nodes for
output.
For example, select Results—>Direct Plot—>AC Gain and Phase. Follow the instructions at
the bottom of the screen to select Vout then Vin. Note that clicking on the waveform
window can separate the waveforms.
You can create a horizontal or vertical marker by clicking Marker —> Create Marker…
on the waveform window. A Create Graph Marker windows pop up. Fill in the field of Y
positions for a horizontal marker (or X positions for a vertical marker), and then click OK.
For example, to create a horizontal marker with a value = 0 dB. Type 0 dB in the Y positions
of the Create Graph Marker window as Figure 31. Then, click OK. A horizontal marker as same
as H2 of Figure 30 will appear.
31 | P a g e
Figure 31. Create a Horizontal Marker
Explore the icons on the toolbar as well as the various items on the menu. Try to add markers
as that is something that will be used often during your simulations. You can also update the titles
and labels on your plot to make them easy to read or more meaningful, if necessary.
*Quick Tip : Shortcuts “a” and “b” to place a delta marker where you observe the difference
between two points. What does shortcuts “v” and “h” do?
DC operating points of a circuit and transistor operating points are important information, for a
circuit designer. This section, we will see how to get these information after running DC simulation.
DC Operating Points
A. Select the symbol (inverter for this sample) that DC operating points need to be checked,
and then click Edit—>Hierarchy—>Descend Read… (click Return to go back
afterwards).
B. Click OK in the popup window as Figure 32.
C. In the ADE window, select Results—>Annotate—> DC Operating Points. DC
operating point data appears near every component in your schematic window as Figure
33.
32 | P a g e
Figure 32. Edit Schematic Hierarchy
33 | P a g e
Figure 34. Transistor Operating Points
34 | P a g e
Figure 35. Transient Simulation Results
From this point, Markers can be used to look into the waveforms also as previous sections.
35 | P a g e
Figure 36. Direct Plot Form
36 | P a g e
By now, you have finished schematic level simulation (pre-layout simulation).
Next, it needs to draw the layout of the inverter circuit and then do post-layout simulation to
check the circuit performance, which is not included in this module.
37 | P a g e
6. CONCLUSION
Analog IC design method with Cadence IC 6 – Virtuoso is presented in this manual. The flow
as shown in Figure 1 is iterative and stops only when the design is satisfactory. The details of up-
to the schematic level simulation is described. I wish that the manual is helpful for users who want
to start learning analog IC design. You are welcome to feedback at any time.
REFERENCES
1. Virtuoso ADE Explorer User Guide, Product Version IC 6.1.7, January 2016.
2. Virtuoso Analog Design Environment XL User Guide, Product Version IC 6.1.7, January
2016.
38 | P a g e