Vlsi Manual
Vlsi Manual
Vlsi Manual
LAB-LM
ECE/VI-SEM
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
SOFTWARE REQUIREMENTS:
XILINX ISE9.1V/CADENCE /MAGMA / TANNER.
: 20 MARKS
PRACTICAL ASSESMENT
: 80 MARKS
TOTAL
: 100 MARKS
: 3 MARKS
RECORD NOTE
: 7 MARKS
MODEL EXAM
: 5 MARKS
ATTENDANCE
: 5 MARKS
TOTAL
: 20 MARKS
UNIVERSITY EXAMINATION
The Exam will be conducted for 100 marks. Then the marks will be converted to 80 marks.
ALLOCATION OF MARKS
AIM AND RESULT
: 10 MARKS
: 20 MARKS
PROGRAM
: 30 MARKS
EXECUTION
: 30 MARKS
VIVA VOCE
: 10 MARKS
TOTAL
: 100 MARKS
Dr NNCE
ECE/VI-SEM
1. Design Entry and simulation of combinational logic circuits (8 bit adders, 4 bit
multipliers, address decoders, multiplexers), Test bench creation, functional verification,
and concepts of concurrent and sequential execution to be highlighted.
2. Design Entry and simulation of sequential logic circuits (counters, PRBS generators,
Accumulators) Test bench creation, functional verification, and concepts of concurrent
and sequential execution to be highlighted.
3. Synthesis, P&R and Post P&R simulation for all the blocks/codes developed in Expt.No.
1 and No. 2 given above. Concepts of FPGA floor plan, critical path, design gate Count
I/O configuration and pin assignment to be taught in this experiment.
4. Generation of configuration/fuse files for all the blocks/codes developed as part of
Expt.1. And Expt. 2. FPGA devices must be configured and hardware tested for the
blocks/codes developed as part of Expt. 1. and Expt. 2. The correctness of the inputs and
outputs for each of the blocks must be demonstrated at least on oscilloscopes (logic
analyser preferred).
5. Schematic Entry and SPICE simulation of MOS differential amplifier. Determination of
gain, bandwidth, output impedance and CMRR.
6. Layout of a simple CMOS inverter, parasitic extraction and simulation.
7. Design of a 10 bit number controlled oscillator using standard cell approach, simulation
followed by study of synthesis reports.
8. Automatic layout generation followed by post layout extraction and simulation of the
circuit studied in Expt. No.7
Dr NNCE
3
ECE/VI-SEM
VLSI DESIGN
LAB-LM
Ex. No
Page No.
CONTENTS
Circuits
2
14
17
21
28
36
39
41
Implementation of Flip-flops
46
9.
Implementation of Counters
48
10.
Implementation of Registers
51
Question Bank
53
.
SIGNATURE OF STAFF INCHARGE
Dr NNCE
LAB-LM
ECE/VI-SEM
CONTENTS
1) Study of Simulation using tools.
2) Design Entry and Simulation of Combinational Logic Circuits
a) Basic logic gates
b) Half adder and full adder
c) Half Sub tractor and full sub tractor
d) 8 bit adder
e) 4 bit multiplier
f) Encoder and Decoder
g) Address Decoder
h) Multiplexer
3) Design Entry and Simulation of Sequential Logic Circuits
a) Flip-Flops
b) Counter
c) PRBS generator
d) Accumulator
4) Study of Synthesis tools
5) Place and Route and Back annotation for FPGAs
6) Schematic Entry and SPICE Simulation
a) CMOS Inverter
b) Universal Gate
c) Differential Amplifier
7) Layout of a CMOS Inverter
8) Design of a 10 bit number controlled oscillator
9) Automatic Layout Generation
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
VLSI DESIGN
Dr NNCE
LAB-LM
Dr NNCE
ECE/VI-SEM
VLSI DESIGN
ECE/VI-SEM
VLSI DESIGN
LAB-LM
Experiment Number: 1
Title of the experiment
____________________________________________________________
OBJECTIVE OF THE EXPERIMENT
To study about the simulation tools available in Xilinx project navigator using Verilog tools.
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE
8.1
Quantity
1
Double click the project navigator and select the option FileNew project.
4
5
Dr NNCE
LAB-LM
ECE/VI-SEM
c) Verilog coding:
Logic gates:
AND GATE:
module gl(a,b,c);
input a;
input b;
output c;
and(c,a,b);
end module
OR GATE:
module gl(a,b,c);
input a;
input b;
output c;
or(c,a,b);
end module
XOR GATE:
module gl(a,b,c);
input a;
input b;
output c;
xor (c,a,b);
end module
NAND GATE:
module gl(a,b,c);
9
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
input a;
input b;
output c;
nand(c,a,b);
end module
NOR GATE:
module gl(a,b,c);
input a;
input b;
output c
nor(c,a,b);
end module
HALF ADDER:
module half adder(a,b,c,s);
input a;
input b;
output c;
output s;
xor(s,a,b);
and(c,~a,b);
end module
HALF SUBTRACTOR:
module half sub(a,b,c,s);
input a;
input b;
output c;
10
Dr NNCE
LAB-LM
ECE/VI-SEM
output s;
xor(s,a,b);
and(c,~a,b);
end module
ENCODER
module Encd2to4(i0, i1, i2, i3, out0,
out1); input i0,i1, i2, i3;
output out0, out1;
reg out0,out1;
always@(i0,i1,i2,i3)
case({i0,i1,i2,i3})
4'b1000:{out0,out1}=2'b00;
4'b0100:{out0,out1}=2'b01;
4'b0010:{out0,out1}=2'b10;
4'b0001:{out0,out1}=2'b11;
default: $display("Invalid");
endcase
endmodule
DECODER:
// Module Name: Decd2to4
module Decd2to4(i0, i1, out0, out1, out2, out3);
input i0, i1;
output out0, out1, out2,
out3; reg
out0,out1,out2,out3;
always@(i0,i1) case({i0,i1})
2'b00:
{out0,out1,out2,out3}=4'b1000;
2'b01:
{out0,out1,out2,out3}=4'b0100;
2'b10:
11
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
{out0,out1,out2,out3}=4'b0010;
2'b11:
{out0,out1,out2,out3}=4'b0001;
default:
$display("Invalid");
endcase
endmodule
MULTIPLEXER:
// Module Name: Mux4to1
module Mux4to1(i0, i1, i2, i3, s0, s1,
out); input i0, i1, i2, i3, s0, s1;
output out;
wire s1n,s0n;
wire y0,y1,y2,y3;
not (s1n,s1);
not (s0n,s0);
and (y0,i0,s1n,s0n);
and (y1,i1,s1n,s0);
and (y2,i2,s1,s0n);
and (y3,i3,s1,s0);
or (out,y0,y1,y2,y3);
endmodule
DEMULTIPLEXER:
// Module Name: Dux1to4
module Dux1to4(in, s0, s1, out0, out1, out2,
out3); input in, s0, s1;
output out0, out1,
out2,out3; wire s0n,s1n;
not(s0n,s0);
not(s1n,s1);
and (out0,in,s1n,s0n);
12
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
and (out1,in,s1n,s0);
and (out2,in,s1,s0n);
and (out3,in,s1,s0);
endmodule
8 BIT ADDER
module adder(a,b,
s,c); input [7:0] a,b;
output [7:0] s,c;
assign {c,s} = a +
b; endmodule
MULTIPLIER
module multi(a,b,
c); input [3:0] a,b;
output [7:0] c;
assign c = a * b;
endmodule
RESULT:
Thus the program for study of simulation using tools and the output also verified successfully.
13
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 2
Title of the experiment : Design Entry and simulation of sequential logic circuits
Date of the experiment :
OBJECTIVE OF THE EXPERIMENT
To study about the simulation tools available in Xilinx project navigator using Verilog tools.
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE 8.1
Quantity
1
Double click the project navigator and select the option File-New
project.
3
4
14
Dr NNCE
LAB-LM
ECE/VI-SEM
Verilog coding:
PRBS GENERATORS
module prbs(a,clk,clr);
output [3:0] a;
input clk,clr;
reg [3:0] tmp;
tmp =
{ tmp[0]^tmp[1],tmp[3],tmp[2],tmp[1]}; end
end
assign a=tmp;
endmodule
ACCUMULATOR:
module acc(indata, clk,clr, outdata);
input [3:0] indata;
input clk,clr;
output [3:0] outdata;
reg [3:0] outdata;
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
end
endmodule
2- BIT COUNTER:
RESULT:
Thus the program for study of simulation using tools and the output also verified successfully.
16
Dr NNCE
ECE/VI-SEM
Experiment Number: 3
Title of the experiment
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE 8.1
Quantity
1
Double click the project navigator and select the option File-New
project.
3
4
17
Dr NNCE
ECE/VI-SEM
THEORY:
Now that you have created the source files, verified the design behaviour with simulation, and
added constraints, you are ready to synthesize and implement the design.
Implementing the Design:
1. Select the counter source file in the Sources in Project window.
2. In the Processes for Source window, click the + sign next to
Implement Design. The Translate, Map, and Place & Route processes are displayed. Expand
those processes as well by clicking on the + sign. You can see that there are many subprocesses and options that can be run during design implementation.
3. Double-click the top level Implement Design process.ISE determines the current state of your
design and runs the processes needed to pull your design through implementation. In this case,
ISE runs the Translate, Map and PAR processes. Your design is now pulled through to a placedand routed state. This feature is called the pull through model.
4. After the processes have finished running, notice the status markers in the Processes for Source
window. You should see green checkmarks next to several of the processes, indicating that they
ran successfully. If there are any yellow exclamation points, check the warnings in the Console
tab or the Warnings tab within the Transcript window. If a red X appears next to a
process, you must locate and fix the error before you can continue.
18
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
Dr NNCE
ECE/VI-SEM
VERIFICATION OF SYNTHESIS:
Your synthesized design can be viewed as a schematic in the Register Transfer Level (RTL)
Viewer. The schematic view shows gates and elements independent of the targeted Xilinx
device.
1. In the Processes for Source window, double-click View RTL Schematic found in the Synthesize
- XST process group. The top level schematic representation of your synthesized design opens
in the workspace.
2. Right-click on the symbol and select Push Into the Selected Instance to view the schematic in
detail. The Design tab appears in the Sources in Project window, enabling you to view the
design hierarchy. In the schematic, you can see the design components you created in the HDL
source, and you can push into symbols to view increasing levels of detail.
3. Close the schematic window.
RESULT:
Thus the program to study about synthesis tools available in xilinx project navigator and the
output also verified successfully.
20
Dr NNCE
ECE/VI-SEM
Experiment Number: 4
Title of the experiment : Study of Place and Root-Back Annotation
SOFTWARE REQUIREMENTS
Xilinx ISE 9.1 navigator.
Quantity
1
Double click the project navigator and select the option File-New
project.
2
3
4
5
10
THEORY:
After implementation is complete, you can verify your design before downloading it to a device.
Viewing Placement:
In this section, you will use the Floor planner to verify your pin outs and placement. Floor planner is
Dr NNCE
ECE/VI-SEM
2. Click the + sign to expand the Place & Route group of processes.
3. Double-click the View/Edit Placed Design (Floor planner) process. The Floor planner view opens.
4. Select View _ Zoom _ To Box and then use the mouse to draw a box around the counter instance,
shown in green on the right side of the chip.
5. This Fig 8 shows where the entire design was placed. Click on any of the components listed in the
Design Hierarchy window to see where each component is placed.
6. Zoom in to the right side of the chip even more, and place your mouse over the K13pad. You can see
that your pin out constraint was applied - the DIRECTION pin is placed at K13.
7. Close the Floor planner without saving.
Viewing Resource Utilization in Reports:
Many ISE processes produce summary reports which enable you to check information about your
design after each process is run. Detailed reports are available from the Processes for Source window.
You can also view summary information and access most often-utilized reports in the Design Summary.
1. Click on the Design Summary tab at the bottom of the window. If you closed the summary during
this tutorial, you can reopen it by double clicking the View Design Summary process.
3. To see other reports, scroll to the bottom of the Design Summary. You can click on a
report from here to view it in the ISE Text Editor.
22
Dr NNCE
ECE/VI-SEM
1. In the Processes for Source window, under the Place & Route group
of processes, expand the Generate Post-Place & Route Static Timing group by clicking the
+sign.
2. Double-click the Analyse Post-Place & Route Static Timing process. The Timing
Analyser opens.
3. To analyse the design, select Analyse Against Timing Constraints. The Analyse
with Timing Constraints dialog box opens.
4. Click OK. When analysis is complete, the timing report opens.
5. Select Timing summary from the Timing Report Description tree in the left window.
This displays the summary section of the timing report, where you can see that no
timing errors were reported. Close the Timing Analyser without saving.
23
Dr NNCE
ECE/VI-SEM
24
Dr NNCE
LAB-LM
ECE/VI-SEM
25
VLSI DESIGN
Dr NNCE
ECE/VI-SEM
Dr NNCE
ECE/VI-SEM
3. To see your simulation results, zoom in on the transitions and view the area between 300 ns and 900 ns
to verify that the counter is counting up and down as directed by the stimulus on the DIRECTION port.
4. Zoom in again to see the timing delay between a rising clock edge and output transition.
5. Click the Measure Marker button and then click near the 300 ns mark. Drag the second marker to the
point where the output becomes stable to see the time delay between the clock edge and the transition.
6. Close the waveform view window. You have completed timing simulation of your design using the ISE
Simulator. Skip past the ModelSim section below, and proceed to the Creating Configuration Data
section.
RESULT
Thus the program for perform the place and root-back annotation was studied and the output also
verified successfully.
Dr NNCE
27
ECE/VI-SEM
Experiment Number: 5
Title of the experiment
: CMOS INVERTER
To perform the functional verification of the CMOS Inverter through schematic entry.
FACILITIES REQUIRED AND PROCEDURE
a) Facilities required to do the experiment
S.No.
1
SOFTWARE REQUIREMENTS
Quantity
c) THEORY:
Inverter consists of nMOS and pMOS transistor in series connected between VDD and GND.
The gate of the two transistors are shorted and connected to the input. When the input to the inverter A
= 0, Nmos transistor is OFF and pMOS transistor is ON. The output is pull-up to VDD. When the input
A = 1, nMOS transistor is ON and pMOS transistor is OFF. The Output is Pull-down to GND.
28
Dr NNCE
LM
ECE/VI-SEM
SCHEMATIC DIAGRAM:
RESULT
Thus the functional verification of the CMOS Inverter through schematic entry.and the
output also verified successfully.
29
Dr NNCE
VLSI DESIGN
LAB-LM
ECE/VI-SEM
Experiment Number: 6
Title of the experiment
: UNIVERSAL GATES
To perform the functional verification of the universal gate through schematic entry.
FACILITIES REQUIRED AND PROCEDURE
a) Facilities required to do the experiment
S.No.
1
SOFTWARE REQUIREMENTS
30
Quantity
1
Dr NNCE
LAB-LM
ECE/VI-SEM
NAND GATE
31
VLSI DESIGN
Dr NNCE
ECE/VI-SEM
NORGATE
RESULT:
Thus the functional verification of the NAND& NOR Gate through schematic entry.and the
output also verified successfully
Dr NNCE
32
ECE/VI-SEM
VLSI DESIGN
LAB-LM
Experiment Number: 7
Title of the experiment
: DIFFERENTIAL AMPLIFIER
SOFTWARE REQUIREMENTS
Quantity
1
3
4
Draw the schematic of differential amplifier using S-edit and generate the
symbol.
Draw the schematic of differential amplifier circuit using the generated
symbol.
Perform AC Analysis of the differential amplifier.
Obtain the frequency response from W-edit.
33
Dr NNCE
LAB-LM
ECE/VI-SEM
SCHEMATIC DIAGRAM:
34
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
RESULT
Thus the functional verification of the Differential Amplifier through schematic
entry.and the output also verified successfully
35
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 8
Title Of The Experiment : LAYOUT OF CMOS INVERTER
Date of the experiment :
OBJECTIVE OF THE EXPERIMENT
To draw the layout of CMOS Inverter using L-Edit and extract the SPICE code.
FACILITIES REQUIRED AND PROCEDURE
a) Facilities required to do the experiment
S.No.
SOFTWARE REQUIREMENTS
L-Edit using CadanceTool.
1
b) Procedure for doing the experiment
S.No
1
Quantity
1
Draw the CMOS Inverter layout by obeying the Lamda Rules using Ledit.
Poly - 2
ii. Active contact - 2
iii. Active Contact Metal - 1
iv. Active Contact Active region - 2
v. Active Region Pselect - 3
vi. Pselect nWell - 3
3 Check DRC to verify whether any region violate the lamda rule
4 Setup the extraction and extract the spice code using T-spice.
2
36
Dr NNCE
LAB-LM
ECE/VI-SEM
CMOS INVERTER:
37
VLSI DESIGN
Dr NNCE
ECE/VI-SEM
RESULT:
Thus the layout of CMOS Inverter using L-Edit and extract the SPICE code. and the output also
verified successfully.
38
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 9
Title of the Experiment : DESIGN OF A 10 BIT NUMBER CONTROLLED
OSCILLATOR
2
3
4
SCHEMATIC DIAGRAM:
39
Quantity
1
Dr NNCE
ECE/VI-SEM
RESULT:
Thus the the functional verification of the design of a 10 bit number controlled oscillator
through schematic entry.
40
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 10
Title of The Experiment
_____________________________________________________________
OBJECTIVE OF THE EXPERIMENT
To generate the Layout from the schematic using the Tanner tool and verify the layout using
simulation.
FACILITIES REQUIRED AND PROCEDURE
Quantity
1
Draw the schematic using S Edit and verify the output in W Edit.
2
3
4
5
6
Name the ports and check the design for the DRC Rules
Locate the Destination file in the setup Extract window and extract
the layout.
Include the Library and the print voltage statements in the net list
which is obtained.
Verify the layout design using W Edit.
9
10
41
Dr NNCE
LAB-LM
ECE/VI-SEM
SCHEMATIC DIAGRAM:
42
VLSI DESIGN
Dr NNCE
LAB-LM
43
ECE/VI-SEM
VLSI DESIGN
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
RESULT:
Thus the the Layout from the schematic using the Cadance tool and verify the layout
using simulation and the output also verified successfully.
44
Dr NNCE
LM
ECE/VI-SEM
45
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 11
Title of the experiment : IMPLEMENTATION OF FLIP-FLOPS
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE
8.1
Quantity
1
Double click the project navigator and select the option File-New
project.
4
5
6
7
8
46
Dr NNCE
LAB-LM
ECE/VI-SEM
c) Verilog coding:
PROGRAM:
D Flip-Flop:
/
VLSI DESIGN
Dr NNCE
LM
ECE/VI-SEM
else
q=q; endmodule
JK Flip-Flop:
Program:
// Module Name: JKFF
module JKFF(Clock, Reset, j, k,
q); input Clock;
input Reset;
input j;
input k;
output q;
reg q;
always@(posedge Clock, negedge Reset)
if(~Reset)q=0;
else
begin
case({j,k})
2'b00: q=q;
2'b01: q=0;
2'b10: q=1;
2'b11: q=~q;
endcase
end
endmodule
RESULT:
Thus the flip-flops program was implemented using tools and the output also verified successfully.
48
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 12
Title of the experiment : IMPLEMENTATION OF COUNTERS
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE
8.1
Quantity
1
Double click the project navigator and select the option File-New
project.
4
5
6
7
8
49
Dr NNCE
LM
ECE/VI-SEM
c) Verilog coding:
PROGRAM:
2- Bit Counter:
// Module Name: Count2Bit module
Count2Bit(Clock, Clear, out);
input Clock;
input Clear;
output [1:0] out;
reg [1:0]out;
always@(posedge Clock, negedge Clear)
if((~Clear) || (out>=4))out=2'b00;
else
out=out+1; endmodule
RESULT:
Thus the counters program was implemented using tools and the output also verified successfully.
50
Dr NNCE
LM
ECE/VI-SEM
Experiment Number: 13
Title of the experiment : IMPLEMENTATION OF REGISTERS
SOFTWARE REQUIREMENTS
Xilinx Project navigator ISE
8.1
Quantity
1
Double click the project navigator and select the option File-New
project.
4
5
6
7
8
51
Dr NNCE
LAB-LM
ECE/VI-SEM
VLSI DESIGN
c) Verilog coding:
PROGRAM:
2 Bit Register:
// Module Name: Reg2Bit
module Reg2Bit(Clock, Clear, in, out);
input Clock;
input Clear;
input [0:1] in;
output [0:1] out;
RESULT:
Thus the Registers program was implemented using tools and the output also verified
successfully.
52
Dr NNCE
ECE/VI-SEM
Dr NNCE
53
ECE/VI-
SEM
p-well process,
Contact cut
Dr NNCE
54
ECE/VI-SEM
LM
55