summaryrefslogtreecommitdiff
path: root/339/CH6
diff options
context:
space:
mode:
authorpriyanka2015-06-24 15:03:17 +0530
committerpriyanka2015-06-24 15:03:17 +0530
commitb1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch)
treeab291cffc65280e58ac82470ba63fbcca7805165 /339/CH6
downloadScilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz
Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2
Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip
initial commit / add all books
Diffstat (limited to '339/CH6')
-rwxr-xr-x339/CH6/EX6.1/ex6_1.JPGbin0 -> 29627 bytes
-rwxr-xr-x339/CH6/EX6.1/ex6_1.sce27
-rwxr-xr-x339/CH6/EX6.10/ex6_10.JPGbin0 -> 38382 bytes
-rwxr-xr-x339/CH6/EX6.10/ex6_10.sce81
-rwxr-xr-x339/CH6/EX6.11/ex6_11.JPGbin0 -> 26726 bytes
-rwxr-xr-x339/CH6/EX6.11/ex6_11.sce42
-rwxr-xr-x339/CH6/EX6.2/ex6_2.sce11
-rwxr-xr-x339/CH6/EX6.3/ex6_3.JPGbin0 -> 18061 bytes
-rwxr-xr-x339/CH6/EX6.3/ex6_3.sce37
-rwxr-xr-x339/CH6/EX6.4/ex6_4.sce18
-rwxr-xr-x339/CH6/EX6.7/ex6_7.sce7
-rwxr-xr-x339/CH6/EX6.8/ex6_8.sce10
-rwxr-xr-x339/CH6/EX6.9/ex6_9.JPGbin0 -> 22510 bytes
-rwxr-xr-x339/CH6/EX6.9/ex6_9.sce40
14 files changed, 273 insertions, 0 deletions
diff --git a/339/CH6/EX6.1/ex6_1.JPG b/339/CH6/EX6.1/ex6_1.JPG
new file mode 100755
index 000000000..1f0ed69f1
--- /dev/null
+++ b/339/CH6/EX6.1/ex6_1.JPG
Binary files differ
diff --git a/339/CH6/EX6.1/ex6_1.sce b/339/CH6/EX6.1/ex6_1.sce
new file mode 100755
index 000000000..b44461fa8
--- /dev/null
+++ b/339/CH6/EX6.1/ex6_1.sce
@@ -0,0 +1,27 @@
+//define physical constants
+q=1.60218e-19;
+k=1.38066e-23;
+
+// define material properties
+Nc_300=[1.04e19 2.8e19 4.7e17];
+Nv_300=[6e18 1.04e19 7e18];
+mu_n= [3900 1500 8500];
+mu_p= [1900 450 400];
+Wg= [0.66 1.12 1.424];
+
+T0=273;
+T=-50:250; // temperature range in centigrade
+
+sigma=zeros([3 length(T)]);
+
+for s=1:3 //loop through all semi conductor materials
+ Nc=Nc_300(s)*((T+T0)/300).^(3/2);
+ Nv=Nv_300(s)*((T+T0)/300).^(3/2);
+sigma=[q*sqrt(Nc.*Nv).*(exp(-Wg(s)./(2*k*(T+T0)/q)))*(mu_n(s)+mu_p(s))];
+end;
+
+plot(T,sigma(1),T,sigma(2),T,sigma(3));
+legend('Ge','Si','GaAs',2);
+title('Conductivity of semiconductor at different temperatures');
+xlabel('Temperature, {\circ}C');
+ylabel('Conductivity \sigma, \Omega^{-1}cm^{-1}'); \ No newline at end of file
diff --git a/339/CH6/EX6.10/ex6_10.JPG b/339/CH6/EX6.10/ex6_10.JPG
new file mode 100755
index 000000000..e081b0256
--- /dev/null
+++ b/339/CH6/EX6.10/ex6_10.JPG
Binary files differ
diff --git a/339/CH6/EX6.10/ex6_10.sce b/339/CH6/EX6.10/ex6_10.sce
new file mode 100755
index 000000000..01833fc63
--- /dev/null
+++ b/339/CH6/EX6.10/ex6_10.sce
@@ -0,0 +1,81 @@
+//define problem parameters
+Nd=1e16*1e6;
+d=0.75e-6;
+W=10e-6;
+L=2e-6;
+eps_r=12;
+Vd=0.8;
+mu_n=8500*1e-4;
+lambda=0.03;
+
+//define physical constants
+q=1.60218e-19; //electron charge
+eps0=8.85e-12; //permittivity of free space
+
+eps=eps_r*eps0;
+
+// pinch-off voltage
+Vp=q*Nd*d^2/(2*eps)
+
+//threshold voltage
+Vt0=Vd-Vp
+
+//conductivity of the channel
+sigma=q*mu_n*Nd
+
+//channel conductance
+G0=q*sigma*Nd*W*d/L
+
+//define the range for gate source voltage
+Vgs_min=-2.5;
+Vgs_max=-1;
+Vgs=Vgs_max:-0.5:Vgs_min;
+
+//drain source voltage
+Vds=0:0.01:5;
+
+//compute drain saturation voltage
+Vds_sat=Vgs-Vt0;
+
+//first the drain current is taken into account the channel length modulation
+for n=1:length(Vgs)
+ if Vgs(n)>Vt0
+ Id_sat=G0*(Vp/3-(Vd-Vgs(n))+2/(3*sqrt(Vp))*(Vd-Vgs(n))^(3/2));
+ else
+ Id_sat=0;
+ end;
+
+ Id_linear=G0*(Vds-2/(3*sqrt(Vp)).*((Vds+Vd-Vgs(n)).^(3/2)-(Vd-Vgs(n))^(3/2))).*(1+lambda*Vds);
+ Id_saturation=Id_sat*(1+lambda*Vds);
+ Id=Id_linear.*(Vds<=Vds_sat(n))+Id_saturation.*(Vds>Vds_sat(n));
+ plot(Vds,Id);
+set(gca(),"auto_clear","off");
+end;
+
+//next the channel length modulation is not taken into account
+for n=1:length(Vgs)
+ if Vgs(n)>Vt0
+ Id_sat=G0*(Vp/3-(Vd-Vgs(n))+2/(3*sqrt(Vp))*(Vd-Vgs(n))^(3/2));
+ else
+ Id_sat=0;
+ end;
+
+ Id_linear=G0*(Vds-2/(3*sqrt(Vp)).*((Vds+Vd-Vgs(n)).^(3/2)-(Vd-Vgs(n))^(3/2)));
+ Id_saturation=Id_sat;
+ Id=Id_linear.*(Vds<=Vds_sat(n))+Id_saturation.*(Vds>Vds_sat(n));
+ plot(Vds, Id);
+end;
+
+//computation of drain saturation current
+
+Vgs=0:-0.01:-4;
+Vds_sat=Vgs-Vt0;
+
+Id_sat=G0*(Vp/3-(Vd-Vgs)+2/(3*sqrt(Vp))*(Vd-Vgs).^(3/2)).*(1+lambda*Vds_sat).*(1-(Vgs<Vt0));
+
+plot(Vds_sat, Id_sat);
+
+mtlb_axis([0 5 0 4]);
+title('Drain current vs. V_{DS} plotted for different V_{GS}');
+xlabel('Drain-source voltage V_{DS}, V');
+ylabel('Drain current I_{D}, A'); \ No newline at end of file
diff --git a/339/CH6/EX6.11/ex6_11.JPG b/339/CH6/EX6.11/ex6_11.JPG
new file mode 100755
index 000000000..3f8eebae6
--- /dev/null
+++ b/339/CH6/EX6.11/ex6_11.JPG
Binary files differ
diff --git a/339/CH6/EX6.11/ex6_11.sce b/339/CH6/EX6.11/ex6_11.sce
new file mode 100755
index 000000000..22a522318
--- /dev/null
+++ b/339/CH6/EX6.11/ex6_11.sce
@@ -0,0 +1,42 @@
+//define problem parameters
+Nd=1e18*1e6;
+Vb=0.81;
+eps_r=12.5;
+d=50e-9;
+dWc=3.5e-20;
+W=10e-6;
+L=0.5e-6;
+mu_n=8500*1e-4;
+
+//define physical constants
+q=1.60218e-19;//electron charge
+eps0=8.85e-12;//permittivity of free space
+
+eps=eps_r*eps0;
+
+//pinch-off voltage
+Vp=q*Nd*d^2/(2*eps)
+
+//threshold voltage
+Vth=Vb-dWc/q-Vp
+
+//drain-source applied voltage range
+Vds=0:0.01:5;
+
+//gate-source voltages
+Vgs_r=-1:0.25:0;
+
+
+
+
+for n=1:length(Vgs_r)
+ Vgs=Vgs_r(n);
+ Id=mu_n*W*eps/(L*d)*((Vds*(Vgs-Vth)-Vds.*Vds/2).*(1-(Vds>(Vgs-Vth)))+1/2*(Vgs-Vth)^2*(1-(Vds<=(Vgs-Vth))));
+ plot(Vds,Id/1e-3);
+ set(gca(),"auto_clear","off");
+end;
+
+
+title('Drain current vs. V_{DS} plotted for different V_{GS}');
+xlabel('Drain-source voltage V_{DS}, V');
+ylabel('Drain current I_{D}, mA'); \ No newline at end of file
diff --git a/339/CH6/EX6.2/ex6_2.sce b/339/CH6/EX6.2/ex6_2.sce
new file mode 100755
index 000000000..fb8d272e4
--- /dev/null
+++ b/339/CH6/EX6.2/ex6_2.sce
@@ -0,0 +1,11 @@
+// doping concentrations
+Na=1*10^18;
+Nd=5*10^15;
+//intrinsic concentrations
+ni=1.5*10^10;
+T=300;
+term=(Na*Nd)/(ni*ni);
+k=1.38*10^-23;
+q=1.6*10^-19;
+Vdiff=(k*T)*log(term)/q;
+disp("Volts",Vdiff,"Barrier voltage"); \ No newline at end of file
diff --git a/339/CH6/EX6.3/ex6_3.JPG b/339/CH6/EX6.3/ex6_3.JPG
new file mode 100755
index 000000000..3affece32
--- /dev/null
+++ b/339/CH6/EX6.3/ex6_3.JPG
Binary files differ
diff --git a/339/CH6/EX6.3/ex6_3.sce b/339/CH6/EX6.3/ex6_3.sce
new file mode 100755
index 000000000..46f806973
--- /dev/null
+++ b/339/CH6/EX6.3/ex6_3.sce
@@ -0,0 +1,37 @@
+//define problem parameters
+
+ni=1.5e10*1e6; //intrinsic carrier concentration in Si [m^(-3)]
+Na=1e15*1e6; //acceptor doping concentration [m^(-3)]
+Nd=5e15*1e6; //donor concentration [m^(-3)]
+A=1e-4*1e-4; //cross sectional area [m^2]
+eps_r=11.9; //cross sectional area [m^2]
+
+//define physical constants (SI units)
+q=1.60218e-19; //electron charge
+k=1.38066e-23; //Boltzmann's constant
+eps0=8.85e-12; //permittivity of free space
+
+eps=eps_r*eps0;
+
+T=300; //temperatuure
+
+//compute diffusion barrier voltage
+Vdiff=k*T/q*log(Na*Nd/ni^2)
+
+//junction capacitance at zero applied voltage
+C0=A*sqrt(q*eps/(1/Na+1/Nd)/2/Vdiff)
+
+//extents of the space charge region
+dn=sqrt(2*eps*Vdiff/q*Na/Nd/(Na+Nd));
+dp=sqrt(2*eps*Vdiff/q*Nd/Na/(Na+Nd));
+
+//define range for applied voltage
+VA=-5:0.1:Vdiff;
+
+//compute junction capacitance
+C=C0*(1-VA/Vdiff).^(-1/2);
+
+plot(VA,C/1e-12);
+title('Junction capacitance of abrupt Si pn-contact');
+xlabel('Applied junction voltage V_A, Volts');
+ylabel('Junction capacitance C, pF');
diff --git a/339/CH6/EX6.4/ex6_4.sce b/339/CH6/EX6.4/ex6_4.sce
new file mode 100755
index 000000000..437073e4f
--- /dev/null
+++ b/339/CH6/EX6.4/ex6_4.sce
@@ -0,0 +1,18 @@
+//doping concentrations
+Nc=2.8*10^19;
+Nd=1*10^16;
+term=Nc/Nd;
+k=1.38*10^-23; //Boltzman's constant
+q=1.6*10^-19; //charge
+Vc=(k*T)*log(term)/q;
+Vm=5.1; //workfunction
+X=4.05; //affinity
+Vd=(Vm-X)-Vc; //Barrier Voltage
+Epsilon=11.9*8.854*10^-12;
+ds=sqrt((2*Epsilon*Vd)/(q*Nd));
+A=1*10^-4; //cross-sectional area
+Cj=(A*Epsilon)/(ds); //junction capacitance
+disp("Volts",Vc,"Conduction Band potential");
+disp("Volts",Vd,"Built in Barrier Voltage");
+disp("metre",ds,"Space Charge Width");
+disp("Farads",Cj,"Junction Capacitance"); \ No newline at end of file
diff --git a/339/CH6/EX6.7/ex6_7.sce b/339/CH6/EX6.7/ex6_7.sce
new file mode 100755
index 000000000..e04698b35
--- /dev/null
+++ b/339/CH6/EX6.7/ex6_7.sce
@@ -0,0 +1,7 @@
+Ndemitter=1*10^19; // donor concentration in emitter
+Nabase=1*10^17; //acceptor concentration in base
+de=0.8*10^-6; //spatial extent of the emitter
+db=1.2*10^-6; //spatial extent of the base
+alpha=2.8125;
+beta=(alpha*Ndemitter*de)/(Nabase*db);
+disp(beta,"Maximum forward current gain"); \ No newline at end of file
diff --git a/339/CH6/EX6.8/ex6_8.sce b/339/CH6/EX6.8/ex6_8.sce
new file mode 100755
index 000000000..225be1212
--- /dev/null
+++ b/339/CH6/EX6.8/ex6_8.sce
@@ -0,0 +1,10 @@
+Tj=150;
+Ts=25;
+Pw=15;
+Rthjs=(Tj-Ts)/Pw; //Junction-to-solder point resistance
+Rthca=2;
+Rthhs=10;
+Ta=60;
+Rthtot=Rthjs+Rthca+Rthhs; //total thermal resistance
+Pth=(Tj-Ta)/(Rthtot); //dissipated power
+disp("Watts",Pth,"Maximum dissipated power"); \ No newline at end of file
diff --git a/339/CH6/EX6.9/ex6_9.JPG b/339/CH6/EX6.9/ex6_9.JPG
new file mode 100755
index 000000000..0ab72495d
--- /dev/null
+++ b/339/CH6/EX6.9/ex6_9.JPG
Binary files differ
diff --git a/339/CH6/EX6.9/ex6_9.sce b/339/CH6/EX6.9/ex6_9.sce
new file mode 100755
index 000000000..91a34b8fe
--- /dev/null
+++ b/339/CH6/EX6.9/ex6_9.sce
@@ -0,0 +1,40 @@
+//define problem parameters
+Nd=1e16*1e6;
+d=0.75e-6;
+W=10e-6;
+L=2e-6;
+eps_r=12;
+Vd=0.8;
+mu_n=8500e-4;
+Vgs=0:-0.01:-4;
+
+//define physical constants
+q=1.60218e-19;// electron charge
+eps0=8.85e-12;// permittivity of free space
+
+eps=eps_r*eps0;
+
+//pinch-off voltage
+Vp=q*Nd*d^2/(2*eps)
+
+//threshold voltage
+Vt0=Vd-Vp
+
+//conductivity of the channel
+sigma=q*mu_n*Nd
+
+//Channel conductance
+G0=q*sigma*Nd*W*d/L
+
+//saturation current using the exact formula
+Id_sat=G0*(Vp/3-(Vd-Vgs)+2/(3*sqrt(Vp))*(Vd-Vgs).^(3/2)).*(1-(Vgs<Vt0));
+Idss=Id_sat(1)
+
+//saturation current using the quadratic law approximation
+Id_sat_square=Idss*(1-Vgs/Vt0)^2;
+
+plot(Vgs,Id_sat,Vgs,Id_sat_square);
+legend('exact formula', 'quadratic approximation',2);
+title('FET saturation current as a function of the gate-source voltage');
+xlabel('Gate-source voltage V_{GS}, V');
+ylabel('Drain saturation current I_{DSat}, A');