analog cmos lab
Post on 19-Dec-2015
113 Views
Preview:
DESCRIPTION
TRANSCRIPT
Experiment 1
Aim:-Layout of Resistor for given value.
Circuit Diagram:-
Theory: - Software Used is L-edit
L-edit: L-Edit, meets needs by combining the fastest rendering available with powerful features that exceed the needs of the most demanding user. Whether you are creating analog or mixed signal ICs, MEMS, or sensors, this leading design tool enables you to get started with minimal training.
We have designed 1kΩ and 10kΩ resistances using L-edit.
Calculation:-R=PL/A
Where A=W.t , P/t=23.6Ω thus while making 1k resistance L=85 um
Making 10k resistance L=850um
Observation and Result:-
L-edit Fig for 1k resistance
R1 1 2 R=1.003k
* R1 PLUS MINUS (1 23 41 29)
* Total Nodes: 2
* Total Elements: 1
1 | P a g eVLSI Design & Simulation Lab 2
* Total Number of Shorted Elements not written to the SPICE file: 0
L-edit Fig for 10k Resistance
Result:-R1 1 2 R=10.005k
Learning Outcome:-
Thus we learned to make two different resistance of 1k and 10k using W=2u=2 lambda and P/t=23.6 i.e. for poly metal. Further e can design different valued resistance.
2 | P a g eVLSI Design & Simulation Lab 2
Experiment 2
Aim:- Plot the static voltage transfer characteristics of a symmetric CMOS inverter utilizing the data points of drain current vs drain to source voltage (Vds) for NMOS and PMOS.
Circuit Diagram:-
Theory:- CMOS is short for Complementary Metal-Oxide Semiconductor. CMOS is an on-board, battery powered semiconductor chip inside computers that stores information.
So far, we have treated transistors as ideal switches
An ON transistor passes a finite amount of current
Depends on terminal voltages
Derive current-voltage (I-V) relationships
Transistor gate, source, drain all have capacitance
I = C (DV/Dt) -> Dt = (C/I) DV
Calculation:- To Plot Id vs. Vds characteristic in first quadrant calculation required is:- Level 1 Parameters
Vgsn=Vin Vgsn=Vin
Vgsp=Vin-Vdd Vgsp+Vdd=Vin
Vdsn=Vout Vdsn=Vout
Vdsp=Vout-Vdd Vdsp+vdd=Vout
Observation & Results
Tspice Code for Nmos and Pmos
For Nmos
3 | P a g eVLSI Design & Simulation Lab 2
.model nmos nmos Level=1
+ Vto=1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
.model pmos pmos Level=1
+ Vto=-1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
m1 d1 g1 0 0 nmos w=10u l=10u
vgs g1 0
vds d1 0
.dc vds 0 5 0.1 vgs 0 5 1
.print I(m1,d1)
.end
4 | P a g eVLSI Design & Simulation Lab 2
T spice Fig For Nmos at different Vgs
Similarly For Pmos
m1 d1 g1 vdd vdd pmos w=10 l=10
vdd vdd 0 5
vgs g1 vdd
vds d1 vdd
.dc vds 0 -5 0.1 vgs 0 -5 1
.print I(m1,d1)
.end
T spice Fig of Pmos for different Vgs
5 | P a g eVLSI Design & Simulation Lab 2
Matlab Code
Nmos=[V I];
Pmos=[V I];
idn=nmos(:,2);
idp=pmos(:,2);
vdsn=nmos(:,1);
vdsp=pmos(:,1);
idp1=idp(1:51);
idp2=idp(52:102);
idp3=idp(103:153);
idp4=idp(154:204);
idp5=idp(205:255);
idp6=idp(256:306);
idn1=idn(1:51);
idn2=idn(52:102);
idn3=idn(103:153);
idn4=idn(154:204);
idn5=idn(205:255);
idn6=idn(256:306);
vdsp1=vdsp(1:51);
vdsp2=vdsp(52:102);
vdsp3=vdsp(103:153);
vdsp4=vdsp(154:204);
vdsp5=vdsp(205:255);
6 | P a g eVLSI Design & Simulation Lab 2
vdsp6=vdsp(256:306);
vdsn1=vdsn(1:51);
vdsn2=vdsn(52:102);
vdsn3=vdsn(103:153);
vdsn4=vdsn(154:204);
vdsn5=vdsn(205:255);
vdsn6=vdsn(256:306);
plot(vdsn1,id1n)
hold on
plot(vdsn2,id2n)
hold on
plot(vdsn3,id3n)
hold on
plot(vdsn4,id4n)
hold on
plot(vdsn5,id5n)
hold on
plot(vdsn6,id6n)
hold on
plot(5+vdsp1,-id1p,'r')
hold on
plot(5+vdsp2,-id2p,'r')
hold on
plot(5+vdsp3,-id3p,'r')
hold on
plot(5+vdsp4,-id4p,'r')
7 | P a g eVLSI Design & Simulation Lab 2
hold on
plot(5+vdsp5,-id5p,'r')
hold on
plot(5+vdsp6,-id6p,'r')
hold on
figure
vin=[0 1 2 3 4 5]
vout=[5 5 4.7 0.2 0 0];
plot(vin,vout)
Matlab Figures
Vin Vs. Vout charecteristics for Cmos
8 | P a g eVLSI Design & Simulation Lab 2
Vds Vs.Id Charecteristics For Cmos
Learning Outcome:-
We learn to plot nmos,pmos charestristics in Tspice and then using Tspice .out files in Matlab to Check Id vs Vds and Vin vs Vout.Further Some modification done to hold the waveform and plot both nmos and pmos Charesteristics in First Quadrant.
9 | P a g eVLSI Design & Simulation Lab 2
Experiment 3Aim:- Analysis of switching point(switching threshold) of a cmos inverter and study its variations with reference to transconductance parameter K r and supply voltage V DD.
Circuit Diagram:-
Cmos Inverter
Vm is defined as the intersection of the line Vin = Vout and the inverter VTC. In this region, both the NMOS and PMOS transistors are in saturation since VDS = VGS. 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.
In first graph, we plot drain voltage vs gate voltage at different nmos width in T-spice. Since all other terms remains contant except width of nmos, so value of K r changes. As we know that Kn=wn .un.Cox/l
K p=w p .up.Cox/l
K r=Kn/Kp
The graph has two plots, and the intersection point gives value of input voltage at particular width of nmos or at particular K r. We repeat this experiment at different values of K r and note the intersection point i.e vin.
Similarly,in second graph if we vary supply voltage i.e vdd we examine graph’s the center point or intersection point which is known as V m .
Calulation
FOR KR
10 | P a g eVLSI Design & Simulation Lab 2
As we know that Kn=wn .un.Cox/l and K p=w p .up.Cox/l
K r=kn/kp. So, we find vin at different value of k.Here,w p remains constant
wn 10 20 30 40 50K r 1 2 3 4 5
Vin 2.5 2.25 2.11 2.01 1.94
For Vdd
Here at different Vdd we plot values of switching point i.e Vm.
Vdd 5 4 3 2 1Vm 2.5 2 1.5 1.05 0.43
Obsevation and Results:-
Tspice nmos and pmos Level 1 parameters
.model nmos nmos Level=1+ Vto=1.0 Kp=3.0E-5 Gamma=0.35 + Phi=0.65 Lambda=0.02 Tox=0.1u + Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u + Tpg=1.00 Uo=700.0 Af=1.2+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8+ Pb=0.75 Cj=2.0E-4 Mj=0.5+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11 + Rd=10.0 Rs=10.0 Rsh=30.0
.model pmos pmos Level=1+ Vto=-1.0 Kp=3.0E-5 Gamma=0.35 + Phi=0.65 Lambda=0.02 Tox=0.1u + Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u + Tpg=1.00 Uo=700.0 Af=1.2+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8+ Pb=0.75 Cj=2.0E-4 Mj=0.5+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11 + Rd=10.0 Rs=10.0 Rsh=30.0
Tspice code for Cmosm1 d1 g1 0 0 nmos w=10u l=10um2 d1 g1 vdd vdd pmos w=10u l=10uvin g1 0
11 | P a g eVLSI Design & Simulation Lab 2
vdd vdd 0 5 .dc vin 0 5 0.1.plot v(d1) v(g1)
Cmos Charecteristics
we write matlab code of above readings and We get exponential graph between k and vin.
MATLAB CODE
Using above calculated DataFor Krk=[1 2 3 4 5];vin= [2.5 2.25 2.11 2.01 1.94];plot(kr,vin)
Kr vs vin plot
12 | P a g eVLSI Design & Simulation Lab 2
FOR VDD
MATLAB CODE
vm=[2.5 2 1.5 1.05 0.43];vdd= [5 4 3 2 1];plot(vdd,vm);
1
Learning outcomes: In this experiment I have learnt
Plot kr vs vin
Plot vdd vs vin
13 | P a g eVLSI Design & Simulation Lab 2
Experiment 5Aim: Measure the propagation delay of symmetric CMOS inverter and analyze its variation with supply voltage.
Circuit Diagram:-
Theory:-Switching speed - limited by time taken to charge and discharge, CL.
Rise time, tr: waveform to rise from 10% to 90% of its steady state value.
Fall time tf: 90% to 10% of steady state value .
Delay time, td: time difference between input transition (50%) and 50% output level.
Fig : Propagation delay graph
The propagation delay tp of a gate defines how quickly it responds to a change at its inputs, it expresses the delay experienced by a signal when passing through a gate. It is measured between the 50% transition points of the input and output waveforms as shown in the figure 16.1 for an inverting gate. The defines the response time of the gate for a low to high output transition, while refers to a high to low transition. The propagation delay as the average of the two.
14 | P a g eVLSI Design & Simulation Lab 2
Calculation:- No need to calculate any value Tspice itself shows the calculated result
As we vary the different value of input voltage, we get the following values:
Vdd 5 4.5 4 3.5 2.5Tphl 84.77 68.7 52.57 36.10 0.39Tplh 84.38 11.2 15.71 23.59 -500
Observation and Results
.model nmos nmos Level=1
+ Vto=1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
.model pmos pmos Level=1
+ Vto=-1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
15 | P a g eVLSI Design & Simulation Lab 2
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
m1 d1 g1 vdd vdd pmos w=10u l=10u
m2 d1 g1 0 0 nmos w=10u l=10u
c1 d1 0 10pf
vdd vdd 0 5
v1 g1 0 pulse(0 5 0 1fs 1fs 0.5us 1us)
.tran 0.01us 1us
.plot v(d1) v(g1)
.measure tran tphl trig v(g1) val=2.5 rise=1 targ v(d1) val=2.5 fall=1
.measure tran tplh trig v(g1) val=2.5 fall=1 targ v(d1) val=2.5 rise=1
.measure tran trise trig v(g1) val=2.5 rise=1 targ v(d1) val=2.5 rise=1
.measure tran tfall trig v(g1) val=2.5 fall=1 targ v(d1) val=2.5 fall=1
.end
Measurement result summary
tphl = 8.4775e-008
16 | P a g eVLSI Design & Simulation Lab 2
tplh = 8.4388e-008
Similarly
trise = 5.8439e-007
tfall = -4.1523e-007
Matlab Code:-
vdd=[5 4.5 4 3.5 2.5];tphl=[84.77 68.70 52.57 36.10 0.39];plot(vdd,tphl);
Vdd vs TpHL
17 | P a g eVLSI Design & Simulation Lab 2
Learning Outcome:We learn to check values of Tphl,TpLh,Trise,Tfall of an square pulse input using the Ac Transient analysis.Further we ploted vdd vs delays using matlab.
Experiment 4Aim:-Noise Margin of Inverter Based Circuits
a)Calculate Noise Margin for CMOS inverter when Vm=2.5
b)Calculate same noise margin Values for Nmos inverter with Resistance and Nmos Load
Circuit Diagram:-
a)Cmos Inverter b)Resistance as Load c)Nmos as Load
Theory:-
The transfer function of a digital inverter will typically look something like this:
18 | P a g eVLSI Design & Simulation Lab 2
Note that there are essentially three regions to this curve:
I. The region where vI is relatively low, so that the output voltage vo is
high.
II. The region where vI is relatively high, so that the output voltage vO is
low.
III. The transition region, where the input/output voltage is in an indeterminate state (i.e, an ambiguous region between high and low.
Calculation:-
Noise Margin for Resistance as load in Nmos Inverter
VOH=4.92 VIL=1.22
VOL=1.11 VIH=2.50
NM(L)=VIL-VOL=0.11
NM(H)=VOH-VIH=2.42
19 | P a g eVLSI Design & Simulation Lab 2
Noise Margin for Cmos Inverter
VOH=4.96 VIL=1.52
VOL=1.51 VIH=3.233
NM(L)=VIL-VOL=0.01
NM(H)=VOH-VIH=1.73
Noise Margin for Nmos as Load
VOH=3.968 VIL=1.3
VOL=0.47 VOH=4.96
NM(L)=VIL-VOL=0.83
NM(H)=VOH-VIH=2.36
Observation & Results
T spice code for Cmos Inverter
m1 d1 g1 0 0 nmos w=10u l=10u
m2 d1 g1 vdd vdd pmos w=10u l=10u
vin g1 0
vdd vdd 0 5
.dc vin 0 5 0.005
.plot v(d1) v(g1)
.end
20 | P a g eVLSI Design & Simulation Lab 2
Fig for Cmos Inverter
MATLAB CODE:cmos=[Vinput,Voutput];vin=cmos(:,1);vo=cmos(:,2);y=diff(vo);x=diff(vin);z=y./x;vin1=vin(2:51);plot(vin1,z)
PLOT:
For voh:cmos=[Vinput,Voutput];
21 | P a g eVLSI Design & Simulation Lab 2
vin=cmos(:,1);vo=cmos(:,2);plot(vin,vo)
T spice code for Resistance as Load
m1 d1 g1 0 0 nmos w=10u l=10u
r1 vdd d1 100k
vin g1 0
vdd vdd 0 5
.dc vin 0 5 0.005
.plot v(d1) v(g1)
.end
22 | P a g eVLSI Design & Simulation Lab 2
Fig for Resistance as Load
MATLAB CODE:vin=cmos(:,1);vo=cmos(:,2);y=diff(vo);x=diff(vin);z=y./x;vin1=vin(2:51);plot(vin1,z)
cmos=[ Vinput,Voutput];vin=cmos(:,1);vo=cmos(:,2);
23 | P a g eVLSI Design & Simulation Lab 2
plot(vin,vo)
WHEN NMOS IS AT LOAD:
******************************************************
.model nmos nmos Level=1
+ Vto=1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
.model pmos pmos Level=1
+ Vto=-1.0 Kp=3.0E-5 Gamma=0.35
+ Phi=0.65 Lambda=0.02 Tox=0.1u
+ Nsub=1.0E+15 Nss=1.0E+10 Ld=0.8u
24 | P a g eVLSI Design & Simulation Lab 2
+ Tpg=1.00 Uo=700.0 Af=1.2
+ Kf=1.0E-26 Is=1.0E-15 Js=1.0E-8
+ Pb=0.75 Cj=2.0E-4 Mj=0.5
+ Cjsw=1.00E-9 Mjsw=0.33 Fc=0.5
+ Cgbo=2.0E-10 Cgdo=4.00E-11 Cgso=4.00E-11
+ Rd=10.0 Rs=10.0 Rsh=30.0
m1 d g 0 0 nmos w=10u l=10u
m2 vdd vdd d d nmos w=10u l=10u
vin g 0
vdd vdd 0 5
.dc vin 0 5 0.1
.plot v(d)v(vin)
.end
MATLAB CODE:cmos=[ Vinput,Voutput];vin=cmos(:,1);vo=cmos(:,2);y=diff(vo);x=diff(vin);z=y./x;vin1=vin(2:51);plot(vin1,z)
25 | P a g eVLSI Design & Simulation Lab 2
cmos=[ Vinput,Voutput];vin=cmos(:,1);vo=cmos(:,2);plot(vin,vo)
Learning Outcome:-
We learn the variation occurred due to change in Cmos inverter as resistance as a load & Nmos as a Load.Thus we conclude Noise Margin of resistance is better than Cmos inverter and Nmos as load
26 | P a g eVLSI Design & Simulation Lab 2
27 | P a g eVLSI Design & Simulation Lab 2
top related