Professional Documents
Culture Documents
1
VLSI Lab Manual
Net list:
.subckt INVNOT Y A
MN1 Y A GROUND VSS N L=2u W=5u M=1
MP1 Y A VDD VDD P L=2u W=10u M=1
.end INVNOT
MAIN CELL: Component pathname: /root/invnot/invnot_sim
V2 VDD GROUND DC 5V
V1 A GROUND PULSE ( 0V 5V 0S 1nS 1nS 20nS 50nS )
X_INVNOT1 Y A INVNOT
.end
Layout diagram:
2
VLSI Lab Manual
Waveforms:
Transient response:
3
VLSI Lab Manual
4
VLSI Lab Manual
Net list:
.subcktNANDGATE2 Y A B
MN2 N$7 B GROUND VSS N L=0.35u W=1.4u M=1
MN1 Y A N$7 VSS N L=0.35u W=1.4u M=1
MP2 Y A VDD VDD P L=0.35u W=1.4u M=1
MP1 Y B VDD VDD P L=0.35u W=1.4u M=1
.ends NANDGATE2
MAIN CELL: Component pathname: /root/nandgate2/nandgate2_sim
V3 VDD GROUND DC 5V
V2 A GROUND PATTERN 5 0 0 1n 1n 50n 00011011
V1 B GROUND PATTERN 5 0 0 1n 1n 50n 11010001
X_NANDGATE21 Y A B NANDGATE2
End
Waveforms:
5
VLSI Lab Manual
NOR GATE
Circuit diagram:
6
VLSI Lab Manual
Net list:
.subckt NOR100 Y A B
.ends NOR100
V1 VDD GROUND DC 5V
X_NOR1002 Y A B NOR100
.end
Waveforms:
7
VLSI Lab Manual
Circuit diagram:
8
VLSI Lab Manual
Net list:
.subcktFULLADD COUT SUM A B C
MP9 N$90 N$99 N$68 VDD P L=0.35u W=1.4u M=1
MP10 N$105 A N$68 VDD P L=0.35u W=1.4u M=1
MP11 N$106 B N$105 VDD P L=0.35u W=1.4u M=1
MN6 N$90 N$99 N$54 VSS N L=0.35u W=1.4u M=1
MP12 N$90 C N$106 VDD P L=0.35u W=1.4u M=1
MN7 N$54 A GROUND VSS N L=0.35u W=1.4u M=1
MN8 N$54 B GROUND VSS N L=0.35u W=1.4u M=1
MN9 N$54 C GROUND VSS N L=0.35u W=1.4u M=1
MN3 N$11 B GROUND VSS N L=0.35u W=1.4u M=1
MN4 N$120 A GROUND VSS N L=0.35u W=1.4u M=1
MN5 N$120 B GROUND VSS N L=0.35u W=1.4u M=1
MP6 N$68 C VDD VDD P L=0.35u W=1.4u M=1
MP7 N$68 B VDD VDD P L=0.35u W=1.4u M=1
MP8 N$68 A VDD VDD P L=0.35u W=1.4u M=1
MN1 N$99 C N$120 VSS N L=0.35u W=1.4u M=1
MN2 N$99 A N$11 VSS N L=0.35u W=1.4u M=1
MN14 COUT N$99 GROUND VSS N L=0.35u W=1.4u M=1
9
VLSI Lab Manual
10
VLSI Lab Manual
Aim: To design a schematic and draw the Layout for an SR LATCH using Mentor Graphics
Software.
Apparatus: Personal computer and Mentor Graphics Software.
Theory:
A latch is a sequential device that checks all of its inputs continuously and discharges
its outputs accordingly at any independent of a clocking signal. S-R latch uses two NAND
gates, these two gates are cross coupled so that the output of a NAND gate 1 is connected to
one of the input of NAND gate 2 and vice versa.
Procedure:
1. Set Lpu = 1.4U, Wpu = 0.35U and Lpd = 1.4U, Wpd = 0.35U for all transistors of the
Circuit Diagram inside the gate.
2. Apply Pattern = 010000010 for V1, Pattern = 10101000 for V2 and Pattern= 11011011 for
V3.
3. Keep Vhi = 5 and Vlo = 0 for V1,V2 and V3.
4. Apply DC Voltage of 5V.
Circuit diagram:
11
VLSI Lab Manual
Net list:
.subcktSRFLIPFLOP Q QB E R S
NAND2__NAND2 E R N$14
NAND2__NAND4 N$3 QB Q
NAND2__NAND5 Q N$14 QB
NAND2__NAND1 S E N$3
.ends SRFLIPFLOP
MAIN CELL: Component pathname: /root/srflipflop/srflipflop_sim
V4 VDD GROUND DC 1V
V3 E GROUND PATTERN 5 0 0 1n 1n 50n 11011011
V2 R GROUND PATTERN 5 0 0 1n 1n 50n 10101000
V1 S GROUND PATTERN 5 0 0 1n 1n 50n 01000010
X_SRFLIPFLOP1 Q QB E R S SRFLIPFLOP
.end
12
VLSI Lab Manual
Waveforms:
13
VLSI Lab Manual
14
VLSI Lab Manual
Circuit diagram:
15
VLSI Lab Manual
Net list:
.subcktDFLIPFLOP Q QB CLKB D
INV3 CLKB N$18
X_SRFLIPFLOP2 Q QB N$18 N$16 N$6 SRFLIPFLOP
INV1 D N$2
X_SRFLIPFLOP1 N$6 N$16 CLKB N$2 D SRFLIPFLOP
.ends DFLIPFLOP
MAIN CELL: Component pathname: /root/dflipflop/dflipflop_sim
V3 VDD GROUND DC 5V
V2 CLKB GROUND PATTERN 5 0 0 1n 1n 50n 0011001100110011
V1 D GROUND PATTERN 5 0 0 1n 1n 50n 0110100101111000
X_DFLIPFLOP1 Q QB CLKB D DFLIPFLOP
.end
Waveforms:
16
VLSI Lab Manual
17
VLSI Lab Manual
Net list:
.subcktCOUNTERAS Q0 Q1 Q2 CLK
X_DFLIPFLOP3 Q2 N$6 Q1 N$6 DFLIPFLOP
X_DFLIPFLOP2 Q1 N$4 Q0 N$4 DFLIPFLOP
X_DFLIPFLOP1 Q0 N$2 CLK N$2 DFLIPFLOP
.ends COUNTERAS
MAIN CELL: Component pathname: /root/counteras/counteras_sim
V2 VDD GROUND DC 5V
V1 CLK GROUND PATTERN 5 0 0 1n 1n 50n 0101010101010101
X_COUNTERAS1 Q0 Q1 Q2 CLK COUNTERAS
.end
Waveforms:
18
VLSI Lab Manual
19
VLSI Lab Manual
Net list:
.subcktSRAM Y BL WL
MN3 N$22 WL N$12 VSS N L=0.35u W=1.4u M=1
MN5 N$12 BL GROUND VSS N L=0.35u W=1.4u M=1
MN4 BL WL Y VSS N L=0.35u W=1.4u M=1
MP3 N$12 BL VDD VDD P L=0.35u W=1.4u M=1
MN2 Y N$22 GROUND VSS N L=0.35u W=1.4u M=1
MN1 N$22 Y GROUND VSS N L=0.35u W=1.4u M=1
MP2 Y N$22 VDD VDD P L=0.35u W=1.4u M=1
MP1 N$22 Y VDD VDD P L=0.35u W=1.4u M=1
.ends SRAM
MAIN CELL: Component pathname: /root/sram/sram_sim
V3 VDD GROUND DC 5V
V2 WL GROUND PATTERN 5 0 0 1n 1n 50n 10100110
V1 BL GROUND PATTERN 5 0 0 1n 1n 50n 01101101
X_SRAM1 Y BL WL SRAM
.end
20
VLSI Lab Manual
Waveforms:
21
VLSI Lab Manual
Net list:
.subckt NOT Y A
M2 Y A VDD VDD P L=0.35u W=1.4u M=1
.ends NOT
* Component pathname : /root/FS1/FS1
22
VLSI Lab Manual
.subckt FS1 Y A B
M12 N$18 B GROUND GROUND N L=0.35u W=1.4u M=1
.ends FS1
Wave forms:
23
VLSI Lab Manual
Circuit diagram:
24
VLSI Lab Manual
Net list:
.subckt DIFF1234 VOUT VBIAS VIN1 VIN2
M7 N$6 VBIAS GROUND GROUND N L=1u W=2u M=1
M6 N$6 VIN2 VOUT GROUND N L=1u W=2u M=1
M5 N$3 VIN1 N$6 GROUND N L=1u W=2u M=1
M3 VDD N$3 N$3 VDD P L=1u W=2u M=1
M2 VOUT N$3 VDD VDD P L=1u W=2u M=1
.ends DIFF1234
*
* MAIN CELL: Component pathname: /root/diff1234/diff1234_sim
*
V2 VBIAS GROUND DC 3V
V3 VIN2 GROUND DC 0V AC 1 0 SIN ( 0 1.5v 1k 0 0 )
V4 VDD GROUND DC 5V
V1 VIN1 GROUND DC 0V AC 1 0 SIN ( 0 1v 1k 0 0 )
X_DIFF12341 VOUT VBIAS VIN1 VIN2 DIFF1234
*
.end
25
VLSI Lab Manual
Waveforms:
26
VLSI Lab Manual
If the ’t’ represents the time-delay for a single Inverter and 'n' represents the number
of Inverters in the Inverter chain, then the frequency of oscillation is given by
Circuit diagram:
27
VLSI Lab Manual
Net list:
.subckt INV2016 Y A
.ends INV2016
V2 VDD GROUND DC 5V
.end
28
VLSI Lab Manual
Waveforms:
29
VLSI Lab Manual
Additional Experiments
Circuit diagram:
30
VLSI Lab Manual
Net list:
.subcktDRAM Y BL WL
C1 Y Ground lp
MN1Y WL BL VSS N L=0.35u W=1.4u M=1
.ends DsRAM
MAIN CELL: Component pathname: /root/dram/dram_sim
V3 VDD GROUND DC 5V
V2 WL GROUND PATTERN 5 0 0 1n 1n 50n 10100110
V1 BL GROUND PATTERN 5 0 0 1n 1n 50n 01101101
X_DRAM1 Y BL WL DRAM
.end
31
VLSI Lab Manual
Waveforms:
32
VLSI Lab Manual
Theory:
Multiplexer is a device that selects one of several analog or digital input signals and
forwards the selected input into a single line. A multiplexer of 2n inputs has n select lines,
which are used to select which input line to send to the output. Multiplexers are mainly used
to increase the amount of data that can be sent over the network within a certain amount of
time and bandwidth. A multiplexer is also called a data selector. Multiplexers can also be
used to implement Boolean functions of multiple variables.
Procedure:
1. LPU=2U
WPU=10U
LPD=2U
WPD=5U
2. Set Delay value to 0S, width = 20nS, Period = 50nS for the voltage Source.
3. Set DC Value to 5V. 4. Maintain Width of 4U for Layout
Circuit diagram:
33
VLSI Lab Manual
Net list:
.subckt21MUXTRANS Y A B S
34
VLSI Lab Manual
.ends 21MUXTRANS
Waveforms:
Transient response:
35
VLSI Lab Manual
APPENDIX - A
11. Click on accept and save tab, then a Linux window appears.
[root@host~]# csh
[root@host~]#source /home/software/cshrc/ams_2009.cshrc
[root@host~]#da_ic&
13. Click on the new pop up tab and select new Schematic tab.
14. Enter the name of the file as given in the directory and click ok tab.
36
VLSI Lab Manual
15. Click on the library tab and select the device lab tab.
16. Select the required components and drag the components to the window from the device
lab list. Provide the necessary connections using the nets. Provide the supply voltage and
ground connections from the generic tab.
17. Change the names of the nets and components by right clicking on them and selecting
edit names tab.
18. Click on check and save tab to check the warnings and errors.
19. To generate the symbol to the circuit, click on the add tab then generate symbol, which
opens a generate symbol window.
20. From the generate symbol window, select tick marks to activate symbol, replace existing
and select the edit symbol radio button. Select the choose shape tab and click ok tab.
21. A generated symbol window with the designed symbol is opened. Modify, if required and
click on check and save tab, close the symbol and schematic windows.
22. Again click on the new pop up tab and select new Schematic tab.
23. Enter the name of the file as given in the directory with an extension _sim and click ok
tab, then a new schematic window opens.
24. Right click on the window and select the instance and symbol tab. Then a file browser
window opens, select the inv folder and click ok tab.
25. A schematic window opens again with _sim extent ion which contains modified symbol.
26. To simulate the designed circuit, provide the supplies such as pulse and dc voltages with
sufficient voltages from the source library and connect them with input and output ports and
nets and provide the VDD and GND from generic library and save them.
27. Click on the simulation tab, then a simulation mode window appears.
28. In the simulation mode window, select the new configuration tab, then create new
configuration window appears, give configuration name as simand click ok tab. Again click
ok tab.
37
VLSI Lab Manual
29. To include the file path, select the Lib/Temp/Inc tab, and then include File tab, then Set
include paths window appears.
31. Select the analyses tab, and then a Setup simulation window appears. Enable type of
analyses required and click apply tab and apply required input for analyses by providing input
and output paths and start and end positions. Click apply tab.
32. To observe wave forms, give the input and output lines as probe by selecting probes tab
then setup simulation window appears, again select type of analysis and give task type.
34. To get the wave forms, select the view waves tab. Then EZwave 2008.2a production
window appears which gives corresponding waveforms.
35. From the wave form calculate the required measurements and stop simulation.
36. To draw the layout, change the properties of the schematic by clicking the dropdown tab
that left side of the test bench window.
37. After the changing the properties of the schematic, Save the modified circuit and close all
the windows.
38. On the Linux window, enter “IC &” and click enter then “Pyxis Layout” window opens.
39. Click on the new pop up tab in the session then a new Layout window appears.
40. Click on the connectivity, in the logic module give component name as given in the
schematic and in the cell information module give cell name, process and rules as follows and
then click OK tab
PROCESS : $ADK/technology/ic/process/ami05
RULES : $ADK/technology/ic/process/ami05.rules
38
VLSI Lab Manual
41. Click on the MGC tab then go to SETUP tab then a SETUP Preferences window opens.
In this window select General then activate the following radio buttons.
42. on the Pyxis layout window there appears two window named as “IC 0: exp name>exp
name (i)” and “/ exp name”.
43. select the “IC 0: exp name>exp name (i)” window .then select Setup tab in the menu bar
and go to Setup Pyxis Assemble tab ,then a Setup Pyxis Assemble window appears. In this
,select the Floor planning radio button, change the Area estimation multiplier as 0.5 ,tick the
Enable fixed pitch grid and change the grid origin from 0.5 (X & Y). Then click OK.
44. Select Setup tab in menu bar and go to SDL tab, then a Setup SDL window appears. On
the window, give Component subtype as “asim_model”. Select the “Prompt user” radio
button, setup Values as “SDL Port Styles” and also select “Setup Tab” ,then a SET
ACTIVE PORT STYLES windows appears in which select metal 1 then click OK Tab.
Then set active port styles window disappears, then again click OK tab.
45. Select the transistors in schematic window and place its layouts in layout window until all
transistors are covered correctly.
46. Select the interconnections in schematic window and place its layouts in layout window
until all interconnections are covered correctly.
47. Select the polysilicon layer to connect two transistors from the layer palette and select the
easy edit from the IC palatte. Draw polysilicon layer from one transistor to other such that all
edges perfectly matched.
48. To draw metal layers between two transistors, go to tool, then iroute and again go to
iroute. Set the required width and place the metal 2 contact.
49. To draw the power supply layer and ground layer, select the metal 1 layer from the layer
palette and select the easy edit from the IC palette and then select shape then draw layers
above and below the transistors.
39
VLSI Lab Manual
50. Place the n-well and p-well contacts for Pmos and Nmos transistors. Thus the layout is
completed.
51. Select the DLA layout from IC Palettes and then select Load rules from IC rules Then a
Select Rules File window appears. Then give Rules file and then click OK tab.
52. Click check tab from the IC Rules. Then the DRC RULES will be checked.
40
VLSI Lab Manual
APPENDIX– B
1. To open the Mentor Server from client machine, one should open the Xmanager tool
from Windows Desktop
41
VLSI Lab Manual
2. This opens the terminal as below and follow the steps shown in the below screen shot
3. Run the commands displayed in the above picture and run “da_ic&” to open Pyxis
Schematic tool for design entry
42
VLSI Lab Manual
4. In order to create new schematic select new _ Schematic and specify the name for the
design in file name tab
5. Select Library _ Device Lib then add Pmos Transistor (4-pin) and Nmos Transistor (4-
pin) on to the schematic area
43
VLSI Lab Manual
6. After adding the transistors create the connections as per the screen shot and also addthe
ports.
7. Click on the worksheet and select the following options from the palette Library_ Device
Library
8. Add a 4-pin PMOS and NMOS from the device lib.
9. Connect the PMOS and NMOS as shown in the figure below to connect from onenode to
another node select “w” to select wire.
10. Click on “back” tab on device lib palette. Select generic lib and add a input portand
output port by selecting the portin and portout tabs.
11. Select the input NET, and right click the mouse button and select “NameNets:”.Change
the net names.
12. Change the properties of transistors by selecting the transistor and pressing‘Q’.or right
click and select edit properties, Change the ASIM_Model from NCH toN for NMOS & PCH
to P for PMOS
13. Change the W & L values of the Transistors to
For PMOS : L = 2u; W=10u
For NMOS : L = 2u; W =5u
44
VLSI Lab Manual
14. After editing the schematic check for errors by selecting check & save option.
15. Go to Add _ Generate Symbol
16. Select Replace existing & activate symbol options
17. Click Ok. Symbol gets generated for you. Change the shape of symbol if required. Save
the symbol.
Test Bench Creation
1. Close all schematics & symbols.
2. Create a new schematic inv_sim by selecting new schematic from session.
3. Add symbol of the schematic made. Add_ Instance_ Choose Symbol.
4. Add a Pulse Source at the input to inverter and a DC Voltage source VDD port.
And do the necessary connections as per the figure given below.
** (from sources library we can pick various sources)
5. Right click on the Pulse Generator Source and select Edit Properties.
6. Change the values of the below mentioned parameters and apply the changes.
Once you change the values that have to be reflected once you click on OK tab.
Initial = 0V Pulse = 5V Delay = 1nS Rise = 1nS
Fall = 1nS Width = 25nS Period = 50ns.
7. Also change the magnitude of the Voltage Source from 1V to 5V by following the below
step.
8. Right Click on the Voltage source adjacent to VDD and then Edit properties
45
VLSI Lab Manual
9. Now from the menu bar click on check and save button. This will report if any errors
present.
10. Now click on “back” tab and then select ‘Simulation’ from the palette to run the
simulation and select ok.
11. Select a New configuration (Give a new name for simulation).
12. Now select the Session tab _simulator/viewer from Setup on the palette and ensure
That the following options are set.
Simulator _ Eldo and Viewer _ EZwave and then Ok.
13. Select Lib/Temp/In _ “include files”provide the following path by selecting
thebrowsebutton. $ADK/technology/ic/models/ami05.mod.
14. Select Analyses _and enable “DC” and ”Transient”.
15. Drop down the Analysis setup and select DC setup give the parameters as
Select option Source
Select the voltage source as V1
Start: 0 stop: 5 Step 0.1
16. Select Transient Setup and change the stop time to 1000N.
17. Select the input path A and then hold CTRL key and then output path Y and click
on“ Probes” from the palette. Select DC in Analysis tab, Plot from Task tab
Select add. Similarly select TRAN from Analysis tab and select add and close the
Window
46
VLSI Lab Manual
18. Now click on Run Eldo tab from the palette where it opens 2 windows showing
various steps running in command line. Once it finishes it will invoke the EZWave
waveform viewer. If it is not invoked Click on the View Waves Tab from the palette
to invoke the EZWave Waveform Viewer.
19. Now the EZWave displays the input and output signals.
20. Here if you go and explore the folders and search for spi file in the simulation folder
inside test bench folder. It will be something like the below path
/home/student/inv/inverter_sim/simulation_name/inverter.spi
This .spifile will be used at post layout simulation
47
VLSI Lab Manual
48
VLSI Lab Manual
15. Select POLY for Layer Palate and connect the two gates of Transistors.
Easy Edit _ Shape
16. Similarly connect the Drain of PMOS and Drain of NMOS with Metal-1.
17. Extend the Metal-1 layer that connects drains with IRoute option
Tools_IRoute_ IRoute the after extending a layer of metal from M-1 layer that
connects drains & press Space barwhich adds a via on which the port has to be
placed
49
VLSI Lab Manual
18. Draw a square of 6X6 at POLY layer connecting two gates. At 1.5 distance from
sides of square
19. Draw a square with CONTACT TO PLOY as an inner square with 2Lx2L to
POLY.
20. Now connect input pin to Via drawn with Metal 1 layer using IRoute method
21. Connect VDD to Source of PMOS and VSS to Source of NMOS using M1 layer.
Easy Edit_ shape (M1 from Layer palate).
22. Draw M1 layer above PMOS & below NMOS to keep NWELL and PSUB
contacts.
23. Rightclick on the layout area Add _ Layout
Go to $ADK/technology/ic/process/ami05_via
Add Pwell_contact at M1 layer below NMOS and also add on the top of PMOS
transistor, now to change this Pwell to Nwell select the well contact and press ‘Q’
and browse the location to $ADK/technology/ic/process/ami05_via and select
Nwell_contact.
50
VLSI Lab Manual
DRC Checking
DRC check using Calibre:
1. First we have to generate GDSII file:
File_ Export GDSII
2. Give the path where it has to be saved.
Go Options.
Check Replace Existing GDSII File & Add Text on Ports
51
VLSI Lab Manual
52
VLSI Lab Manual
Parasitic Extraction
Tools_ Calibre_ Run PEX
Give details as
Rules: $ADK/technology/ic/process/ami05.calibre.rules
DRC Run Directory: your directory
Inputs:_ layout _GDSII file ;Format : GDSII
Inputs _ netlist _ inverter.spi in your simulation directory; Format: SPICE
UnCheck ‘Export from layout Viewer’ & ‘Export from schematic Viewer’
Outputs: Netlist _Format= DSPF
Used Names for _Schematic
Select only R+C instead of R+C+C
Run LVS
It will generate a PexNetlist file has to be used in post layout simulation
53
VLSI Lab Manual
This ends the full custom IC design flow for an Inverter using HEP1 Design tools from
Mentor Graphics
54