You are on page 1of 19

SCHOOL OF ELECTRONICS ENGINEERING

B.Tech Electronics and Communication Engineering

ECE301 VLSI System Design Lab

Task2-CMOS Inverter characteristics


using CADENCE
(DC and Transient Characteristics)

Prepared
By
Prof. Jagannadha Naidu K
Asst. Prof.(Sr.)
SENSE

VIT University.

1. In the linux terminal window,


enter: > virtuoso &
The virtuoso or CDS.log appears at the bottom of the screen.

2. Creating a Schematic Cellview


In the CIW or Library manager, execute File New Cellview.
Set up the New file form as follows:

Click OK when done the above settings. A blank schematic window for the Inverter design
appears.

3. Adding Components to schematic

In the Inverter schematic window, click the Instance fixed menu icon
Instance form.

to display the Add

Tip: You can also execute Create Instance or press i.


Click on the Browse button. This opens up a Library browser from which you can select
components and the symbol view.
You will update the Library Name, Cell Name, and the property values given in the table on
the next page as you place each component.
After you complete the Add Instance form, move your cursor to the schematic window and
click left to place a component.
This is a table of components for building the Inverter schematic.
Library name gpdk180
nmos For M1: Model name =
nmos1, W= 2u, L=180n

Cell Name

Properties/Comments

gpdk090

pmos

gpdk090

nmos

For M1: Model name = pmos1,


W= wp, L=100n
For M2: Model name = nmos1,
W= 120n, L=100n

If you place a component with the wrong parameter values, use the Edit Properties
Objects command to change the parameters. Use the Edit Move command if you place
components in the wrong location.

You can rotate components at the time you place them, or use the Edit Rotate command
after they are placed.
After entering components, click Cancel in the Add Instance form or press Esc with your
cursor in the schematic window.
For pmos

For nmos ..

After adding the pmos and nmos components

4. Adding pins to Schematic


Click the Pin fixed menu icon
in the schematic window. You can also execute Create
Pin or press p. The Add pin form appears.
Type the following in the Add pin form in the exact order leaving space between the pin
names.

Make sure that the direction field is set to input/output/inout when placing the
input/output/inout pins respectively and the Usage field is set to schematic.

For out pin

Select Cancel from the Add pin form after placing the pins.

5. Adding Wires to a Schematic


Click the Wire (narrow) icon in the schematic window. You can also press the w key, or
execute Create Wire (narrow).
Add voltage sources at input and output as follows
Library Name
analogLib

Cellview name
vpulse

analogLib

vdc, vdd, gnd

Properties
v1=0, v2=1.8,td=0 rise_time
= fall_time=1ps, period=2n,
width=1n
vdc=1.8

Complete the wiring as shown in figure and when done wiring press ESC key in the
schematic window to cancel wiring.

6. Saving the Design


Click the Check and Save icon
in the schematic editor window.
Observe the CDS.log window for any errors.

7. ADE Simulation with Spectre


Objective: To set up and run DC transfer characteristics simulation on the inv design and to
find the width of pmos transistor.
In this section, we will run the simulation for Inverter and plot the transient, DC
characteristics and we will do Parametric Analysis after the initial simulation.
Start the Simulation Environment to run a simulation.
In the inv schematic window, execute Launch ADE L The Virtuoso Analog Design
Environment (ADE) simulation window appears.
8. Choosing Analyses
This section demonstrates how to view and select the different types of analyses to complete
the circuit when running the simulation.

In the Simulation window (ADE), execute Analyses - Choose.


To set up for DC Analyses:
a. In the Analyses section, select dc.
b. In the DC Analyses section, turn on Save DC Operating Point.
c. Turn on the Component Parameter.
d. Double click the Select Component, Which takes you to the schematic window.
e. Select input signal vpulse source in the test schematic window.
f. Select DC Voltage in the Select Component Parameter form and click OK.
g. In the analysis form type start and stop voltages as 0 to 1.8 respectively. (linear
steps of 0.01)
h. Check the enable button and then click Apply.

Click OK in the Choosing Analyses Form.


