Reference Manual
Reference Manual
(AUTONOMOUS)
Permanent Affiliation: JNTU-Kakinada | UGC-Recognized
Vengamukkapalem(V), Ongole, Prakasam dist., Andhra Pradesh-523272
DEPARTMENT OF
ELECTRONICS AND COMMUNICATION ENGINEERING
LABORATORY MANUAL
VLSI DESIGN
for
III year II Semester
A.Y.2024-2025
Prepared by
Dr. A MURALI
M.Tech (IIT-M), M.Tech (JNTU-H), PGDTC (HCU), Ph. D
DEPARTMENT OF
ELECTRONICS AND COMMUNICATION ENGINEERING
CERTIFICATE
IQAC Committee
Signature(s): Signature(s):
Name(s): Name(s):
PEO 1: LEARN AND INTEGRATE: Graduates must have understanding of applied and fundamental
engineering sciences in order to comprehend engineering principles, which are required to create and
solve problems pertaining to Electronics and Communication Engineering.
PEO 2: THINK AND CREATE: Students graduating from this programme are expected to have
knowledge in the areas of experimentation, analysis, and synthesis pertaining to Electronics and
Communication Engineering. Classes that focus on design, innovation, and the creation of unique
products and solutions to real-world challenges.
PEO 3: PRACTICE CITIZENSHIP: In order to fulfill the requirements of both industry and society,
graduates are expected to have skills in management and entrepreneurship, an ethical and professional
mindset, and a multidisciplinary approach.
PEO 4: EXPERTISE: Graduates are encouraged to pursue more education, participate in research, and
engage in lifelong learning in order to adapt themselves to the rapidly evolving technological
landscape and to increase their chances of finding success in engineering positions around the world.
COURSE OUTCOMES:
After going through this course, the student will be able to
CO – PO Affinity Map
PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
CO
CO 1 1 1 2 2
CO 2 1 2 2 2
CO 3 1 2 2 2
CO 4 1 1 2 2
CO 5 1 1 2 2 2
CO 6 1 1 2 2 2
DEPARTMENT OF
ELECTRONICS AND COMMUNICATION ENGINEERING
B.TECH : III Year
SEMISTER : II
Academic Year : 2024-25
LABORATORY: VLSI Design
LABORATORY CODE: 20E05305
_________________________________________________________________________________
LIST OF EXPERIMENTS
1. Design and implementation of an inverter
2. Design and implementation of universal gates
3. Design and implementation of full adder
4. Design and implementation of full Subtractor.
5. Design and implementation of RS-latch
6. Design and implementation of D-latch
7. Design and implementation asynchronous counter
8. Design and Implementation of static RAM cell
9. Design and Implementation of differential amplifier
10. Design and Implementation of ring oscillator
11. Design and implementation of UNIVERSAL SHIFT REGISTER on SPARTAN-6 FPGA.
12. Design and implementation of Johnson Counter on SPARTAN-6 FPGA.
Additional Experiments
CADENCE
The Cadence Development System consists of a bundle of software packages such as schematic
editors, simulators, and layout editors. This software manages the development process for analog,
digital, and mixed-mode circuits. In this course, we will strictly use the tools associated with analog
circuit design.
All the Cadence design tools are managed by a software package called the Design Framework II.
This program supervises a common database which holds all circuit information including schematics,
layouts, and simulation data. From the Design Framework II also known as the "framework", we can
invoke a program called the Library Manager which governs the storage of circuit data. We can
access libraries and the components of the libraries called cells. Also, from the framework we can
invoke the schematic entry editor called "Composer". Composer is used to draw circuit diagrams and
draw circuit symbols.
Most of the commands in Cadence can be accessed in multiple ways: pull-down menus, shortcut keys,
buttons in toolbars, etc. The shortcut keys can be found from the pull-down menus as well.
List of the frequently used shortcut KEYS
Key Function Key Function
1. Restart the windows and select the Redhat OS for opening the cadence software
2. Give the password as “student” to open the software.
3. Make a right click on the Desktop and select the option “Create Folder”
4. Name the folder, for example, we have named it as “----------” and Open the created folder and you
get the window.
FOR INITIALISING csh & SOURCING cshrc:
1. Make a right click and select the option “Open in Terminal”
2. In that terminal Type the command “csh” to initialize shell and source the cshrc file with the
command “source /home/cad/cshrc” or “source /cad/cshrc” or “source /home/install/cshrc”.
INVOKING VIRTUOSO:
3. Next we get a display “Welcome to Cadence Tools Suite”.
CREATE A LIBRARY:
In virtuoso’s top menu, select “Tools” and select “Library Manager”.
1. From the top menu of the Library Manager, select “File -> New -> Library” to create a new library
for a new design and We’ll get a “New Library” form where we can name the library.
2. Select “OK” after the library is named. Select “Technology File...”
3. We get a form “Technology File for New Library”. Select the option “Attach to an existing
technology library”.
4. Select the respective Technology Node from the list of libraries. For example, we have selected
“gpdk045” or “gpdk090” or “gpdk180”
CREATE A CELL:
1. Before creating a cell, make sure that the created library is selected. Only then the created cell can
be viewed under the respective library. To create a Cell View, select File -> New -> Cell View.
2. Now we get a “New File” from as given in Figure-15 and we can name the Cell and check the
Library, View and Type of the respective Cell that is to be created.
3. Next we get the We get the Virtuoso Schematic Editor.
ADD AN INSTANCE:
FUNCTIONAL SIMULATION:
1. To simulate the design, Launch “ADE L” and We get a window and following options are to be
verified: (1) Simulator – to make sure that Spectre is the simulator selected.
2. (2) Model Libraries & Process Corners – to make sure that “.scs” file of the respective technology
node has been selected.
3. To analyze the circuit, select “Analyses” from the top menu in ADE L and under Analyses, select
“Choose”.
4. To set up a “Transient Analysis”, select “tran” under “Analysis” mention the “Stop Time” and
“Accuracy Defaults” as in and select “OK”.
5. The analyses chosen and the arguments that had been set up can be seen under “Analyses” tab in
the ADE L window. Similarly, rest of the analyses can be performed based on designer’s demands.
6. To setup the simulation, select “Outputs” from the ADE L window and select “Setup” under
Outputs option.
7. We get a “Setting Outputs” window select “From Design” which would bring back the testbench
circuit created for the simulation process.
8. Select the input wire and output wire and in ADE L, they are supposed to be displayed under
“Outputs” option.
LAYOUT:
1.Open the schematic through the Library Manager and select “Launch -> Layout XL” and A
“Startup Option” window pops up as in Figure-58. Select “Create New” under Layout tab,
“Automatic” under Configuration tab and select OK.
2. A “New File” window pops up. No changes are to be made, so select OK. Virtuoso Layout Suite
XL Editing window can be seen and to import the circuit components, select “Connectivity ->
Generate -> All From Source”.
3. Select OK in the “Generate Layout” window and the components of the circuit can be seen and
Select “Shift + F” to have a view of all the terminals of the transistors.
4. The blue colored box surrounding the circuit components is the PR (Placement & Routing)
Boundary. PR-Boundary can be shifted using the shortcut “S”.
5. To shift the PR-Boundary, place the mouse pointer close to the respective boundary so that it gets
highlighted and make a left mouse click to select the boundary, use the mouse or arrow (up, down,
left or right) keys to shift the boundary.
6. To attach “Bulk” terminal to the transistors, select the particular transistor by a left mouse click ,
make a right mouse click and select “Properties”.
7. select “Parameter -> Bodytie Type -> Integrated (or) Detached -> Left Tap (or) Right Tap”
and select OK. Bulk terminal of that transistor can be seen. Repeat the above steps for rest of the
transistors to include the Bulk terminal.
8. This is mandatory for PMOS transistors in gpdk090 and gpdk045, but for PMOS transistors in
gpdk180, it has an N-Well by default.
9. To create an N-Well, select the respective layer from the “Layers” tab on the left-hand side of the
Virtuoso Layout Editor.
Starting the ISE Software To start the ISE software, double-click the ISE Project Navigator icon on
your desktop, or select Start > All Programs > Xilinx ISE Design Suite 14.7 > ISE Design Tools >
Project Navigator
1. Select the following values in the New Project Wizard—Device Properties page:
♦ Product Category: All
♦ Family: Spartan3
♦ Device: XC3S400
♦ Package: FT208
♦ Speed: -5
♦ Synthesis Tool: XST (VHDL/Verilog)
♦ Simulator: ISim (VHDL/Verilog)
♦ Preferred Language: VHDL or Verilog depending on preference. This will determine
the default language for all processes that generate HDL files.
4.Click Next.
5.In the Define Module page, enter two input ports named sig_in and clk and an output port named
sig_out for the ALU design component as follows:
In the first three Port Name fields, enter sig_in, clk and sig_out.
Set the Direction field to input for sig_in and clk and to output for sig_out.
Leave the Bus designation boxes unchecked.
When the software prompts you to select a configuration file for the first device (XC3S700A), do the
following:
1. Select the BIT file from your project working directory.
2. Click Open.
You should receive a warning stating that the startup clock has been changed to JtagClk.
Click OK.
When the software prompts you to select a configuration file for the second device
(XCF02S), select the MCS file from your project working directory.
Click Open.
Performing Boundary-Scan Operations
You can perform Boundary-Scan operations on one device at a time. The available Boundary- Scan
operations vary based on the device and the configuration file that was applied to the device. To
see a list of the available options, right-click on any device in the chain. This brings up a window
with all of the available options. When you select a device and perform an operation on that device,
all other devices in the chain are automatically placed in BYPASS or HIGHZ, depending on your
iMPACT Preferences setting. For more information about Preferences, see “Editing Preferences.”
To perform an operation, right-click on a device and select one of the options. In this section, you
2. Right-click on the XC3S700A device, and select Set Programming Properties. The Device
Programming Properties dialog box opens.
3. Select the Verify option.
The Verify option enables the device to beread back and compared to the BIT file using the MSK
file that was created earlier.
4. Click OK to begin programming
Aim: To implement an inverter using 90nm Technology and to verify the functionality of the circuit
by performing Pre-Layout simulation using Cadence Tools and Observe the transient and DC
analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram: Truth table
Vin Vout
0 1
1 0
Vin Vout
Symbol
Procedure:
Results:
Specifications:
Nmos:
Pmos:
Input Pins:
Output pins:
Simulation Settings:
Vpulse V1 = 1V V2 = 0V Vdd = 1V
td = 20n tr = tf= 50p pulse width=10ns
Output waveform:
Conclusion:
Hence an Inverter is implemented using CMOS 90nm technology and the functionality of the circuit is
verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement Universal Gates using 90nm Technology and to verify the functionality of the
circuit by performing Pre - Layout simulation using Cadence Tools and Observe the transient and DC
analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Procedure:
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse Va: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Vb: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Setup for transient analysis:
1. Stop time =
Setup for D.C analysis
1. Component to be selected in schematic is_______for d.c analysis
2. Start = Stop =
NAND Gate Schematic Design NAND Gate Symbol with Test Bench Design
Output waveform:
Conclusion:
Hence an Universal Gates (NAND and NOR Gates) are implemented using CMOS 90nm technology
and the functionality of the circuits are verified by performing pre-layout simulation using Cadence
Tools.
Aim: To implement a Full-Adder design using 90nm Technology and to verify the functionality of
the circuit by performing Pre - Layout simulation using Cadence Tools and Observe the transient and
DC analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Truth Table:
Model graph
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse Va: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Schematic Diagram:
Symbol:
Conclusion:
Hence an Full Adder circuit is implemented using NAND Gates in CMOS 90nm technology and the
functionality of the circuit is verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement a Full - Subtractor design using NAND Gates in 90nm Technology and to verify
the functionality of the circuit by performing Pre - Layout simulation using Cadence Tools and
Observe the transient and DC analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse Va: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Vb: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Vc: V1 = V2 = Vdd =
td = tr = tf= ton = T=
Setup for transient analysis:
1. Stop time =
Setup for D.C analysis
1. Component to be selected in schematic is_______for d.c analysis
2. Start = Stop =
Symbol:
Conclusion:
Hence a Full Subtractor circuit is implemented using NAND Gates in CMOS 90nm technology and
the functionality of the circuit is verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement a RS-Latch using 90nm Technology and to verify the functionality of the circuit
by performing Pre - Layout simulation using Cadence Tools and Observe the transient and DC
analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit diagram:
Logic Diagram and Symbol of SR-Latch
PR
PR
CLR CLR
Truth table of SR-Latch
EN PR CLR S R Q Qb
1 0 1 X X 1 0
1 1 0 X X 0 1
0 1 1 X X NC
1 1 1 0 0 NC
1 1 1 0 1 0 1
1 1 1 1 0 1 0
1 1 1 1 1 *
Model graph:
EN
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse V1 = V2 = Vdd =
td = tr = tf= ton = T=
Conclusion:
Hence an RS Latch is implemented using CMOS 90nm technology and the functionality of the circuit
is verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement a D - Latch using 90nm Technology and to verify the functionality of the circuit
by performing Pre - Layout simulation using Cadence Tools and Observe the transient and DC
analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse V1 = V2 = Vdd =
td = tr = tf= ton = T=
Schematic Diagram:
Conclusion:
Hence a D-Latch is implemented using CMOS 90nm technology and the functionality of the circuit is
verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement an Asynchronous Counter using 90nm Technology and to verify the
functionality of the circuit by performing Pre - Layout simulation using Cadence Tools and Observe
the transient and DC analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Procedure:
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse V1 = V2 = Vdd =
td = tr = tf= ton = T=
Setup for transient analysis:
1. Stop time =
Setup for D.C analysis
1. Component to be selected in schematic is_______for d.c analysis
2. Start = Stop =
Asynchronous Counter
Output waveform
Aim: To implement a Static RAM Cell using 90nm Technology and to verify the functionality of the
circuit by performing Pre - Layout simulation using Cadence Tools and Observe the transient and DC
analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Circuit Diagram:
Procedure:
Conclusion:
Hence a Static RAM Cell is implemented using CMOS 90nm technology and the functionality of the
circuit is verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement a Differential Amplifier circuit using 90nm Technology and to verify the
functionality of the circuit by performing Pre - Layout simulation using Cadence Tools and Observe
the transient and DC analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
THEORY : The differential amplifier is probably the most widely used circuit building block in
analog integrated circuits, principally op amps. We had a brief glimpse at one back in Chapter 3
section 3.4.3 when we were discussing input bias current. The differential amplifier can be
implemented with BJTs or MOSFETs. A differential amplifier multiplies the voltage difference
between two inputs (Vin+ - Vin- ) by some constant factor Ad, the differential gain. It may have either
one output or a pair of outputs where the signal of interest is the voltage difference between the two
outputs. A differential amplifier also tends to reject the part of the input signals that are common to
both inputs (Vin+ + Vin-)/2 . This is referred to as the common mode signal.
Circuit Diagram:
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vpulse V1 = V2 = Vdd =
td = tr = tf= ton = T=
Setup for transient analysis:
1. Stop time =
Setup for D.C analysis
1. Component to be selected in schematic is_______for d.c analysis
2. Start = Stop =
Conclusion:
Hence an Differential Amplifier circuit is implemented using CMOS 90nm technology and the
functionality of the circuit is verified by performing pre-layout simulation using Cadence Tools.
Aim: To implement a Ring Oscillator Circuit using 90nm Technology and to verify the functionality
of the circuit by performing Pre - Layout simulation using Cadence Tools and Observe the transient
and DC analysis.
Tool Required:
1. Cadence Virtuoso schematic editor for Schematic design
2. Spectra for Simulation.
Theory:
A ring oscillator is a device composed of an odd number of NOT gates in a ring, whose
output oscillates between two voltage levels, representing true and false. The NOT gates, or inverters,
are attached in a chain and the output of the last inverter is fed back into the first.
The ring oscillator is a combination of inverters connected in a series form with a feedback connection.
And the output of the final stage is again connected to the initial stage of the oscillator. This can be
done through the transistor implementation also. The below figure shows the ring oscillator
implantation with a CMOS transistor.
The s frequency of oscillation formula for this oscillator is
Circuit Diagram:
Ring-Oscillator-diagram
Results:
Specifications:
nmos
pmos
Input Pins
Output pin
Simulation Settings
Vdc = 1V Cap = 1pf
Setup for transient analysis:
Stop time = 3us
Set initial value = 0
[How to set Initial Value]
Goto Simulation Tab
Output waveform:
Conclusion:
Hence a Ring Oscillator is implemented using CMOS 90nm technology and the functionality of the
circuit is verified by performing pre-layout simulation using Cadence Tools.
Aim: Verify the Hardware Implementation of Universal Shift Register on Spartan-6 FPGA and
also verify the functionality of the circuit by performing Pre - Layout simulation using Xilinx Tools.
Tool Required:
1. Xilinx Tool 14.7v
2. Spatan-6 FPGA Board
Procedure:
Simulation:
1. Double click on Xilinx Design Suite 14.7 Icon.
2. Select new project in file menu.
3. Enter the project name and give location and press Next.
4. Select the Family, Device, Package and speed as per the requirements and press Next.
5. Create a new source by using new source icon or right click on the device/project folder to
create new source.
6. Select the appropriate source type and enter the file name in New Source Wizard window
and press Next.
7. Enter the architecture name – dataflow/behavioral/structural, port name and select the
direction. This will create “.v” source file. Press Next and finish the initial project creation.
8. Write complete VHDL/Verilog code implementation and save.
9. Click on implementation and check for syntax using “Check syntax” option under
synthesize tab. If any error, edit and correct VHDL/Verilog code and repeat check syntax until
zero errors.
10. Double click on ISIM simulator by selecting simulation mode to complete the functional
simulation of your design.
FPGA Hardware Interfacing Procedure:
1. Repeat the steps 1 to 10 from the procedure for software experiments.
2. Make the connection between appropriate FRC’s of the FPGA board and the DIP switch
connector of the GPIOcard-2
Design Implementation
a. Create user constraint file one as follows:
Functional Table
Verilog Code
always@(posedge clk)
begin
if(rst)
out = 4`b 0000;
else
begin
case(sel)
2’b00: out = out; //No change
2’b01: out = out = (right_in, out[3:1]); //right shift
Test Bench
module USR_TB;
reg rst, clk, left_in, right_in;
reg [3:0] par_in;
reg [1:0] sel;
Initial begin
rst = 0;
clk = 0;
left_in = 0;
right_in = 0;
par_in = 0;
sel = 0;
#10;
rst = 1`b1;
#10;
rst = 1`b0;
#40;
right_in = 1`b1;
sel = 2`b01;
#40;
left_in = 1`b0;
sel = 2`b10;
#40;
par_in = 4`b1010;
sel = 2`b11;
end
endmodule
Conclusion:
Hence a Universal Shift Register functionality is verified and Implemented on Spartan-3 FPGA board
using Xilinx 14.7 Tools.
Tool Required:
1. Xilinx Tool 14.7v
2. Spatan-6 FPGA Board
Procedure:
Simulation:
1. Double click on Xilinx Design Suite 14.7 Icon.
2. Select new project in file menu.
3. Enter the project name and give location and press Next.
4. Select the Family, Device, Package and speed as per the requirements and press Next.
5. Create a new source by using new source icon or right click on the device/project folder to
create new source.
6. Select the appropriate source type and enter the file name in New Source Wizard window
and press Next.
7. Enter the architecture name – dataflow/behavioral/structural, port name and select the
direction. This will create “.v” source file. Press Next and finish the initial project creation.
8. Write complete VHDL/Verilog code implementation and save.
9. Click on implementation and check for syntax using “Check syntax” option under
synthesize tab. If any error, edit and correct VHDL/Verilog code and repeat check syntax until
zero errors.
10. Double click on ISIM simulator by selecting simulation mode to complete the functional
simulation of your design.
FPGA Hardware Interfacing Procedure:
1. Repeat the steps 1 to 10 from the procedure for software experiments.
2. Make the connection between appropriate FRC’s of the FPGA board and the DIP switch
connector of the GPIOcard-2
Design Implementation
a. Create user constraint file one as follows:
b. In the Hierarchy pane of the Project Navigator Design panel, select the top-level
source file usr.
Functional Table
CP Q1 Q2 Q3 Q4
0 0 0 0 0
1 1 0 0 0
2 1 1 0 0
3 1 1 1 0
4 1 1 1 1
5 0 1 1 1
6 0 0 1 1
7 0 0 0 1
8 0 0 0 0
Verilog Code
else if (clk==1`b1)
count_temp=(count_temp[2:0], ~count_temp[3]);
end
end
Test Bench
module TB_johnson_counter;
reg clk;
reg reset;
wire [3:0] count_out;
initial begin
reset=1`b1;
clk=1`b0;
#20 reset=1`b0;
#100 $stop;
end
always #5 clk=~clk;
endmodule
Output Waveforms
Conclusion:
Hence a Johnson Counter functionality is verified and Implemented on Spartan-3 FPGA board using
Xilinx 14.7 Tool.