diff options
Diffstat (limited to '3866/CH2')
-rw-r--r-- | 3866/CH2/EX2.10/Ex2_10.sce | 11 | ||||
-rw-r--r-- | 3866/CH2/EX2.11/Ex2_11.sce | 18 | ||||
-rw-r--r-- | 3866/CH2/EX2.12/Ex2_12.sce | 35 | ||||
-rw-r--r-- | 3866/CH2/EX2.13/Ex2_13.sce | 11 | ||||
-rw-r--r-- | 3866/CH2/EX2.2/Ex2_2.sce | 14 | ||||
-rw-r--r-- | 3866/CH2/EX2.3/Ex2_3.sce | 11 | ||||
-rw-r--r-- | 3866/CH2/EX2.4/Ex2_4.sce | 19 | ||||
-rw-r--r-- | 3866/CH2/EX2.5/Ex2_5.sce | 8 | ||||
-rw-r--r-- | 3866/CH2/EX2.6/Ex2_6.sce | 11 | ||||
-rw-r--r-- | 3866/CH2/EX2.7/Ex2_7.sce | 15 | ||||
-rw-r--r-- | 3866/CH2/EX2.8/Ex2_8.sce | 12 | ||||
-rw-r--r-- | 3866/CH2/EX2.9/Ex2_9.sce | 13 |
12 files changed, 178 insertions, 0 deletions
diff --git a/3866/CH2/EX2.10/Ex2_10.sce b/3866/CH2/EX2.10/Ex2_10.sce new file mode 100644 index 000000000..f06fbdb9c --- /dev/null +++ b/3866/CH2/EX2.10/Ex2_10.sce @@ -0,0 +1,11 @@ +clear; clc; close;
+
+vgs1=0.140;//obtained from figure
+vgs2=0.212;//obtained from figure
+k=1.3807*(10^(-23));//boltzmann constant
+t=300;//temperature in kelvin
+q=1.6*(10^(-19));
+n=((vgs2-vgs1)*q)/(k*t*log(10));
+s=60*n;
+disp(n,'for PMOS device');
+disp(s,'slope factor(in mv/decade)');
diff --git a/3866/CH2/EX2.11/Ex2_11.sce b/3866/CH2/EX2.11/Ex2_11.sce new file mode 100644 index 000000000..a148567ee --- /dev/null +++ b/3866/CH2/EX2.11/Ex2_11.sce @@ -0,0 +1,18 @@ +clear; clc; close;
+
+w=0.4;//in micrometer
+l=100;//in nanometer
+Cg=1.6;//in fF/micrometer
+Ct=Cg*w;
+Cgs1=0;Cgd1=0;Cgb1=Ct/2;//cutoff
+Cgs2=Ct/2;Cgd2=Ct/2;Cgb2=0;//linear
+Cgs3=(2*Ct)/3;Cgb3=0;Cgd3=0;//saturation
+disp(Cgs1,'Cgs for cutoff region');//units in fF
+disp(Cgd1,'Cgd for cutoff region');
+disp(Cgb1,'Cgb for cutoff region');
+disp(Cgs2,'Cgs for linear region');
+disp(Cgd2,'Cgd for linear region');
+disp(Cgb2,'Cgb for linear region');
+disp(Cgs3,'Cgs for saturation region');
+disp(Cgd3,'Cgs for saturation region');
+disp(Cgb3,'Cgs for saturation region');
diff --git a/3866/CH2/EX2.12/Ex2_12.sce b/3866/CH2/EX2.12/Ex2_12.sce new file mode 100644 index 000000000..d051356b8 --- /dev/null +++ b/3866/CH2/EX2.12/Ex2_12.sce @@ -0,0 +1,35 @@ +clear; close; clc;
+
+disp('a)');
+k=1.38*(10^(-23));//boltzmann constant
+t=300;//room temperature
+q=1.6*(10^(-19));
+Na=3*(10^17);//in cm^(-3)
+na1=3*(10^23);//in m^(-3)
+Nd=10^20;//in cm^(-3)
+Ni=1.45*(10^10);
+esi=11.7*8.85*(10^(-12));
+FIb=(k*t*log((Na*Nd)/(Ni*Ni)))/q;
+Cjb=((esi*q*na1)/(2*FIb))^(0.5);
+disp(FIb,'Built in junction potential(in volts):');
+disp(Cjb,'capacitance per length(farad/(m^2)):');//answer vary due to round off error
+
+disp('b)');
+y=0.3;//in micrometer
+xi=0.05;//in micrometer
+w=0.4;//in micrometer
+Cjb=1.6;//in (fF/micrometer^2) from 2_12a
+FIb=1;//in volts from 2_12a
+Vj1=0;
+Vj2=-1.2;
+Cj1=(Cjb*w*(y+xi));
+Cj2=(Cjb*w*(y+xi))/((1-(Vj2/FIb))^0.5);
+disp(Cj1,'junction capacitance for Vj=0(in fF)=');
+disp(Cj2,'junction capacitance for Vj=-1.2v(in fF)=');
+
+disp('c)');
+v2=0;
+v1=-1.2;//in volts
+Keq=(-2)*sqrt(FIb)*(sqrt(FIb-v2)-sqrt(FIb-v1))/(v2-v1);
+Cj=Keq*Cjb*w*(y+xi);
+disp(Cj,'junction capacitance(in fF)=');
diff --git a/3866/CH2/EX2.13/Ex2_13.sce b/3866/CH2/EX2.13/Ex2_13.sce new file mode 100644 index 000000000..45d2bfb9b --- /dev/null +++ b/3866/CH2/EX2.13/Ex2_13.sce @@ -0,0 +1,11 @@ +clear; close; clc;
+
+T=100;
+Ld=0.01;//in micrometer
+eox=4*8.85*(10^(-14));
+Cf=(2*eox*log(1+T))/%pi;//in F/cm
+Cf1=(Cf)/(10^4);//in F/micrometer
+Cox=(15*10^(-15));//in F
+Cov=Cox*Ld;
+Col=(Cf1+Cov)*(10^15);//in fF/micrometer
+disp(Col,'overlap capacitance(in fF/micrometer)=');
diff --git a/3866/CH2/EX2.2/Ex2_2.sce b/3866/CH2/EX2.2/Ex2_2.sce new file mode 100644 index 000000000..e70f7d940 --- /dev/null +++ b/3866/CH2/EX2.2/Ex2_2.sce @@ -0,0 +1,14 @@ +clear; close; clc;
+
+kc=1.380*(10^(-23));//constant
+te=300;//room_temp_in_kelvin
+qe=1.602*(10^(-19));//electron_charge
+ni=1.45*(10^10);
+p=3*(10^17);
+esi=11.7*8.85*(10^(-14));
+deg=2*kc*te*abs(log(ni/p))/qe;
+xd=sqrt((2*esi*deg)/(qe*p));
+qb=-sqrt(2*qe*p*esi*abs(-deg));
+disp(deg,'degree of band bending(in volt):');
+disp(xd,'limiting value of depletion layer width(in cm)');
+disp(qb,'total charge in depleted region(in C/cm^2)');
diff --git a/3866/CH2/EX2.3/Ex2_3.sce b/3866/CH2/EX2.3/Ex2_3.sce new file mode 100644 index 000000000..2368155a2 --- /dev/null +++ b/3866/CH2/EX2.3/Ex2_3.sce @@ -0,0 +1,11 @@ +clear; clc; close;
+
+tox=22*(10^(-10));
+na=3*(10^(17));
+qe=1.602*(10^(-19));//electron_charge
+eox=8.85*(10^(-14));
+esi=11.7*eox;
+cox=(4*eox)/tox;
+y=sqrt(2*qe*esi*na)/cox;
+disp(cox,'oxide capacitance (in F/m^2)');
+disp(y,'body factor');
diff --git a/3866/CH2/EX2.4/Ex2_4.sce b/3866/CH2/EX2.4/Ex2_4.sce new file mode 100644 index 000000000..33e870515 --- /dev/null +++ b/3866/CH2/EX2.4/Ex2_4.sce @@ -0,0 +1,19 @@ +clear; close; clc;
+
+kc=1.380*(10^(-23));//constant
+te=300;//room_temp_in_kelvin
+qe=1.602*(10^(-19));//electron_charge
+eo=8.85*(10^(-14));
+ni=1.45*(10^10);
+p=3*(10^17);
+fg=0.55;
+s=2*(10^10);//in_cm^(-2)
+tox=22*(10^(-8));//in_cm
+esi=11.7*eo;
+ffp=kc*te*log(ni/p)/qe;
+fgc=ffp-fg;
+eox=4*eo;
+cox=eox/tox;
+qbo=-sqrt(2*qe*p*esi*abs(2*ffp));
+vto=fgc-(2*ffp)-(qbo/cox)-(s*qe/cox);
+disp(vto,'zero bias threshold voltage(in volts=)');
diff --git a/3866/CH2/EX2.5/Ex2_5.sce b/3866/CH2/EX2.5/Ex2_5.sce new file mode 100644 index 000000000..cfc821045 --- /dev/null +++ b/3866/CH2/EX2.5/Ex2_5.sce @@ -0,0 +1,8 @@ +clear; close; clc;
+
+cox=1.6*10^(-6);//from_previous_example
+v=0.4;
+vto=0.08;//from previus example
+qe=1.602*10^(-19);
+n1=(cox*(v-vto))/qe;
+disp(n1,'ion implant doses(in ions/cm^2)');
diff --git a/3866/CH2/EX2.6/Ex2_6.sce b/3866/CH2/EX2.6/Ex2_6.sce new file mode 100644 index 000000000..5cbe032cd --- /dev/null +++ b/3866/CH2/EX2.6/Ex2_6.sce @@ -0,0 +1,11 @@ +clear; clc; close;
+
+vgs=1.8;
+vt=0.5;
+cl=200*(10^(-9));
+enln=6*(10^6)*cl;
+eplp=24*(10^6)*cl;
+vdsat1=((vgs-vt)*enln)/(vgs-vt+enln);
+vdsat2=((vgs-vt)*eplp)/(vgs-vt+eplp);
+disp(vdsat1,'Vdsat for NMOS(in volts)');
+disp(vdsat2,'Vdsat for PMOS(in volts)');
diff --git a/3866/CH2/EX2.7/Ex2_7.sce b/3866/CH2/EX2.7/Ex2_7.sce new file mode 100644 index 000000000..4a7d1067a --- /dev/null +++ b/3866/CH2/EX2.7/Ex2_7.sce @@ -0,0 +1,15 @@ +clear; close; clc;
+//in standard units
+vsat=8*(10^4);
+tox=22*(10^(-10));
+vgs=1.2;
+vt=0.4;
+cl=100*(10^(-9));
+eo=8.85*(10^(-12));
+cox=(4*eo)/tox;
+enln=6*(10^6)*cl;
+eplp=24*(10^6)*cl;
+ids1=(vsat*cox*((vgs-vt)^2))/(vgs-vt+enln);
+ids2=(vsat*cox*((vgs-vt)^2))/(vgs-vt+eplp);
+disp(ids1,'saturation current of NMOS(in ampere/metre)');//answers vary due to round off error
+disp(ids2,'saturation current of PMOS(in ampere/metre)');//answers vary due to round off error
diff --git a/3866/CH2/EX2.8/Ex2_8.sce b/3866/CH2/EX2.8/Ex2_8.sce new file mode 100644 index 000000000..6f6d49347 --- /dev/null +++ b/3866/CH2/EX2.8/Ex2_8.sce @@ -0,0 +1,12 @@ +clear; clc;close;
+
+vgs=1.2;
+vt=0.4;
+ecln=0.6;
+eclp=2.4;
+vdsat1=((vgs-vt)*ecln)/(vgs-vt+ecln);
+vdsat2=((vgs-vt)*eclp)/(vgs-vt+eclp);
+ratio=(vgs-vt+eclp)/(vgs-vt+ecln);
+disp(vdsat1,'for NMOS(in volts)');
+disp(vdsat2,'for PMOS(in volts)');
+disp(ratio,'saturation current ratio nmos to pmos');
diff --git a/3866/CH2/EX2.9/Ex2_9.sce b/3866/CH2/EX2.9/Ex2_9.sce new file mode 100644 index 000000000..34caab228 --- /dev/null +++ b/3866/CH2/EX2.9/Ex2_9.sce @@ -0,0 +1,13 @@ +clear; clc; close;
+
+vgs1=1.35;//given
+vgs2=1.8;//given
+ids1=130*(10^(-6));//given
+ids2=220*(10^(-6));//given
+vt=0.5;//given
+vgs3=0.9;//given
+a=(log10(ids2/ids1))/(log10((vgs2-vt)/(vgs1-vt)));
+ks=ids2/((vgs2-vt)^a);
+ids=ks*((vgs3-vt)^a);
+disp(a,'alpha based from figure)');//answer vary due to round off error
+disp(ids,'saturation current for vgs=0.9(in amperes)');//answer vary due to round off error
|