9. Setting Design Variables
Set the values of any design variables in the circuit before simulating. Otherwise, the
simulation will not run.
In the Simulation window, click the Edit Variables icon. The Editing Design Variables form
appears.
Click Copy From at the bottom of the form. The design is scanned and all variables found in
the design are listed. In a few moments, the wp variable appears in the Table of Design
variables section.
Set the value of the wp variable: Value(Expr) 120n
Click Change and notice the update in the Table of Design Variables.
Click OK
10. Selecting Outputs for Plotting
Execute Outputs To be plotted Select on Schematic in the simulation window.
Follow the prompt at the bottom of the schematic window, Click on output net out, input net
in of the Inverter. Press ESC with the cursor in the schematic after selecting it.
Does the simulation window look like this?

11. Running the Simulation


Execute Simulation Netlist and Run in the simulation window to start the Simulation or
the icon, this will create the netlist as well as run the simulation.
When simulation finishes, the DC plots automatically will be popped up along with log file.

12. Parametric Analysis


To calculate the min. width of pmos transistor to get vin=vout=vdd/2
Parametric Analysis yields information similar to that provided by the Spectre sweep feature,
except the data is for a full range of sweeps for each parametric step. The Spectre sweep
feature provides sweep data at only one specified condition.
You will run a parametric DC analysis on the wp variable, of the PMOS device of the
Inverter design by sweeping the value of wp. Run a simulation before starting the parametric
tool.
You will start by loading the state from the previous simulation run. Run the simulation and
check for errors. When the simulation ends, a single waveform in the waveform window
displays the DC Response at the Vout node.
Starting the Parametric Analysis Tool
In the Simulation window, execute ToolsParametric Analysis. The Parametric Analysis
form appears.
In the Parametric Analysis form, execute SetupPick Name For VariableSweep
A selection window appears with a list of all variables in the design that you can sweep. This
list includes the variables that appear in the Design Variables section of the Simulation
window.
In the selection window, double click left on wp. The Variable Name field for Sweep in the
Parametric Analysis form is set to wp.
Change the Range Type and Step Control fields in the Parametric Analysis form as shown
below: Range Type From/To From 120n to 320n, linear Steps with step size =20n.
Execute AnalysisStart selected.
The Parametric Analysis window displays the number of runs remaining in the analysis and
the current value of the swept variable(s). Look in the upper right corner of the window. Once
the runs are completed the wave scan window comes up with the plots for different runs.

Calculate the wp to get vout=vin = vdd/2 (0.9 V).

13. To set up for Transient Analyses


Objective: To calculate delay and power dissipation of inverter.
Before starting transient analysis, go to schematic and change the pmos width value (value
calculated from parametric analysis)

Delete the design variable wp from ADE window

Now you need to choose the type of simulation. From ADE go to Analyses -> Choose....
In this case we will choose a transient analysis. Enter the stop time for transient analysis.
Lets type 10n for stop time. Click OK.
To calculate power, from ADE window Outputs -> save_all . Select power signals to output
-> all as shown below

Now we can finally simulate! Click on the Netlist and Run Simulation button (looks like a
green light) on the right or go to Simulation -> Netlist and Run.
It will start simulation. You will need to wait for a while. You should check your Virtuoso
window for messages while it is running the simulation.
Split the curves -> right click on the curve -> split current strip -> trace.

14. Calculate rise delay, fall delay and total delay


Use calculator for calculating delay
In waveform window choose Tools -> calculator and select the following options

delay
The delay function has 8 input arguments. The user has to indicate the name, voltage
threshold, edge, and edge type of each waveform. This function calculates the timing between
the voltage threshold of the rising edge of one waveform and the voltage threshold of the
falling edge of another waveform. In most cases, the voltage thresholds will be set to 50% of
their respective maximum voltage.
delay(voltage_waveform1,voltage_threshold1,edge_number1,"edge_type",voltage_waveform
2,voltage_threshold2, edge_number2,"edge_type")
voltage_waveform1/2 - This argument is the actual waveform you want to find the rise time
of.
voltage_threshold1/2 - This argument requires a voltage threshold value to indicate either
where the timing starts or ends.
edge_number1/2 - This argument indicates the n-th edge. So, if the argument was 2, then it
would find the 2nd edge.
edge_type - This argument indicates the type of edge: rising, falling, or either.
Set these parameters in the calculator as follows

Click ok Then press evaluation button

. It will display the rise delay value in ps.

Do same for falling delay by altering the edge type for signal 1 and signal 2.
15. Calculating total power
From waveform window, choose browser->results -> open results. Click on open.

This window changes as follows. Double click on tran, it displays .pwr in signals. Drag .pwr
signal to waveform display. (you will total power)

Drag
.pwr

Now youre on your own

You might also like