Vlsi Lab Manual
Vlsi Lab Manual
TECHNOLOGY
SECTOR -128,
NOIDA
EXPERIMENT NO: 1
AIM: Introduction of Cadence tool, Schematic Editor, Layout Editor and Transient analysis of
RC circuit.
TOOLS REQUIRED: PC,CADENCE TOOLS
PROCEDURE:
1-Introduction
This lab is a tutorial on Cadence Virtuoso, which is the simulation tool we will use for the
rest of the semester. The official program name is Virtuoso, but the common name among
users is just Cadence. We will use the name Cadence in this class.
analogLib - the basic analog components (resistors, capacitors, voltage and current
sources, etc)
umc65ll - the actual components that we will use in the lab (transistors, diodes,
opamps, ...). We won't use them in this tutorial.
lab0 - your designs
The views that we will use for each cell are: -
schematic - the actual circuit, the components and interconnections
spectre - the simulation setup
symbol - the appearance of the cell in another schematic view
P age |3
At this point, Cadence will prompt you for something called a Technology File. The technology
file is collection of information and libraries that define the layers and devices available for a
given process technology.
For this class, we will use gpdk 180 technology file. Therefore, go ahead and choose ‘Attach
to an existing technology library’.
P age |4
This is a general tip in Cadence - if you expect a window to open and it's not there, check the
taskbar!
We will give it a name "tutorial", the type should be "schematic". Note that you can make cells
in any available library by choosing proper one from ‘Library’ (if you have permissions to
edit).
Click OK. The following window will open:
P age |5
Click "Always" to avoid getting this message later. The schematic window will open:
This is the main window where we'll draw our circuit. Generally, we won't use the menus, but
key board shortcuts.
Adding components: -To add an element, click "i". The following window will appear: -
You can type the library, cell and view names, or click Browse:
Select "analogLib" library, "res" cell and "symbol" view. Another window will open:
P age |6
Here you specify the parameters of the component. A resistor has a single parameter
(resistance), change it to 20kΩ.
In Cadence you don't have to write the units (Ohms, volts, etc.). For the resistance, type
20k and hit Tab. The Ohms will be automatically completed. The useful prefixes in Cadence
are single letters: p - pico, n - nano, u - micro, m - milli, k - kilo, M - mega, G – giga.
Click on the schematic window to place the resistor. The useful components in the analogLib
library are:
res Resistor
cap Capacitor
gnd Ground
vdc/idc DC voltage/current source
vsin/isin Sinusoidal voltage/current source
vpulse/ipulse Square-wave voltage/current source
iprobe Current meter
P age |7
Now add another resistor of 10kΩ. Click "Rotate" to make it horizontal and place it on the
schematic:
To create a wire label, click "l" (lowercase L). Type out and click on the wire. Click
Esc. Now you have the following schematic:
P age |8
Labels can be used to connect nodes. If you want to connect two nodes in your circuit, you can
give them the same label, without connecting them with a wire. It is usually useful for large
circuits, to reduce the number of wires. Labels are also useful for output expressions, as we
will see later.
Other useful shortcuts Components: - click on the desired component, then click:
• c - copy component
• m - move component (preserves the wire connections)
• Shift+M - move component (without the wire connections)
• q - edit component properties (same window as the add component window)
• f - fits the circuit to fit the screen
• mouse scroll - zoom in and out
• z - selects area to zoom
• Shift+X - check and save. Check that all nodes are connected properly. If you have errors, you have to fix
them to simulate the circuit. You can run simulations if you have warnings. Pay attention to the warnings,
usually they indicate a problem in your circuit, like unconnected nodes.
P age |9
2-Transient simulation of RC circuit: -
The RC circuit shown in fig. is a low pass filter having 3-dB cut-off frequency is fc,
where 𝑓c = 1 /2𝜋𝑅𝐶
10kΩ
V 10n F
Figure 1: RC circuit
A capacitor has the ability to store an electrical charge and energy. The voltage across the
capacitor is related to the charge by the equation V=Q/C for steady state values, or expressed as
an instantaneous value dv=dq/C.
We will study the transient response of the RC circuit, which is the response to a sudden change
in voltage.
In this experiment, we apply a pulse waveform to the RC circuit to analyze the transient response
of the circuit. The pulse-width relative to a circuit’s time constant determines how it is affected
by an RC circuit.
Time Constant (τ): A measure of time required for certain changes in voltages and currents in
RC and RL circuits. Generally, when the elapsed time exceeds five time constants (5τ) after
switching has occurred, the currents and voltages have reached their final value, which is also
called steady-state response.
The time constant of an RC circuit is the product of equivalent capacitance and the Thévenin
resistance as viewed from the terminals of the equivalent capacitor.
τ = RC
A Pulse is a voltage or current that changes from one level to the other and back again. If a
waveform’s high time equals its low time, it is called a square wave. The length of each cycle of
a pulse train is termed its period (T).
The pulse width (tp) of an ideal square wave is equal to half the time period. The relation
between pulse width and frequency is then given by,
𝑓 = 1/2𝑡𝑝
From Kirchoff’s laws, it can be shown that the charging voltage VC (t) across the capacitor is
given by:
V(𝑡) = 𝑉(1 − 𝑒 –𝑡/𝑅𝐶), 𝑡 ≥ 0
Where, V is the applied source voltage to the circuit for t ≥ 0. τ =RC is the time constant.
The response curve, showing capacitor charging for Series RC circuit to a step input with
time axis normalized by τ is shown in Fig. 2.
P a g e | 10
Fig. 2.
The discharge voltage for the capacitor is given by:
V(𝑡) = V𝑜𝑒−𝑡/𝑅𝐶 , 𝑡 ≥ 0
Where Vo is the initial voltage stored in capacitor at t = 0, and τ=RC is time constant. The response
curve is a decaying exponentials as shown in Fig. 3.
Fig. 3.
P a g e | 11
Now you can design the following RC circuit, Click Shift+X to check and save your schematic.
To open the simulation window, click Launch -> ADE L. You will see the following window:
- Click "Always" to avoid getting this message later.
P a g e | 12
In this part of the tutorial we will perform a DC simulation. Select dc, and check "Save
DC operating point":
Click OK.
P a g e | 13
The Outputs box - specifying the simulation outputs
After performing the simulation, we should specify the results that we are
interested in. In the Outputs box: right click -> Edit.
In the Name section type: out_dc.
In the Expression section, type: VDC("/out"):
Click OK.
We created an output expression named "out_dc" for the DC voltage at the node "out".
A very useful tool in Cadence for the output expressions syntax is the calculator. In the
main ADE window: Tools -> Calculator. At the bottom, you have a list of the various
functions that can be performed on the simulation results. If you are not sure about the
command syntax, the Calculator is a very useful place to start.
The syntax for the output expressions is:
So, the component name is R0 and the terminal name is PLUS. For the output DC current
through this node add the following output expression: IDC("/R0/PLUS"):
Another option is to click on idc in the Calculator, and then click on the resistor terminal. To
save your simulation setup: Session -> Save State. At the top change to "Cell view":
Click the "play" button to perform the simulation. You should see the simulated DC
voltage and current at the Value column. Add the screenshot of the ADE window with the
simulated result to your lab worksheet.
14
P a g e | 15
EXPERIMENT NO: - 2
AIM: - To study the I-V characteristics of NMOS and PMOS transistors.
Procedure: -
• Set up the new file form cell name and schematic view.
• Click OK when done the above settings. A blank schematic window is designappears.
• 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 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.
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.
• Type the pin name 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/inputOutput when placing
the input/output/inout pins respectively and the Usage field is set to schematic.
• Select Cancel from the Add – pin form after placing the pins.
In the schematic window, execute Window— Fit or press the f bindkey.
P a g e | 17
• You can also press the w key, or execute Create — Wire (narrow).
• In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape appears over the starting point of this wire.
• Complete the wiring and when done wiring press ESC key in the schematic window.
• Click the Check and Save icon in the schematic editor window.
• Observe the CIW output area for any errors.
VGS (V)
Fig. 3 Input transfer characteristics of NMOS
VDS (V)
Fig. 4 Input transfer characteristics of PMOS
P a g e | 19
RESULT: -
P a g e | 20
EXPERIMENT NO: 3
AIM: To obtain the NMOSFET parameters: kn, vto, vt, γ and λ.
TOOLS REQUIRED: PC,CADENCE TOOLS
D S
G B G B
S D
Fig. 1: NMOS Transistor Fig. 2: PMOS Transistor
A cross sectional view of an NMOS transistor is shown in Figure 3. When the potential difference
between the source (S) and the Drain (D) is small (~0 V), and a large potential (> V T0) is applied
between the gate (G) and source, the transistor will be operating in the linear or ohmic region. The
positive gate potential causes electrons to gather below the surface of the substrate near the gate in a
process called "inversion". This region of mobile charge forms a "channel" between the source and
drain. The amount ofcharge is a function of the gate capacitance (Cox) and the gate-to-source overdrive
voltage:
Q m = Cox(V GS — VT0)
S G D
+++++++++++++
------------------
N+ N+
Qm
P-
The term VT0 is the threshold voltage. When the gate-to-source voltage (VGS) exceeds this value, an
inversion region is formed. Before reaching the inversion region, as the gate-to-source voltage is increased,
the transistor passes through the accumulation region where holes are repelled from and electrons are
attracted to the substrate region under the gate. Immediately before inversion, the transistor reaches the
depletion region (weak-inversion) when the gate to source voltage is approximately equal to the threshold
voltage. In this region a very small current flows.
P a g e | 21
In the linear region, the MOSFET acts a voltage controlled resistor. Resistance is determined by V GS,
transistor size, and process parameters.
When the drain-to-source voltage (VDS) is increased, the quantity and distribution of mobile charge
carriers becomes a function of VDS as well. Now the total charge is given by:
The threshold voltage (now denoted as VT) becomes a function of VDS. This distribution of this charge
is such that Qm is greater near the source and less near the drain. To find the channel conductance, the
charge must be recast as a function of position Qm(y) and integrated from the source to drain. Since
the charge is a function of VDS, the conductance depends on VDS. The channel current becomes:
As VDS increases, eventually the drain current saturates, That is, an increase in VDS does not
cause an increase in current. The saturation voltage depends on VGS and is given by:
At this point the transistor is operating in the saturation region. This region is commonly used for
amplification applications. In saturation, ID actually depends weakly on VDS with the parameter λ.
Also, the threshold voltage depends on the bulk-to-source voltage (VBS) through the parameter γ.
A better equation for the MOSFET (that includes the effects of VBS) in saturation is given by:
When VGS is less than the threshold voltage, the channel also conducts current. This region of
operation is called weak-inversion or sub-threshold conduction. It is characterized by an
exponential relationship between VGS and ID. Also, when VGS becomes very large the charge
carrier's velocity no longer increases with the applied voltage. This region is known as velocity
saturation and has an ID that depends linearly on VGS as opposed to the quadratic relation shown
above.
CGB=CGBO*L GATE
CGD=CGDO*W CGS=CGSO*W
RD=RSH*NRD RS=RSH*NRS
DRAIN SOURCE
POLY Si
WM
LM
TOX OXIDE
N+ L N+ XJ
L
D
CJD=CJ*AD P- CJS=CJ*AS
The reverse-biased junctions between the active regions and the bulk form the parasitic capacitors
CDB and CSB. The conductivity of the active regions forms the parasitic resistors R D and RS. A
schematic symbol with these parasitic elements is illustrated in Figure 5.
DRAIN
RD
CGD CDB=CJD+CSWD
GATE BULK
RG RB
CGS CSB=CJS+CSWS
RS
SOURCE
Fig. 5: MOSFET Parasitic Resistors and Capacitors
P a g e | 23
Device Characterization
To characterize the MOSFETs so that hand calculations can be done in the future, simulations
need to be done to measure KP, VT0, λ and γ. These parameters will be used in future labs, project
and other assignments. We will be performing the calculation of the four parameters on two
different device sizes for each of the two types of MOSFETs so that parameter variation may be
observed. The test setups for the NMOS is shown in Figure 6.
Measuring λ
To measure λ you need to do a DC sweep of VDS and plot ID as shown in Figure 7. Each curve
represents a different VGS value. Any one of these curves can be used to calculate λ. Make sure
that VBS is 0V for this simulation. The formula for calculating λ given two points on the saturation
portion of a single curve is:
Measuring VT0
VT0 can also be obtained from Figure 7. Using the saturation portion of two curves with equal
VDS thenVT0 can be calculated as:
P a g e | 24
Measuring Kp
Knowing λ and VT0, KP can easily be found from the equation for a MOSFET drain current in the saturationregion.
A little algebra gives that KP is:
Measuring γ
To obtain γ you must first give the transistor a non-zero VBS. Next, calculate the new VT using the same
procedure that you used to obtain VT0 where 2ΦF = 0.7 V. γ is given as:
Additional Notes
While in graph mode, you can use the "M" key to insert a marker. The "A" and "B" keys will insert markersas well,
except they will give the dx, dy and slope between the two points. The "H" key will generate a horizontal bar, and
the "V" key will generate a vertical bar.
CIRCUIT DIAGRAM:
VDS (V)
Fig. 7: Parametric Plot of the NMOS Transistor
RESULT: -
P a g e | 26
EXPERIMENT NO: - 4
AIM: - To analyze the voltage transfer characteristics (VTC) of resistive-load NMOS inverter and calculate
VOH, VOL, VIH, VIL and Vth.
Procedure: -
• Set up the new file form cell name and schematic view.
• Click OK when done the above settings. A blank schematic window for the inverter designappears.
• 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 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.
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.
• Type the pin name 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/inputOutput when placing the input/output/inout
pins respectively and the Usage field is set to schematic.
• Select Cancel from the Add – pin form after placing the pins.
In the schematic window, execute Window— Fit or press the f bindkey.
• You can also press the w key, or execute Create — Wire (narrow).
• In the schematic window, click on a pin of one of your components as the first point for your wiring. A
diamond shape appears over the starting point of this wire.
• Complete the wiring and when done wiring press ESC key in the schematic window.
• Click the Check and Save icon in the schematic editor window.
• Observe the CIW output area for any errors.
P a g e | 28
RESULT: -
P a g e | 29
(6) To analyze the transient response of CMOS inverter and calculate the propagation delay, rise time and fall
time.
PROCEDURE:
Schematic Entry:
Objective: To create a library and build a schematic of an Inverter
Below steps explain the creation of new library “myDesignLib” and we will use the same throughout this
course for building various cells that we going to create in the next labs. Execute Tools – Library Manager
in the CIW or Virtuoso window to open Library Manager.
P a g e | 30
In the “New Library” form, type “myDesignLib” in the Name section.In the field of Directory
section, verify that the path to the library is set to
~/Database/cadence_analog_labs_613 and click OK.
Note: A technology file is not required if you are not interested to do the layouts for the design.
In the next “Technology File for New library” form, select option Attach to an existing techfile and click OK.
In the “Attach Design Library to Technology File” form, select gpdk180 from the cyclic field and click
OK.
P a g e | 31
After creating a new library you can verify it from the library manager.
If you right click on the “myDesignLib” and select properties, you will find that gpdk180 library
is attached as techlib to “myDesignLib”.
Click OK when done the above settings. A blank schematic window for the Inverter design appears.
In the Inverter schematic window, click the Instance fixed menu icon to display the Add Instance
form.
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 Cell Name Properties/Comments
You can rotate components at the time you place them, or use the Edit— Rotate command after they are
placed.
Adding pins to Schematic
Click the Pin fixed menu icon in the schematic window. You can also execute
vin Input
vout Output
Make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pins respectively and the Usage field is set to schematic.
Select Cancel from the Add – pin form after placing the pins. In the schematic window, execute
Click the Check and Save icon in the schematic editor window.
Observe the CIW output area for any errors.
Symbol Creation
In this section, you will create a symbol for your inverter design so you can place it in a test circuit
for simulation. A symbol view is extremely important step in the design process. The symbol view
must exist for the schematic to be used in a hierarchy. In addition, the symbol has attached properties
(cds Param) that facilitate the simulation and the design of the circuit.
In the Inverter schematic window, execute Create — Cellview— From Cellview.
The Cellview From Cellview form appears. With the Edit Options function active, you can control the
P a g e | 34
appearance of the symbol to generate.
Verify that the From View Name field is set to schematic, and the To View Name field is set to
symbol, with the Tool/Data Type set as Schematic Symbol.
Editing a Symbol
In this section we will modify the inverter symbol to look like a Inverter gate symbol.
Move the cursor over the automatically generated symbol, until the green rectangle is highlighted,
click
left to select it.
Click Delete icon in the symbol window, similarly select the red rectangle and delete that.
Execute Create – Shape – polygon, and draw a shape similar to triangle.
After creating the triangle press ESC key.
Execute Create – Shape – Circle to make a circle at the end of triangle.
You can move the pin names according to the location.
Execute Create — Selection Box. In the Add Selection Box form, click
Automatic.A new red selection box is automatically added.
After creating symbol, click on the save icon in the symbol editor window to save the symbol. In the
symbol editor, execute File — Close to close the symbol view window.
P a g e | 36
Click OK when done. A blank schematic window for the Inverter_Test design appears.
Note: Remember to set the values for VDD and VSS. Otherwise; your circuit will have no power.Add the
above components using Create — Instance or by pressing I.
below schematic.
Choosing a Simulator
Set the environment to use the Spectre® tool, a high speed, highly accurate analog simulator. Use
this simulator with the Inverter_Test design, which is made-up of analog components.
In the simulation window (ADE), execute Setup— Simulator/Directory/Host.
In the Choosing Simulator form, set the Simulator field to spectre (Not spectreS) and click OK.
Setting the Model Libraries:
The Model Library file contains the model files that describe the nmos and pmos devices during
simulation.
In the simulation window (ADE), Execute Setup - Model Libraries. The Model Library Setup form
appears. Click the browse button to add gpdk.scs if notadded by default as shown in the
Model Library Setup form.
Remember to select the section type as stat in front of the gpdk.scs file. Your Model Library
Setup window should now looks like the below figure.
P a g e | 38
To view the model file, highlight the expression in the Model Library File field and Click Edit File.
To complete the Model Library Setup, move the cursor and click OK. The Model Library Setup allows
you to include multiple model files. It also allows you to use the Edit button to view the model file.
Choosing Analyses
This section demonstrates how to view and select the different types of analyses to complete the
circuit when 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 Transient, DC plots automatically will be popped up along with log file.
P a g e | 41
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.
These numbers vary the value of the wp of the pmos between 1um and 10um at ten evenly
spaced intervals.
P a g e | 43
Execute Analysis—Start.
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 wavescan window comes up with the plots for
different runs.
Note: Change the wp value of pmos device back to 2u and save the schematic before
proceeding to the next section of the lab. To do this use edits property option.
RESULT: Designed and verified the static (VTC) and dynamic characteristics of a digital CMOS
inverter.
CONCLUSION: -
43
P a g e | 44
EXPERIMENT NO :- 7
AIM: - To simulate the following logic gates and verify the truth tables:
44
P a g e | 45
Procedure: -
• Set up the new file form cell name and schematic view.
• Click OK when done the above settings. A blank schematic window for the NAND
designappears.
• 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 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.
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.
• Type the pin name 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/inputOutput when placing
the input/output/inout pins respectively and the Usage field is set to schematic.
• You can also press the w key, or execute Create — Wire (narrow).
• In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape appears over the starting point of this wire.
Complete the wiring and when done wiring press ESC key in the schematic window.
• Click the Check and Save icon in the schematic editor window.
46
P a g e | 47
• The Cellview From Cellview form appears. With the Edit Options function active, you
can control the appearance of the symbol to generate.
• Verify that the From View Name field is set to schematic, and the To View Name field is
set to symbol, with the Tool/Data Type set as SchematicSymbol.
• The Symbol Generation Form appears & Modify the Pin Specifications.
47
P a g e | 48
48
P a g e | 49
RESULT: -
49
P a g e | 50
50
P a g e | 51
Procedure: -
• Set up the New file form cell name and schematic view.
• Click OK when done the above settings. A blank schematic window for the NOR
designappears.
• After you complete the Add Instance form, move your cursor to the schematic window and
click left to place a component.
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.
51
P a g e | 52
• Type the pin name 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/inputOutput when placing
the input/output/inout pins respectively and the Usage field is set to schematic.
• Select Cancel from the Add – pin form after placing the pins.
In the schematic window, execute Window— Fit or press the f bindkey.
• You can also press the w key, or execute Create — Wire (narrow).
• In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape appears over the starting point of this wire.
Complete the wiring and when done wiring press ESC key in the schematic window.
• Click the Check and Save icon in the schematic editor window.
52
P a g e | 53
Symbol Creation
• In the NOR schematic window, execute Create — Cellview— From Cellview.
• The Cellview From Cellview form appears. With the Edit Options function active, you
can control the appearance of the symbol to generate.
• Verify that the From View Name field is set to schematic, and the To View Name field is
set to symbol, with the Tool/Data Type set as SchematicSymbol.
• The Symbol Generation Form appears & Modify the Pin Specifications.
53
P a g e | 54
54
P a g e | 55
RESULT: -
55