Professional Documents
Culture Documents
Homework 2 Sol
Homework 2 Sol
% MOSFET MODELING % Questions 1-4 % Vector of lengths (in um) L = [0.35 0.5 1.0 2.0]; % % % % Row key for Vth, uCox and lambda matrices are: NOMINAL SLOW FAST
% Extrapolated directly from either triode plot % or diode connected plot (see plots) Vth = [0.55 0.55 0.5 0.475; 0.6 0.6 0.525 0.475; 0.5 0.525 0.45 0.425;]; % Slopes of triode plot are in fact uCox directly % Measure slopes from Awaves (slopes not shown on plot) uCox = [207e-6 205e-6 202e-6 203e-6; 174e-6 177e-6 184e-6 187e-6; 236e-6 233e-6 222e-6 221e-6;]; % Lambda can be found from saturation slope along % with the average value of Id in saturation % Slopes are from the derivative plot dId/dVds (see plots) slope = [120e-6 35e-6 10e-6 7e-6; 80e-6 25e-6 8e-6 7e-6; 190e-6 50e-6 10e-6 7e-6;]; % Average saturation currents from plot (see plots) Id = [1.67e-3 1.47e-3 1.83e-3 2.09e-3; 1.12e-3 1.06e-3 1.38e-3 1.62e-3; 2.44e-3 2.03e-3 2.42e-3 2.70e-3;]; lambda = slope./Id; % Results (from above line) lambda = [0.0719 0.0238 0.0714 0.0236 0.0779 0.0246
% Plot the Vth, uCox and lambda data subplot(3,1,1) plot(L,Vth(1,:),'x-',L,Vth(2,:),'o--',L,Vth(3,:),'s:'); grid; ylabel('Threshold Voltage [V]') title('NMOS parameters vs channel length') legend('Nominal','Slow','Fast') subplot(3,1,2) plot(L,uCox(1,:),'x-',L,uCox(2,:),'o--',L,uCox(3,:),'s:'); grid; ylabel('kprime (uCox) [uA/V^2]') subplot(3,1,3) plot(L,lambda(1,:),'x-',L,lambda(2,:),'o--',L,lambda(3,:),'s:'); grid; ylabel('lambda [V^-1]') xlabel('Channel length [um]') % Calculate Id, gm, ro, Vdsat for W/L=100/1 and Vgs=Vds=1V (nominal) % Question 5 Vgs = 1; Vds = 1; uCox = 202e-6;
Vth = 0.5; lambda = 0.0055; Id = uCox/2*100/1*(Vgs-Vth)^2*(1+lambda*Vds) % Result: 2.5389mA Vdsat = Vgs-Vth % Result: 0.5V gm = 2*Id/Vdsat % Result: 10.156mS ro = 1/(lambda*Id) % Result: 71.613kohm % 1/ro = go = 13.964uS % Questions 6-7 (see following SPICE deck and plots) % TUBE MODELING % Question 8 % From datasheet, we can only realize 100mA of plate current with % -75V on the grid using the data from the 500V screen voltage plot % Bias point from 500V screen voltage plot Vscreen = 500; Iplate = 0.1; Vgrid = -75; Vplate = 3250; % gm is defined as dIplate/dVgrid evaluated at constant Vplate % (note that this is just like a BJT, MOS, JFET, MESFET, etc) % Find a point near the bias point (with Vplate=3250V) to get the % derivative using the bias point and the new point Iplate2 = 0.05; Vgrid2 = -88; gm = (Iplate2-Iplate)/(Vgrid2-Vgrid) % Result: 3.8mS % ro is defined as (dVplate/dIplate) evaluated at constant Vgrid % (also just like a BJT, MOS, JFET, MESFET, etc) % Find a point near bias point (with Vgrid=-75V) to get derivative Vplate2 = 750; Iplate2 = 0.05; ro = (Vplate2-Vplate)/(Iplate2-Iplate) %Result: 50kohm % Maximum single stage gain of this tube is achieved by assuming % that the tube only sees its own output impedance % In this case the gain of the stage is just |Av| = gm*ro % (amazing...just like a BJT, MOS, JFET, MESFET, etc) magAv = gm*ro % Result: 192V/V
NMOS parameters vs channel length 0.65 0.6 0.55 0.5 0.45 0.4 0.2
-4
0.4
0.6
0.8
1.2
1.4
1.6
1.8
2.5 2.4 kprime (uCox) [uA/V 2] 2.3 2.2 2.1 2 1.9 1.8
x 10
1.7 0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
0.08 0.07 0.06 lambda [V-1] 0.05 0.04 0.03 0.02 0.01 0 0.2 0.4 0.6 0.8 1 1.2 Channel length [um] 1.4 1.6 1.8 2
* * * *
Mike Scott HW2 Spring 02 Solution Set SPICE deck and results
* First set up the devices to test * Normal devices, use M1 Vds Vtest 0 0 NMOS M2 Vds Vtest 0 0 NMOS M3 Vds Vtest 0 0 NMOS M4 Vds Vtest 0 0 NMOS * Diode connected M1d Vtest Vtest 0 M2d Vtest Vtest 0 M3d Vtest Vtest 0 M4d Vtest Vtest 0 * Normal devices, M1n Vtest Vgs 0 0 M2n Vtest Vgs 0 0 M3n Vtest Vgs 0 0 M4n Vtest Vgs 0 0 them in triode region W=35u L=0.35u W=50u L=0.5u W=100u L=1u W=200u L=2u
devices, use them in saturation 0 NMOS W=35u L=0.35u 0 NMOS W=50u L=0.5u 0 NMOS W=100u L=1u 0 NMOS W=200u L=2u use them in both regions NMOS W=35u L=0.35u NMOS W=50u L=0.5u NMOS W=100u L=1u NMOS W=200u L=2u
* Now set up the bias sources Vtest Vtest 0 DC 1V Vds Vds 0 DC 0.01V Vgs Vgs 0 DC 1V * Level 2 device ML2 Vtest Vgs 0 0 nmosL2 W=100u l=1u VIdcalc VIdcalc 0 DC 2.525e-3 * Level 2 NMOS model for W/L = 100/1 .model nmosL2 nmos vto=0.5 kp=202u lambda=0.0055 .op .dc Vtest 0 5 0.01 * Probe the relevant currents for finding Vth, uCox lambda .probe I1(M1) I1(M2) I1(M3) I1(M4) rtI1=PAR('sqrt(I1(M1d))') rtI2=PAR ('sqrt(I1(M2d))') rtI3=PAR('sqrt(I1(M3d))') rtI4=PAR('sqrt(I1(M4d))') I1 (M1n) I1(M2n) I1(M3n) I1(M4n) I1(ML2) .options dccap accurate brief post=2 * Include the Level 49 models .lib 'lib/tsmc035.txt' fast .end ************************************************ ************************************************ * Resulting operating point for level 2 device * subckt * element 0:ml2 * model 0:nmosl2 * id 2.5389m * Calculated 2.5389mA * ibs 0. * ibd -10.0000f * vgs 1.0000 * vds 1.0000
* * * * * * * * * * * * * *
vbs vth vdsat beta gam eff gm gds gmb cdtot cgtot cstot cbtot cgs cgd
0. 500.0000m 500.0000m 20.3111m 527.6252m 10.1556m 13.8875u 3.5184m 4.604e-17 23.4089f 23.0211f 3.417e-16 23.0211f 4.604e-17
Triode: Id vs Vds
Circle - 35/0.35u Diamond - 50/0.5u Triangle - 100/1u X - 200/2u
Current 1 (lin)
200u
0 1 1.5 2
500m
Saturation
vs Vds
Params (lin)
100m
500m
2.5m
2m
1.5m
Current 1 (lin)
1m
500u
2m
Current 1 (lin)
180u
160u
140u
120u
Result (lin)
100u
80u
60u
40u
20u
Current 1 (lin)
200u
500m
Params (lin)
100m
500m
3m
2.5m
2m
Current 1 (lin)
1.5m
1m
500u
2.8m
2.6m
2.4m
2.2m
2m
1.8m
1.6m
Current 1 (lin)
1.4m
1.2m
1m
800u
600u
400u
240u
220u
200u
180u
160u
140u
Result (lin)
120u
100u
80u
60u
40u
20u
Current 1 (lin)
200u
500m
Params (lin)
100m
500m
2m
Current 1 (lin)
2m
Current 1 (lin)
120u
100u
Result (lin)
80u
60u
40u
20u
4m
Level 2
Calculated Id = 2.53mA
Level 49
Current 1 (lin)
2m
100k Level 2
Result (log)
10k
Level 49
1k
10