Vlsi Lab Manual - Draft-10ecl77
Vlsi Lab Manual - Draft-10ecl77
Prepared By
K.Ezhilarasan
Pushpa Mala S
Page 1 of 71
2013
Sambhram Institute of
Technology
K.Ezhilarasan, Pushpa Mala S
Senior Lecturer,
Dept of Electronics and
communication
Cadence
Analog Design
Digital Design
VLSI LAB
SUBJECT CODE: 10ECL77
I.A.MARKS:25
EXAM HOURS: 03
EXAM MARKS: 50
PART-A
DIGITAL DESIGN
ASIC-DIGITAL DESIGN FLOW
1. Write VERILOG code for the following circuits and their test bench for Verification, observe
the waveform and synthesis the code with technological library with given constraints*. Do the
initial timing verification with gate level simulation.
(i). an Inverter
(ii). A Buffer
(iii). Transmission Gate
(IV). Basic/Universal gates
(v). Flip flop RS flip flop, D flip flop, JK flip f lop, Master Slave flip flop, T flip flop
(vi). Serial & Parallel adder
(vii). 4-bit counter [synchronous and Asynchronous counter]
(viii).Successive approximation registers [SAR]
*An approximation constraint should be given
PART-B
ANALOG DESIGN
ANALOG DESIGN FLOW
1. Design an Inverter with the given specifications*, completing the design flow mentioned
below:
a. Draw the schematic and verify the following
(i) DC Analysis
(ii) Transient Analysis
b. Draw the Layout and verify the DRC [Design Rule Checker], ERC [Electrical Rule
Checker]
c. Check for LVS [Layout Vs Schematic]
d. Extract RC and back annotate the same and verify the Design
e. Verify & Optimize for Time, Power and Area to the given constraint***
2. Design the following circuits with given specifications*, completing the design flow
mentioned below:
a. Draw the schematic and verify the following
(i) DC Analysis
(ii) AC Analysis
(iii) Transient Analysis
Page 3 of 71
b. Draw the Layout and verify the DRC [Design Rule Checker], ERC [Electrical Rule
Checker]
c. Check for LVS [Layout Vs Schematic]
d. Extract RC and back annotate the same and verify the Design
(i) A single stage differential amplifier
(ii) Common source and Common Drain amplifier
3. Design an Op-amp with given specification* using the differential amplifier Common source
and Common Drain amplifier in library** and completing the design flow mentioned below:
a. Draw the schematic and verify the following
(i) DC Analysis
(ii) AC Analysis
(iii) Transient Analysis
b. Draw the Layout and verify the DRC [Design Rule Checker], ERC [Electrical Rule
Checker]
c. Check for LVS [Layout Vs Schematic]
d. Extract RC and back annotate the same and verify the Design
4. Design a 4-bit R-2R based DAC for the given specification and completing the design flow
mentioned using given op-amp in the library**.
a. Draw the schematic and verify the following
(i) DC Analysis
(ii) AC Analysis
(iii) Transient Analysis
b. Draw the Layout and verify the DRC [Design Rule Checker], ERC [Electrical Rule
Checker]
c. Check for LVS [Layout Vs Schematic]
d. Extract RC and back annotate the same and verify the Design
5.For the SAR based ADC mentioned in the figure below draw the mixed signal schematic and
verify the functionality by completing ASIC design FLOW.[ specifications too GDS-II]
Comparator
Vin
High when Vtest< Vin
Vtest
DAC
Output
B0
bn
Clock
SAR
Reset
Page 4 of 71
Page 5 of 71
PART-A
Digital Design
Procedure:
1. In the desktop, right click and go to terminal window
2. In the terminal window type the given below
csh
source cshrc (Note: cshrc is a file, that will communicate client machine to the VLSI server)
nclaunch
3. The following screen will appear like shown in figure
Page 6 of 71
6. In set design directory browse (design directory) now u have to set your design
directory( where you are created your design directory)(path is root/cadence/and_gate)
7. Now u have to set library mapping file, in that click on create cds.lib file and save it in your
design directory (Note :cds.lib file will be create for each and every folder created by user)
Page 7 of 71
9. Now compile the design file and test bench file (click the vlog icon)
Page 8 of 71
Vlog
10. Now elaborate the both files, in right side expand the work lib directory and click the both
file (click next to vlog icon)
Elaborator
Page 9 of 71
Page 10 of 71
12. Now in the simulate window, click the drop down menu in snapshot and set the
testbench.module, then click ok
Page 11 of 71
13. Now minimize/close the console window In the design browser window, click the test
bench in left side, then in right side click the send to waveform icon
Click this
icon
14. Now click the run button in simulation window for simulation. (Now click the mouse inside
the wave form and drag it for checking the output)
Page 12 of 71
Page 13 of 71
Example rc script:
set_attr lib_search_path /root/Cadence/rclabs/library this is for to set up the library path
set_attr hdl_search_path /root/Cadence/rclabs/rtl this is for to set up the hdl search path
set_attr library {slow_highvt.lib slow_normal.lib}-- these are available libraries in the library
folder (Path is../root/Cadence/rclabs/library)
read_hdl hdl_file name.v (Eg.not1.v)--. This command will read the hdl file
elaborate topmodule_name (module name of inverter) this will create the drivers for i/p and
o/p
synthesize to_mapped
Note: for elaborate you have to give the top level module name .E.g..for parallel adder
read_hdl {fulladdder.v parallel_adder.v}
elaborate parallel_adder
Page 14 of 71
CMOS Switch
cmos
CMOS switches are declared with the keyword cmos. A CMOS device can be
modeled with a NMOS and PMOS devices. The symbol for a CMOS switch is shown
below.
Bidirection Switch
tran t1( inout1, inout2 ) ;
tranif0 t2 (inout1, inout2 , control ) ;
tranif1 t3 (inout1, inout2 , control ) ;
The tran switch acts as a buffer between the two signals inout1 and in-out2. Either
inout1, or inout2 can be driver signal. The tranif0 switch connects the two signals inout1 and
inout2 only if the control signal is logic 0. If the control signal is a logic 1, the nondriver
signal gets a high impedance value z. The driver signal retains value from its driver. The
tranif1 switch conducts if the control signal is a logic 1.
Page 15 of 71
Resistive Switch
rnmos
n2(out , data , control ) ;
rpmos
p2(out , data , control ) ;
rcmos c2(out , data , control ) ; rtran
t4(inout1 , inout2 ) ;
rtranif0
t5(inout1 , inout2 , control ) ;
rtranif1
t6(inout1 , inout2 , control ) ;
Resistive switches have a higher source to drain impedance than regular switches and
reduce the strength of signals when the signal passes through them. Resistive
switches have the same syntax as regular switches.
Basic Design Example
There are four examples to describe the gate level design. Each example will contain
(1) transistor circuit (2) verilog code (3) test stimulus code (4) simulation result
(5) simulation waveform
CMOS NOR Gate Design
We design our own nor gate, using CMOS switches. The gate and the switch level
circuit diagram for the nor gate is show below.
Page 16 of 71
Verilog Code
Using the switch primitives discussed first, the verilog description of the circuit is shown below.
Pwr is connected
to vdd
Gnd is connected
to vss
Page 17 of 71
Call my_nor
module
module stimulus;
reg A, B;
wire OUT;
Show result
end
initial
$monitor($time, " OUT = %b, A = %b, B = %b", OUT, A, B);
endmodule
Simulation Result
The output of the simulation is shown below.
Simulation result
Page 18 of 71
Simulation Waveform
Using the CMOS design the 1-bit full adder, the logic diagram is shown below.
Page 19 of 71
Verilog Code
We are now ready to write the verilog description for a full adder. First, we need to
design our own inverter my_not and my_xor by using switches. We can write the
verilog module description for the CMOS inverter from the switch-level circuit
diagram.
Built my_not
module
endmodule
We need to design our xor module by using switches, too. We can write the verilog
module description for CMOS xor form the switch-level
circuit diagram.
module my_xor(out,a,b);
Call my_not
module previous
output
out;
input a,b; wire
c;
my_not nt(c,a);
Now, the 1-bit full adder can be defined using the CMOS switch and my_not inverter. The
verilog description for a 1-bit full adder is shown below.
endmodule
Page 21 of 71
Call adder
module
Show result
adder
n1(sum,cout,a,b,cin);
initial
$monitor($time," sum=%b cout=%b a=%b b=%b
cin=%b",sum,cout,a,b,cin);
initial
begin
#5 a=1'b0; b=1'b0; cin=1'b0;
#5 a=1'b0; b=1'b0; cin=1'b1;
#5 a=1'b0; b=1'b1; cin=1'b0;
#5 a=1'b0; b=1'b1; cin=1'b1;
#5 a=1'b1; b=1'b0; cin=1'b0;
#5 a=1'b1; b=1'b0; cin=1'b1;
#5 a=1'b1; b=1'b1; cin=1'b0;
#5 a=1'b1; b=1'b1; cin=1'b1; end
endmodule
Page 22 of 71
Simulation Result
All possible
Combinations
Simulation Waveform
b +
c in )
c ou t = ( a b ) + cin ( a x
b )
Page 23 of 71
2 to 1 Multiplexer Design
The 2 to 1 multiplexer can be defined with CMOS switches. We will use the my_nor
gate declared before. The circuit diagram for the multiplexer is show below.
Verilog Code
The 2 to 1 multiplexer passes the input I0 to output if S=0 and passes I1 to OUT if
S =1. The switch level description for the 2 to 1 multiplexer is shown below.
Complement of s
Equivalent to a
not gate
endmodule
Page 24 of 71
module
First combination
Second combination
stimulus;
#5 I0 = 1'b0; I1 = 1'b1;
S = 1'b0;
#5 S = 1'b1;
end
Page 25 of 71
%b",OUT,S,I0,I1);
Endmodule
Simulation Result
When S=0, then OUT=I0, otherwise, when S=1, then OUT= I1.
Simulation waveform
The simulation is used to waveform check 2 to 1 multiplexer correctly.
Ouput I0
Output I1
Output I0
Page 26 of 71
The diagram for a D Flip-Flop is show below. The switche C1 and C2 are CMOS
switches. Switch C1 is open if clk =1, and switch C2 is open if clk=0. Complement of
the clk is fed to the ncontrol input of C2.
Verilog Code
We are now ready to write the verilog description for the CMOS Flip-Flop. We
will use my_not module previous example.
Page 27 of 71
Flip-flop will
load data
module stimulus;
reg D, CLK;
wire Q, QBAR;
//instantiate the CMOS flipflop dff
c1(Q, QBAR, D, CLK);
//test load and store using stimulus initial
begin
//sequence 1
CLK = 1'b0;
D = 1'b1;
#5 CLK = 1'b1;
#5 CLK = 1'b0;
//sequence 2
#5 D = 1'b0;
#5 CLK = 1'b1;
#5 D=1'b1;CLK = 1'b0;
end
//check output
initial
begin
$monitor($time,"
CLK = %b, D = %b, Q = %b,
QBAR = %b ", CLK, D, Q, QBAR);
end
endmodule
Page 28 of 71
Simulation Result
When clk =0, output keep previous value. Otherwise, clk=1 input value is loaded.
Simulation Waveform
When clk =1, output is changed.
Page 30 of 71
RTL view:
Page 31 of 71
Experiment: 2 Buffer
AIM.
Write Verilog Code for buffer and Test Bench for verification, observe the waveform and
synthesize the code with technological library with given Constraints.
THEORY.
A buffer is a CMOS circuit used to temporarily hold data while it is being used to move
from one place to another. Typically, the data is stored in a buffer as it is retrieved from an
input device or just before it is sent to an output device. It is used mainly when there is a delay
needed in sending a data
Verilog code (data flow model):
module buffer ( out, in);
output out;
input in;
wire a;
inverter i1 (a,in);
inverter i2 (out,a);
endmodule
Verilog code (switch level model):
module buffer (out,in);
input in;
output out;
supply1 vdd;
supply0 vss;
wire a;
inv i1 (in, a);
inv i2 (a, out);
endmodule
#10 in = 1'bz ;
end
endmodule
Simulation output waveform:
RTL view:
Page 33 of 71
begin
a=0; ctrl=0;
end
always
begin
#10 a= ~a;
#25 ctrl = ~ctrl;
end endmodule
Simulation output waveform:
Page 35 of 71
RTL view:
Page 36 of 71
inputs to the gate are LOW (0). If one or both input is HIGH (1), a LOW output (0) results. NOR
is the result of the negation of the OR operator.
XOR gate The XOR gate (sometimes EOR gate or EXOR gate) is a digital logic gate
that implements an exclusive or; that is , if any one of the input is HIGH then the output goes to
HIGH(1) and if both inputs are LOW or HIGH then output goes LOW(0).
XNOR gate The XNOR gate (sometimes spelled "exnor" or "enor") is a digital logic
gate whose function is the inverse of the exclusive OR (XOR) gate. A HIGH output (1) results if
both of the inputs to the gate are the same. If one but not both inputs are HIGH (1), a LOW
output (0) results.
supply1 vdd;
supply0 vss;
pmos p1 (y,vdd,a);
pmos p1 (y,vdd,b);
nmos n1 (s1,y,a);
nmos n2 (vss,s1,b);
endmodule
testbench code:
module and_2_test;
reg a,b;
wire y;
and_2 a1(a,b,y);
initial
begin
a=0;
b=0;
end
always
begin
#10 a=~ a;
#25 b= ~b;
end
endmodule
Simulation output waveform:
Page 38 of 71
RTL view:
Page 39 of 71
testbench code:
module orgate_test;
reg a,b;
wire y;
orgate o1(a,b,y);
initial
begin
a=0;
b=0;
end
always
begin
#10 a=~ a;
#25 b= ~b;
end
endmodule
Simulation output waveform:
Page 40 of 71
RTL view:
testbench code:
module xor_2_test;
reg a,b;
wire y;
Page 41 of 71
xor_2 a1(a,b,y);
initial
begin
a=0;
b=0;
end
always
begin
#10 a=~ a;
#25 b= ~b;
end
endmodule
RTL view:
Page 42 of 71
testbench code:
module xor_2_test;
reg a,b;
wire y;
xor_2 a1(a,b,y);
initial
begin
a=0;
b=0;
end
always
begin
#10 a=~ a;
#25 b= ~b;
end
endmodule
Page 43 of 71
RTL view:
Page 44 of 71
nmos n9 (sumb,j,carryb);
nmos n10 (j,vss,x);
nmos n11 (j,vss,y);
nmos n12 (j,vss,cin);
inv i2 (sum,sumb);
endmodule
testbench code:
module full_test;
reg a,b,cin;
wire s,c;
fulladd f1(a,b,cin,s,c);
initial
begin
a=0;
b=0;
cin=0;
end
always
begin
#5 a=~a;
#10 b = ~b;
#15 cin= ~cin;
end
endmodule
Simulation output waveform:
Page 46 of 71
RTL view:
Page 47 of 71
Page 48 of 71
RTL view:
Page 49 of 71
#5 s=0; r=0;
#10 s=1'b1; r=1'b1;
#5 s=0; r=0;
end
always
#5 clk = ~clk;
endmodule
RTL view:
Page 51 of 71
AIM.
Write Verilog Code for D flip flop and Test Bench for verification, observe the
waveform and synthesize the code with technological library with given Constraints.
THEORY.
To eliminate the undesirable condition of indeterminate state in the SR Flip Flop when
both inputs are high at the same time, in the D Flip Flop the inputs are never made
equal at the same time. This is obtained by making the two inputs complement of each other
Verilog code for D Flip flop:
module d_ff(q,clk,rst,din);
output q;
input clk,din,rst;
reg q;
always @(posedge clk)
begin
if (rst)
q <= 1'b0;
else
q <= din;
end
endmodule
Testbench Code:
module d_ff_test;
reg clk, din, rst;
wire q;
d_ff df1 (q, clk, rst, din);
initial
begin
clk = 1'b0;rst=1'b1;din=0;
#10 rst=0;
#15 din=1'b1;
#22 din=0;
#11 din=1'b1;
#5 rst=1'b1;
end
always
#10 clk = ~clk;
endmodule
Page 52 of 71
RTL view:
Page 53 of 71
AIM.
Write Verilog Code for JK flip flop and Test Bench for verification, observe the
waveform and synthesize the code with technological library with given Constraints.
THEORY.
The indeterminate state in the SR Flip-Flop is defined in the JK Flip Flop. JK inputs
behave like S and R inputs to set and reset the Flip Flop. The output Q is ANDed with K input
and the clock pulse, similarly the output Q is ANDed with J input and the Clock pulse. When
the clock pulse is zero both the AND gates are disabled and the Q and Q output retain their
previous values. When the clock pulse is high, the J and K inputs reach the NOR gates. When
both the inputs are high the output toggles continuously. This is called Race around condition
and this must be avoided.
Verilog code for JK Flip flop:
module jkff(jk,clk,q,q_bar);
input [0:1] jk;
input clk;
output q, q_bar;
reg q, q_bar;
always @ (posedge clk )
begin
case (jk)
2'd0 : q=q;
2'd1 : q=0;
2'd2 : q=1;
2'd3 : q=~q;
endcase
end
assign q_bar=~q;
endmodule
testbench code:
module jk_ff_test;
reg clk,rst,j,k;
wire q,qbar;
jk_ff inst(q,qbar,clk,rst,j,k);
initial
begin
clk = 1'b0;rst=1'b1; j=0;k=1b1;
#10 rst=1'b0;
#10 j=1'b1; k=1'b0;
#10 j=1'b0; k=1'b0;
#10 j=1'b0; k=1'b1;
Page 54 of 71
endmodule
Simulation output waveform:
RTL view:
Page 55 of 71
AIM.
Write Verilog Code for T flip flop and Test Bench for verification, observe the waveform
and synthesize the code with technological library with given Constraints.
THEORY.
This is a modification of JK Flip Flop, obtained by connecting both inputs J and K inputs
together. T Flip Flop is also called Toggle Flip Flop.
Verilog code for T- Flip flop:
module t_ff(q,qbar,clk,tin,rst);
output q,qbar;
input clk,tin,rst;
reg q;
always @(posedge clk)
begin
if(rst)
q <= 1'b0;
else if (tin)
q <= ~q;
end
assign qbar = ~q;
endmodule
testbench:
module t_ff_test;
reg clk,tin,rst;
wire q,qbar;
t_ff t1(q,qbar,clk,tin,rst);
initial
begin
clk = 1'b0;rst=1'b1;
#10 rst=1'b0;
#20 tin =1'b1;
#40 tin =1'b0;
#50 tin=1'b1;
end
always #5 clk = ~clk;
endmodule
Page 56 of 71
RTL view:
Page 57 of 71
AIM.
Write Verilog Code for MS flip flop and Test Bench for verification, observe the
waveform and synthesize the code wth technological library with given constraints.
THEORY
A master-slave flip is constructed from two separate flip- flops. One circuit serves as a
master and the other as a slave. The logic diagram of an SR flip flop is shown in Figure. The
master flip-flop is enabled on the positive edge of the clock pulse CP and the slave flip-flop is
disabled by the inverter. The information at the external R and S inputs is transmitted to the
master flip flop when the pulse returns to 0, the master flip flop is disabled and the slave flip-flop
is enabled. The slave flip flop then goes to the same as the master flip flop.
Verilog code for JK Master Slave flips flop (Using Behavioral Model):
module ms_jkff(q,q_bar,clk,j,k);
output q,q_bar;
input clk,j,k;
reg tq,q,q_bar;
always @(clk)
begin
if (!clk)
begin
if (j==1'b0 && k==1'b1)
tq <= 1'b0;
else if (j==1'b1 && k==1'b0)
tq <= 1'b1;
else if (j==1'b1 && k==1'b1)
tq <= ~tq;
end
if (clk)
begin
q <= tq;
q_bar <= ~tq;
end
end
endmodule
Verilog code for JK Master Slave flips flop (Using structural Model):
module jkff_ms (jk,clk,q,q_bar);
input [0:1] jk;
input clk;
output q,q_bar;
wire q1, q1_bar,clk_bar;
assign clk=~clk_bar;
jkff j1 (jk[0], jk[1], clk, q1, q1_bar);
jkff j2 (q1, q1_bar, clk_bar, q, q_bar);
endmodule
Page 58 of 71
Page 59 of 71
RTL view:
Page 60 of 71
RTL view:
Page 63 of 71
Page 64 of 71
RTL view:
Page 66 of 71
RTL view:
Page 67 of 71
VERILOG CODE.
module sar ( R,L,E,w,clock,q);
parameter n=8;
input [n-1:0] R;
input L,E,w,clock;
output [n-1:0] q;
reg [n-1:0] q;
integer k;
always @(posedge clock)
if (L)
q <= R;
Page 68 of 71
else if (E)
begin
for (k=n-1;k>0;k=k-1)
q[k-1] <= q[k];
q[n-1] <= w;
end
endmodule
TEST BENCH.
module sar_t;
reg [7:0] r;
reg l;
reg e;
reg w;
reg clk;
wire [7:0] q;
sar sf(.R(r),.L(l),.E(e),.w(w),.clock(clk),.q(q));
initial
begin
clk = 1'b0;
l = 1'b1;
w = 1'b0;
e = 1'b0;
#5 r = 8'b11110000;
#10 l = 1'b0;
e = 1'b1;
#10 w = 1'b0;
#10 w = 1'b1;
$finish;
end
always #5 clk = ~clk;
endmodule
Page 69 of 71
RTL OUTPUT
Page 70 of 71
Page 71 of 71
PART B
Procedure:
Starting with Cadence tool
Right click on Desktop, open the terminal window and type the given below
(Note: Use the installed database)
1. Change the directory by entering by this command
cd Cadence/cadence_ms_labs_613
csh
source cshrc
virtuoso
2. Now, command interpreter window (CIW) will appear at the bottom of the screen.
3. Close the Whats new window & Keep opened CIW window.
4. Now, go to File Newlibrary
5. In the new library form give your Name & also verify that path to the library is set to
~/Cadence/cadence_ms_labs_613 and click ok.
6. In the next technology file for new library form, select option Attach to an existing tech
file and click ok.
7. Next attach library to technology file form will appear, select gpdk180 from the cyclic
field and click ok.
8. After creating a new library you can verify it from the library manager.
9. Now Library manager window will appear, in that select your folder with Name in the
library column.
10. Go to FileNewCellview
11. Set up the new file form as follows
Library: your folder named with Name (Note: Dont edit the library path)
Cell : Give the Name of your experiment, i.e, example (Note: only this you should edit)
View : Schematic
Type : schematic
12. After setting everything then click ok. Now schematic window screen will appear.
Note: The following steps you should keep it in mind while doing your experiment
(i)
Schematic creation
(ii)
Symbol creating
(iii)
Test the given circuit with the help of input sources and power supplys.
13. After schematic window screen appears, create the instance (or) components by pressing the
letter i in keyboard. (Note: In menu bar Createinstance)
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
Gpdk180
Pmos/Symbol
(or) spectre
Gpdk180
Nmos/Symbol
(or) spectre
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Vin
Input
Vout
Output
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire(narrow) (or) press w in keyboard (or) wire(narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Saveicon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellViewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: Specify the pin name, what you given in the left side of your schematic (e.g, vin,)
Right pin: specify the pin name, what you given in the right side of your schematic (e.g, Vout)
Top pin: specify the pin name, what you given in the top of your schematic (e.g, Vdd)
Bottom pin: specify the pin name, what you given in the bottom of your schematic (e.g,Vss)
Then click ok in the symbol generation option form.
33. A new window displays an automatically created symbol of schematic.
34. Check and save, close the symbol window.
Cell name
View name
Properties/comments
Name
Example
Symbol
analogLib
Symbol
analogLib
Supply sources-vdd,vss
(e.g, vdc,gnd)
Symbol
(Note: Remember to set the values for supply sources, otherwise your circuit will have no
power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
8. After keeping the pMOS and nMOS in the boundary, re arrange the input pins,
output pins, vdd and vss.
9. To re arrange those pins, go to placepin placement, the pin placement form
window will appear now.
10. Now in this window, click on the vdd, vdd to create a VDD rails, VSS rails in vertical or
horizontal direction. Now click place as schematic in the same window, then click ok.
11. Now all are in the boundary
12. Now press shift+f to view the pMOS and nMOS layout view
13. Now connect the P1_NWELL and M1_PSUB with the respective mos
transistors.(Note: To get Psub & Nsub substrates, go to createVia)
14. Next connect all the terminals with the help of wire(Metal), To create metal go to
createwire, now keep the mouse in any of the poly or metal, this will indicate the
connection to connect. Click source and leave in destination place, the metals will
routed successfully
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need to
correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
21. Next, go to AssuraRun RCX
22. Change the following in the Assura parasitic extraction form. Select output type
under setup tab of the form.
23. In the Extraction tab of the form, choose Extraction type RC, cap coupling mode
coupled and specify the reference node for extraction.
24. In the Filtering tab of the form, Enter power nets as vdd!, vss! And enter ground
nets as gnd!. And click ok in the assura parasitic extraction form when done.
25. When RCX completes, a dialog box appears, inform you that Assura RCX run
completed successfully.
26. Now, you can open the av_extracted view from the library manager and view the
parasitic.
27. CREATING THE CONFIGURATION VIEW- In this we will create a config view and with
this config view we will run the simulation with and without parasitic.
28. Now, go to library mangerFileNewcellview
29. In the create new file form, set the following, then click ok in create new file form.
30. The hierarchy editor form opens and a new configuration form opens in front of it. In
this click use template at the bottom of the new configuration form and select
spectre in the cyclic field and click ok. The global bindings list are located from the
template.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
35. From the library manager open example_test config view. Open configuration or
top cellview form appears.
36. In the form, turn on the both cyclic buttons to YES and click ok.The example_test
schematic and example_test config window appears. Notice the window
banner of schematic also states config: Name example_test config
37. Now go to launchADE L from the schematic window.
38. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
39. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
40. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
Binding Keys:
Key
comments
Wire
Pin
Instance
Move
Stretch
Shift+f
Del
Esc
Escape
Technology: 180nm
Digital Design (Cadence Tools Used) : Incisive simulator (nc launch), RTL Compiler (Sythesis)
Analog Design:
Tran Analysis:
EXPERIMENT NO.1
CMOS INVERTER
Aim:
Design an Inverter with given specifications, completing the design flow mentioned below:
a. Draw the schematic and verify the following
i) DC Analysis
ii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design
e. Verify & Optimize for Time, Power and Area to the given
Constraint.
Operation:
From Figure 1, a CMOS circuit is composed of two MOSFETs. The top FET (MP) is a PMOS type
device while the Bottom FET (MN) is an NMOS type. The body effect is not present in either device
since the body of each device is directly connected to the devices source. Both gates are connected
to the input line. The output line connects to the drains of both FETs.
Take a look at the VTC in Figure 2. The curve represents the output voltage taken from node 3. You
can easily see that the CMOS circuit functions as an inverter by noting that when VIN is five volts,
VOUT is zero, and vice versa. Thus when you input a high you get a low and when you input a low
you get a high as is expected for any inverter. You might be wondering what happens in the middle,
transition area of the curve. You might also be curious as to what modes of operation the MOSFETs
are in. We will look at these issues next.
Figu
re 2: Basic Voltage Transfer Characteristic
DC Analysis:
Figure 3 shows a more detailed VTC. Before we begin our analysis it is important to mention three
items.
The MOSFETS must be perfectly matched for optimum operation, that is, they must have the same
threshold voltage magnitude and conduction parameter. The drain current (ID) through the NMOS
device equals the drain current through the PMOS device at all times. MOSFET gates have a high
input impedance and we assume the circuits output sees no significant loading. VDD equals the
voltage across the PMOS plus the voltage across the NMOS by KVL.
The PMOS device is forward biased (VSG > -VTP) and therefore on. This MOSFET is in the
linear region (VSD<=VSG+VTP=VDD-Vo+VTP).
The NMOS device is cut off since the input voltage is below VTN (Vi=VGS<VTN).
The power dissipation is zero.
Region II
Here we raise the input voltage above VTN. We find that the PMOS device remains in the linear
region since it still has adequate forward bias. The NMOS turns on and jumps immediately into
saturation since it still has a relatively large VDS across it.
The maximum allowable input voltage at the low logic state (VIL) occurs in this region. VIL is
the value of Vi at the point where the slope of the VTC is -1. Put another way, VIL occurs at
(dVo/dVi)=-1.
Region III
In the middle of this region there exists a point where Vi=Vo. We label this point VM and identify it
as the gate threshold voltage. The voltage dropped across the NMOS device equals the voltage
dropped across the PMOS device when the input voltage is VM. For a very short time, both devices
see enough forward bias voltage to drive them to saturation.
Region IV
Region IV occurs between an input voltages slightly higher than VM but lower than VDD-VTP. Now
the NMOS device is conducting in the linear region, dropping a low voltage across VDS. Since VDS is
relatively low, the PMOS device must pick up the tab and drop the rest of the voltage (VDD-VDS)
across its VSD junction. This, in turn, drives the PMOS into saturation. This region is effectively the
reverse of region II.
The minimum allowable input voltage at the logic high state (VIH) occurs in this region. VIH
occurs at the point where the slope of the VTC is 1 (dVo/dVi)=-1.
Region V
The NMOS wants to conduct but its drain current is severely limited due to the PMOS device only
letting through a tiny leakage current. The PMOS is out to lunch since it is seeing a positive drive but
it is already positive enough and has no use for more. This drain current let through by the PMOS is
too small to matter in most practical cases so we let ID=0. With this information we can conclude
that VDS=Vo=0 V for the NMOS since no current is going through the device. We have, in effect,
sent in VDD and found the inverters output to be zero volts. For CMOS inverters, VOH=VDD. VOL
is defined to be the output voltage of the inverter at an input voltage of VOH. We have just proven
thatVOL=0.
The PMOS device is cut off when the input is at VDD (VSG=0 V).
The NMOS device is forward biased (Vi=VGS > VTN) and therefore on. This MOSFET is in the
linear region (Vi=VDS<=VGS-VTN).
The total power dissipation is zero just as in region I.
Procedure:
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
Gpdk180
pmos/Symbol
(or) spectre
Gpdk180
nmos/Symbol
(or) spectre
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Vin
Input
Vout
Output
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire(narrow) (or) press w in keyboard (or) wire(narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellViewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: vin
Right pin: vout
Top pin: vdd
Bottom pin: vss
Then click ok in the symbol generation option form.
Cell name
View name
Properties/comments
VLSI_LAB
Inverter
Symbol
analogLib
Vpulse
Symbol
analogLib
Vdc, gnd
Symbol
Vdc=1.8
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
DC Analysis:
a.
b.
c.
d.
e.
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.
h. Check the enable button and then click Apply.
4. After setup all the analyses click ok. Next go to outputTo be plotted Select on
schematic in the ADE window.
5. Follow the prompt at the bottom of the schematic window, click on output net (wire)
Vout, input net (wire) vin of the example. Press ESC with the cursor in the schematic
after selecting it.
6. Now, go to simulationNetlist and run in the ADE window to start the simulation or
the icon, this will create the netlist as well as run the simulation.
7. When simulation finishes, the transient, DC, AC plots automatically will be popped up
along with log file.
(Note: if you try to close the ADE window, it will ask to save, click yes to save the
information else click No)
4. Click ok from the new cell view form.LSW and a blank layout window appear along
with schematic window.
5. Now, In the Layout window, go to connectivityGenerateAll from source in the
layout editor window. Generate Layout form appears. Click ok which imports the
schematic components in to the layout window automatically (e.g, pmos, nmos,
input sources, power supply, output sources)
6. Re arrange the components within the PR- Boundary
7. To re arrange the components, we have to move the component to the boundary,
for that first select the component which will highlight with pink colour, then press
s in the keyboard to move.(Note: If the boundary is not sufficient, you can extend
the horizontal and vertical line by using the key s to stretch the line, it can be
stretch either in horizontal or vertical direction at a time)
8. After keeping the pmos and nmos in the boundary, re arrange the input pins, output
pins, vdd and vss.
9. To re arrange those pins, go to placepin placement, the pin placement form
window will appear now.
10. Now in this window, click on the vdd, vdd to create a VDD rails, VSS rails in vertical or
horizontal direction. Now click place as schematic in the same window, then click ok.
11. Now all are in the boundary
12. Now press shift+f to view the pMOS and nMOS layout view
13. Now connect the P1_NWELL and M1_PSUB with the respective mos
transistors.(Note: To get Psub & Nsub substrates, go to createVia)
14. Next connect all the terminals with the help of wire(Metal), To create metal go to
createwire, now keep the mouse in any of the poly or metal, this will indicate the
connection to connect. Click source and leave in destination place, the metals will
routed successfully
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need
to correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
29. In the create new file form, set the following, then click ok in create new file form.
30. The hierarchy editor form opens and a new configuration form opens in front of it. In
this click use template at the bottom of the new configuration form and select
spectre in the cyclic field and click ok. The global bindings list are located from the
template.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
35. From the library manager open inverter_test config view. Open configuration or
top Cellview form appears.
36. In the form, turn on the both cyclic buttons to YES and click ok. The inverter_test
schematic and inverter_test config window appears. Notice the window
banner of schematic also states config: VLSI_LAB inverter_test config
37. Now go to launchADE L from the schematic window.
38. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
39. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
40. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
EXPERIMENT No: 2
A SINGLE STAGE CMOS DIFFERENTIAL AMPLIFIER
Aim:
Design a single stage CMOS differential amplifier with given specifications, completing the design flow
mentioned below:
a. Draw the schematic and verify the following
i) DC Analysis
ii) AC Analysis
iii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design.
Operation:
Procedure:
12. After setting everything then click ok. Now schematic window screen will appear.
Note: The following steps you should keep it in mind while doing your experiment
(i)
Schematic creation
(ii)
Symbol creating
(iii)
Test the given circuit with the help of input sources and power supplys.
13. After schematic window screen appears, create the instance (or) components by pressing the
letter I in keyboard. (Note: In menu bar Createinstance)
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
Gpdk180
nmos/Symbol
(or) spectre
Gpdk180
nmos/Symbol
(or) spectre
Gpdk180
Pmos/Symbol
(or) spectre
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Input
Vout
Output
Vdd, vss
Input
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire (narrow) (or) press w in keyboard (or) wire (narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellviewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: vin1 vin2 Idc
Right pin: vout
Cell name
View
name
Properties/comments
VLSI_LAB
Differential_amplifier Symbol
analogLib
Vsin
Symbol
analogLib
Symbol
analogLib
Idc
Symbol
Dc current=30u.
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
Transient analysis:
a.In the analysis section select tran
b. set the stop time as 5m
c. click at the moderate or enabled button at the bottom, and then click apply.
DC Analysis:
a.
b.
c.
d.
e.
f.
g.
AC Analysis:
a. In the Analysis section, select ac.
b. In the AC analysis section, turn on Frequency.
c. In the sweep range section select start and stop frequencies as 150 to 100M.
d. Select points per decade as 20.
e. Check the enable button and then click Apply.
Click ok in the choosing analysis form.
4. After setup all the analyses click ok. Next go to outputTo be plotted Select on
schematic in the ADE window.
5. Follow the prompt at the bottom of the schematic window, click on output net (wire)
Vout, input net (wire) vin1 &vin2 of the differential_amplifier_test. Press ESC with the
cursor in the schematic after selecting it.
6. Now, go to simulationNetlist and Run in the ADE window to start the simulation or
the icon, this will create the netlist as well as run the simulation.
7. When simulation finishes, the transient, DC, AC plots automatically will be popped up
along with log file.
(Note: if you try to close the ADE window, it will ask to save, click yes to save the
information else click No)
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need
to correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
25. When RCX completes, a dialog box appears, inform you that Assura RCX run
completed successfully.
26. Now, you can open the av_extracted view from the library manager and view the
parasitic.
27. CREATING THE CONFIGURATION VIEW- In this we will create a config view and with
this config view we will run the simulation with and without parasitic.
28. Now, go to library mangerFileNewcellview
29. In the create new file form, set the following, then click ok in create new file form.
30. The hierarchy editor form opens and a new configuration form opens in front of it. In
this click use template at the bottom of the new configuration form and select
spectre in the cyclic field and click ok. The global bindings list are located from the
template.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
35. From the library manager open differential_amplifier_test config view. Open
configuration or top cellview form appears.
36. In the form, turn on the both cyclic buttons to YES and click ok.The
differential_amplifier_test schematic and differential_amplifier_test config
window appears. Notice the window banner of schematic also states config:
VLSI_LAB differential_amplifier_test config
37. Now go to launchADE L from the schematic window.
38. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
39. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
40. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
EXPERIMENT No: 3
COMMON SOURCE AMPLIFIER
Aim:
Design the common source amplifier with given specifications, completing the design flow mentioned below:
a. Draw the schematic and verify the following
i) DC Analysis
ii) AC Analysis
iii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design.
Operation:
Procedure:
12. After setting everything then click ok. Now schematic window screen will appear.
Note: The following steps you should keep it in mind while doing your experiment
(i)
Schematic creation
(ii)
Symbol creating
(iii)
Test the given circuit with the help of input sources and power supplys.
13. After schematic window screen appears, create the instance (or) components by pressing the
letter I in keyboard. (Note: In menu bar Createinstance)
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
Gpdk180
pmos/Symbol
(or) spectre
Gpdk180
nmos/Symbol
(or) spectre
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Vin, vbias
Input
Vout
Output
Vdd, vss
input
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire (narrow) (or) press w in keyboard (or) wire (narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellviewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: vin
Right pin: vout
Top pin: vdd
Bottom pin: vss vbias
Then click ok in the symbol generation option form.
33. A new window displays an automatically created symbol of schematic.
34. Check and save, close the symbol window.
View: schematic
Type: schematic, then click ok when done. A blank schematic window for the
common_source_test design appears.
37. Using the components list and properties/comments in this table. Build the
common_source_test schematic.
Library
Name
Cell name
View
name
Properties/comments
VLSI_LAB
Common_source
Symbol
analogLib
Vsin
Symbol
analogLib
Vdc(vdd& vss),
gnd
Symbol
analogLib
Vdc (vbias)
Symbol
Vdc=2.5
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
Transient analysis:
a.In the analysis section select tran
b. set the stop time as 5m
c. click at the moderate or enabled button at the bottom, and then click apply.
DC Analysis:
a. In the analysis section, select dc.
b. In the DC analysis section, turn on save DC operating point.
c. Turn on the component parameter.
d.
e.
f.
g.
Double click the select component, which takes you to the schematic window.
Select the input signal Vsin in the test schematic window.
In the analysis form type start and stop voltages as -5 to 5 respectively.
Check the enable button and then click Apply.
AC Analysis:
a. In the Analysis section, select ac.
b. In the AC analysis section, turn on Frequency.
c. In the sweep range section select start and stop frequencies as 150 to 100M.
d. Select points per decade as 20.
e. Check the enable button and then click Apply.
Click ok in the choosing analysis form.
4. After setup all the analyses click ok. Next go to outputTo be plotted Select on
schematic in the ADE window.
5. Follow the prompt at the bottom of the schematic window, click on output net (wire)
Vout, input vin of the common_source_test. Press ESC with the cursor in the schematic
after selecting it.
6. Now, go to simulationNetlist and run in the ADE window to start the simulation or
the icon, this will create the netlist as well as run the simulation.
7. When simulation finishes, the transient, DC, AC plots automatically will be popped up
along with log file.
(Note: if you try to close the ADE window, it will ask to save, click yes to save the
information else click No)
the horizontal and vertical line by using the key s to stretch the line, it can be
stretch either in horizontal or vertical direction at a time)
8. After keeping the pMOS and nMOS in the boundary, re arrange the input pins,
output pins, vdd and vss.
9. To re arrange those pins, go to placepin placement, the pin placement form
window will appear now.
10. Now in this window, click on the vdd, vdd to create a VDD rails, VSS rails in vertical or
horizontal direction. Now click place as schematic in the same window, then click ok.
11. Now all are in the boundary
12. Now press shift+f to view the pMOS and nMOS layout view
13. Now connect the P1_NWELL and M1_PSUB with the respective mos
transistors.(Note: To get Psub & Nsub substrates, go to createVia)
14. Next connect all the terminals with the help of wire(Metal), To create metal go to
createwire, now keep the mouse in any of the poly or metal, this will indicate the
connection to connect. Click source and leave in destination place, the metals will
routed successfully
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need
to correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
35. From the library manager open common_source_test config view. Open
configuration or top Cellview form appears.
36. In the form, turn on the both cyclic buttons to YES and click ok. The
common_source_test schematic and common_source_test config window
appears. Notice the window banner of schematic also states config:
VLSI_LAB common_source_test config
37. Now go to launchADE L from the schematic window.
38. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
39. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
40. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
EXPERIMENT No: 4
COMMON DRAIN AMPLIFIER
Aim:
Design the common drain amplifier with given specifications, completing the design flow mentioned below:
a. Draw the schematic and verify the following
i) DC Analysis
ii) AC Analysis
iii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design.
Operation:
Procedure:
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
Gpdk180
nmos/Symbol
(or) spectre
Gpdk180
nmos/Symbol
(or) spectre
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Vin, vbias
Input
Vout
Output
Vdd, vss
input
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire (narrow) (or) press w in keyboard (or) wire (narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellviewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: vin
Right pin: vout
Top pin: vdd
Bottom pin: vss vbias
Then click ok in the symbol generation option form.
33. A new window displays an automatically created symbol of schematic.
34. Check and save, close the symbol window.
View: schematic
Type: schematic, then click ok when done. A blank schematic window for the
common_drain_test design appears.
37. Using the components list and properties/comments in this table. Build the
common_drain_test schematic.
Library
Name
Cell name
View
name
Properties/comments
VLSI_LAB
Common_drain
Symbol
analogLib
Vsin
Symbol
analogLib
Vdc(vdd& vss),
gnd
Symbol
analogLib
Vdc (vbias)
Symbol
Vdc=2.5
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
DC Analysis:
a.
b.
c.
d.
e.
the horizontal and vertical line by using the key s to stretch the line, it can be
stretch either in horizontal or vertical direction at a time)
8. After keeping the pMOS and nMOS in the boundary, re arrange the input pins,
output pins, vdd and vss.
9. To re arrange those pins, go to placepin placement, the pin placement form
window will appear now.
10. Now in this window, click on the vdd, vdd to create a VDD rails, VSS rails in vertical or
horizontal direction. Now click place as schematic in the same window, then click ok.
11. Now all are in the boundary
12. Now press shift+f to view the pMOS and nMOS layout view
13. Now connect the P1_NWELL and M1_PSUB with the respective mos
transistors.(Note: To get Psub & Nsub substrates, go to createVia)
14. Next connect all the terminals with the help of wire(Metal), To create metal go to
createwire, now keep the mouse in any of the poly or metal, this will indicate the
connection to connect. Click source and leave in destination place, the metals will
routed successfully
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need
to correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
EXPERIMENT No: 4
TWO STAGE OPERATIONAL AMPLIFIER
Aim:
Design an op-amp with given specification* using given differential amplifier & Common source amplifier in
library** and completing the design flow mentioned below:
a. Draw the schematic and verify the following
i) DC Analysis
ii). AC Analysis
iii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design.
Operation:
Procedure:
Cell : op-amp
View : Schematic
Type : schematic
12. After setting everything then click ok. Now schematic window screen will appear.
Note: The following steps you should keep it in mind while doing your experiment
(i)
Schematic creation
(ii)
Symbol creating
(iii)
Test the given circuit with the help of input sources and power supplys.
13. After schematic window screen appears, create the instance (or) components by pressing the
letter I in keyboard. (Note: In menu bar Createinstance)
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
VLSI_LAB
Differential_amplifier symbol
VLSI_LAB
Common_source
Symbol
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Input
Vout
Output
Vdd, vss
input
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire (narrow) (or) press w in keyboard (or) wire (narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellviewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
Cell name
View
name
Properties/comments
VLSI_LAB
Op-amp
Symbol
analogLib
Vsin
Symbol
analogLib
Vdc(vdd&
vss), gnd
Symbol
analogLib
Idc
Symbol
Dc current=30u.
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
DC Analysis:
a.
b.
c.
d.
e.
the horizontal and vertical line by using the key s to stretch the line, it can be
stretch either in horizontal or vertical direction at a time)
8. After keeping the pMOS and nMOS in the boundary, re arrange the input pins,
output pins, vdd and vss.
9. To re arrange those pins, go to placepin placement, the pin placement form
window will appear now.
10. Now in this window, click on the vdd, vdd to create a VDD rails, VSS rails in vertical or
horizontal direction. Now click place as schematic in the same window, then click ok.
11. Now all are in the boundary
12. Now press shift+f to view the pMOS and nMOS layout view
13. Now connect the P1_NWELL and M1_PSUB with the respective mos
transistors.(Note: To get Psub & Nsub substrates, go to createVia)
14. Next connect all the terminals with the help of wire(Metal), To create metal go to
createwire, now keep the mouse in any of the poly or metal, this will indicate the
connection to connect. Click source and leave in destination place, the metals will
routed successfully
15. To connect poly to metal, just click on the poly and drag the mouse, now do right
click select viaup, now you will get the contact, then again just do the click to place
the contact and drag to connect with metal (input pin).
16. After finishes all the metal connection, save your design
17. Now go to AssuraDRC, then click ok(Note: Design Rule Checker)
18. IF there is no error in the design you will get no DRC error in window.
19. Next, go to AssuraLVS, then click ok. (Note: Layout versus Schematic).
(Note: In the LVS debug form you can find the details of mismatches and you need
to correct all those mismatches and Re-run the LVS till you will be able to match the
schematic with layout)
20. If there is no error, you will get layout & Schematic is matched in the LVS window.
21. Next, go to AssuraRun RCX
22. Change the following in the Assura parasitic extraction form. Select output type
under setup tab of the form.
23. In the Extraction tab of the form, choose Extraction type RC, cap coupling mode
coupled and specify the reference node for extraction.
24. In the Filtering tab of the form, Enter power nets as vdd!, vss! And enter ground
nets as gnd!. And click ok in the assura parasitic extraction form when done.
25. When RCX completes, a dialog box appears, inform you that Assura RCX run
completed successfully.
26. Now, you can open the av_extracted view from the library manager and view the
parasitic.
27. CREATING THE CONFIGURATION VIEW- In this we will create a config view and with
this config view we will run the simulation with and without parasitic.
28. Now, go to library mangerFileNewCellview
29. In the create new file form, set the following, then click ok in create new file form.
30. The hierarchy editor form opens and a new configuration form opens in front of it. In
this click use template at the bottom of the new configuration form and select
spectre in the cyclic field and click ok. The global bindings list are located from the
template.
31. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
32. The hierarchy editor displays the hierarchy for this design using table format
33. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
34. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
35. From the library manager open Op-amp_test config view. Open configuration or
top Cellview form appears.
36. In the form, turn on the both cyclic buttons to YES and click ok. The Op-amp_test
schematic and Op-amp_test config window appears. Notice the window
banner of schematic also states config: VLSI_LAB Op-amp_test config
37. Now go to launchADE L from the schematic window.
38. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
39. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
40. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
EXPERIMENT No: 5
4 BIT R-2R BASED DAC
Aim:
Design a 4 bit R-2R based DAC for the given specification and completing the design flow mentioned using
given op-amp in the library**.
a. Draw the schematic and verify the following
i) DC Analysis
ii). AC Analysis
iii) Transient Analysis
b. Draw the Layout and verify the DRC, ERC
c. Check for LVS
d. Extract RC and back annotate the same and verify the Design.
Operation:
which bits are set to 1 and which to 0 the output voltage (out) will be a stepped value between
0 volts and (Vref minus the value of the minimum step, Bit0).
The actual value of Vref (and 0 volts) will depend on the type (technology) of the digital
logic gates used to drive Bit4-0.
For a digital value VAL, of a R-2R DAC of N bits of 0 V/Vref, the output voltage Vout is:
Vout = Vref VAL / 2N
In the example shown, N = 5 and hence 2N = 32. With Vref = 3.3 V (typical CMOS logic 1
voltage), Vout will vary between 00000, VAL = 0 and 11111, VAL = 31.
Minimum (single step) VAL = 1, we have
Vout = 3.3 1 / 32 = 0.1 volts
Maximum output (11111 VAL = 31, we have
Vout = 3.3 31 / 25 = 3.2 volts
The R-2R ladder is inexpensive and relatively easy to manufacture since only two resistor
values are required (or 1, if R is made by placing a pair of 2R in parallel, or if 2R is made by
placing a pair of R in series). It is fast and has fixed output impedance R.
The R-2R ladder operates as a string of current dividers whose output accuracy is solely
dependent on how well each resistor is matched to the others. Small inaccuracies in the
higher significant bit resistors can entirely overwhelm the contribution of the less significant
bits.
Procedure:
9. Now Library manager window will appear, in that select your folder with Name in the
library column.
10. Go to FileNewCellview
11. Set up the new file form as follows
Library: your folder named with VLSI_LAB (Note: Dont edit the library path)
Cell : R-2R-DAC
View : Schematic
Type : schematic
12. After setting everything then click ok. Now schematic window screen will appear.
Note: The following steps you should keep it in mind while doing your experiment
(i)
Schematic creation
(ii)
Symbol creating
(iii)
Test the given circuit with the help of input sources and power supplys.
13. After schematic window screen appears, create the instance (or) components by pressing the
letter I in keyboard. (Note: In menu bar Createinstance)
14. Click on browse button in instance form, library manger window will get open, from this window
you can select the required components for to draw schematic diagram.
Note: The following instance will use to create schematic with suitable library
(i) Gpdk180 for MOS transistors
(ii) AnalogLib for vdd, vss, input source
15. Now you will update the library name, cell name, and the property values given in the table
below. (Note: umicro)
Library Name
Cell Name/View
Properties of Instance
VLSI_LAB
Op-amp
symbol
Gpdk180
Polyres(spectre/symbol) R=2k
Gpdk180
Polyres
(spectre/symbol)
R = 1k
16. After you select the instance, move your curser to the schematic window and click left to
place a component. (Note: After placed the instance, the same instance will be in tip of the
mouse until you press esc in keyboard)
17. If you place a component with the wrong parameter values, use the menu bar
EditpropertiesObjects command to change the parameters. Use EditMove command if
you place components in the wrong location. You can rotate components at the time you place
them, or use the EditRotate command after they are placed.
(Note: to edit the instance, select the instance the press q in keyboard)
18. After entering components, click cancel in the add instance form or press esc with your
cursor in the schematic window.
19. Next, create pins for input, output, vdd, vss
20. In menu bar go to Create Pin (or) press p in keyboard., Add pin form will appear, then
type the following in the add pin form in the exact order leaving space between the pin names.
Pin Names
Direction
Input
Vout
Output
input
(Note: make sure that the direction field is set to input/output/inputOutput when placing the
input/output/inout pin respectively)
21. Select Cancel from add pin form after placing the pins.
(Note: In the schematic window, In menu bar, go to WindowFit or press f in keyboard)
22. After keep all the instances in the schematic window, next we have to interconnect the
connection with the help of wire.
23. In menu bar, go to createwire (narrow) (or) press w in keyboard (or) wire (narrow) icon in
the schematic window.
24. In the schematic window, click on a pin of one of your components as the first point for your
wiring. A diamond shape will appear over the starting point of this wire.
25. Follow the prompts at the bottom of the design window and click left on the destination
point for your wire. A wire is routed between the source and destination points.
26. Complete the wiring as shown in figure and when done wiring press esc key in the
schematic window to cancel wiring.
(Note: click on the starting point and drag the mouse, again click on the destination point)
27. After did the connections, now go to FileCheck and save (or) click check and Save icon in
the schematic window.
28. Observe the CIW window output area for any errors. (Note: errors will highlight with yellow
colour box in the schematic window)
29. After Schematic is completed, next we have to create symbol from the schematic.
SYMBOL GENERATION
30. In the Schematic window, go to menu bar, CreateCellviewFrom Cell View.
31. The cell view From Cellview form appears. With the edit options functions active, you can
control the appearance of the symbol to generate.
32. Next, modify the symbol as follows:
Left pin: Idc vdd vss
Right pin: vout
Top pin: D0 D1 D2 D3
Bottom pin:
Then click ok in the symbol generation option form.
33. A new window displays an automatically created symbol of schematic.
34. Check and save, close the symbol window.
Cell name
View
name
Properties/comments
VLSI_LAB
R-2R-DAC
Symbol
analogLib
Vpulse
Symbol
analogLib
Vdc(vdd&
vss), gnd
Symbol
analogLib
Idc
Symbol
Dc current=30u.
(Note: Remember to set the values for supply sources, otherwise your circuit will have
no power)
38. Add the above components using Create Instance or by pressing I in keyboard
39. Click the wire (narrow) or press w in keyboard to connect all the wiring in the
circuit.
40. Create output pin and place in the suitable place and click on the check and save icon
to save the design.
5. Follow the prompt at the bottom of the schematic window, click on output net (wire)
Vout, input Vinv & Vnoninv of the op-amp_test. Press ESC with the cursor in the
schematic after selecting it.
6. Now, go to simulationNetlist and run in the ADE window to start the simulation or
the icon, this will create the netlist as well as run the simulation.
7. When simulation finishes, the transient, DC, AC plots automatically will be popped up
along with log file.
(Note: if you try to close the ADE window, it will ask to save, click yes to save the
information else click No)
60. If there is no error, you will get layout & Schematic is matched in the LVS window.
61. Next, go to AssuraRun RCX
62. Change the following in the Assura parasitic extraction form. Select output type
under setup tab of the form.
63. In the Extraction tab of the form, choose Extraction type RC, cap coupling mode
coupled and specify the reference node for extraction.
64. In the Filtering tab of the form, Enter power nets as vdd!, vss! And enter ground
nets as gnd!. And click ok in the assura parasitic extraction form when done.
65. When RCX completes, a dialog box appears, inform you that Assura RCX run
completed successfully.
66. Now, you can open the av_extracted view from the library manager and view the
parasitic.
67. CREATING THE CONFIGURATION VIEW- In this we will create a config view and with
this config view we will run the simulation with and without parasitic.
68. Now, go to library mangerFileNewCellview
69. In the create new file form, set the following, then click ok in create new file form.
70. The hierarchy editor form opens and a new configuration form opens in front of it. In
this click use template at the bottom of the new configuration form and select
spectre in the cyclic field and click ok. The global bindings list are located from the
template.
71. Change the top cell view to schematic and remove the default entry from the library
list field. Next, click ok in the new configuration form.
72. The hierarchy editor displays the hierarchy for this design using table format
73. Click the Tree view tab. The design hierarchy changes to tree format. The form
should look like this. And save the current configuration.
74. Close the hierarchy editor window. Fileclose window.
TO RUN THE CIRCUIT WITHOUT PARASITES
75. From the library manager open R-2R-DAC_test config view. Open configuration or
top Cellview form appears.
76. In the form, turn on the both cyclic buttons to YES and click ok. The R-2R-DAC_test
schematic and R-2R-DAC_test config window appears. Notice the window
banner of schematic also states config: VLSI_LAB R-2R-DAC_test config
77. Now go to launchADE L from the schematic window.
78. Now you need to follow the same procedure for running the simulation. Executing
session-Load state, ADE window loads the previous state.
79. Click Netlist & Run icon to start the simulation, the simulation takes a few seconds
and then waveform window appears.
80. In the CIW, note the netlisting statistics in the circuit inventory section. This list
includes all nets, design devices, sources and loads. There are no parasitic
components. Also note down the circuit inventory section.
EXPERIMENT No: 6
SUCCESSIVE APPROXIMATION REGISTAR ADC (SAR-ADC)
Aim:
For the SAR based ADC mentioned in the figure below draw the mixed signal schematic and verify the
functionality by completing ASIC Design FLOW.
Operation:
The basic algorithm used in the successive-approximation ADC conversion process can be
traced back to the 1500s. It is related to the solution of a useful mathematical puzzlethe
determination of an unknown weight by a minimal sequence of weighing operations
(Reference 1). In this problem, as stated, the object is to determine the least number of
weights which would serve to weigh an integral number of pounds from 1 lb to 40 lb using a
balance scale. One solution put forth by the mathematician Tartaglia in 1556, was to use the
binary series of weights 1 lb, 2 lb, 4 lb, 8 lb, 16 lb, and 32 lb (or 20, 21, 22, 23, 24, and 25). The
proposed weighing algorithm is the same one that is used in modern successiveapproximation ADCs. (It should be noted that this solution will actually measure unknown
weights up to 63 lb (26 1) rather than 40 lb as stated in the problem).* The binary algorithm,
using a balance scale, is shown in Figure 4 with an unknown weight of 45 lbs.
*Note that if ternary (base-3: 1,0,1) logic is permitted, the problem can be solved in four
steps, with weights of 1, 3, 9, and 27 lbs applied on either side of the balance. Indeed, 40 lbs
is then maximum with these weights.