半导体器件物理软件设计报告.docx

上传人:b****1 文档编号:1349513 上传时间:2023-04-30 格式:DOCX 页数:35 大小:997.42KB
下载 相关 举报
半导体器件物理软件设计报告.docx_第1页
第1页 / 共35页
半导体器件物理软件设计报告.docx_第2页
第2页 / 共35页
半导体器件物理软件设计报告.docx_第3页
第3页 / 共35页
半导体器件物理软件设计报告.docx_第4页
第4页 / 共35页
半导体器件物理软件设计报告.docx_第5页
第5页 / 共35页
半导体器件物理软件设计报告.docx_第6页
第6页 / 共35页
半导体器件物理软件设计报告.docx_第7页
第7页 / 共35页
半导体器件物理软件设计报告.docx_第8页
第8页 / 共35页
半导体器件物理软件设计报告.docx_第9页
第9页 / 共35页
半导体器件物理软件设计报告.docx_第10页
第10页 / 共35页
半导体器件物理软件设计报告.docx_第11页
第11页 / 共35页
半导体器件物理软件设计报告.docx_第12页
第12页 / 共35页
半导体器件物理软件设计报告.docx_第13页
第13页 / 共35页
半导体器件物理软件设计报告.docx_第14页
第14页 / 共35页
半导体器件物理软件设计报告.docx_第15页
第15页 / 共35页
半导体器件物理软件设计报告.docx_第16页
第16页 / 共35页
半导体器件物理软件设计报告.docx_第17页
第17页 / 共35页
半导体器件物理软件设计报告.docx_第18页
第18页 / 共35页
半导体器件物理软件设计报告.docx_第19页
第19页 / 共35页
半导体器件物理软件设计报告.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

半导体器件物理软件设计报告.docx

《半导体器件物理软件设计报告.docx》由会员分享,可在线阅读,更多相关《半导体器件物理软件设计报告.docx(35页珍藏版)》请在冰点文库上搜索。

半导体器件物理软件设计报告.docx

半导体器件物理软件设计报告

 

软件设计报告

 

(2011/2012学年第二学期)

 

课程名称

半导体物理器件仿真

实习时间

2012.4.27~2012.5.13

指导单位

电子科学与工程学院

指导教师

XXX

 

学生姓名

XX

班级学号

BXXXXXXXX

学院(系)

电子科学与工程

专业

微电子

目录

第一章软件设计介绍

1.1所涉及的课程及知识点--------------------------------------4

1.2目的与任务----------------------------------------------------4

第二章软件开发平台简介---------------------------------------5

第三章软件设计的内容

3.1矩阵的运算

3.1.1设计题目及要求----------------------------------------7

3.1.2逻辑功能程序-------------------------------------------7

3.1.3实验过程与结果----------------------------------------7

3.1.4实验结果分析-------------------------------------------8

3.2圆形的绘制

3.2.1设计题目及要求----------------------------------------8

3.2.2逻辑功能程序-------------------------------------------8

3.2.3实验过程与结果----------------------------------------9

3.2.4实验结果分析-------------------------------------------9

3.3双极型晶体管基区少子浓度分布

3.3.1设计题目及要求---------------------------------------10

3.3.2逻辑功能程序------------------------------------------10

3.3.3实验过程与结果---------------------------------------11

3.3.4实验结果分析------------------------------------------13

3.4PN结势垒区内电场分布和碰撞电离率随反偏电压的变化关系

3.4.1设计题目及要求---------------------------------------13

3.4.2设计物理基础背景------------------------------------13

3.4.3逻辑功能程序------------------------------------------15

3.4.4实验过程与结果---------------------------------------19

3.4.5实验结果分析------------------------------------------23

3.5雪崩倍增因子外加随外加反偏电压的变化关系

3.5.1设计题目及要求---------------------------------------24

3.5.2设计物理基础背景------------------------------------24

3.5.3逻辑功能程序------------------------------------------24

3.5.4实验过程与结果---------------------------------------29

3.5.5实验结果分析------------------------------------------31

3.6击穿电压随P区和N区浓度的变化关系

3.6.1设计题目及要求---------------------------------------31

3.6.2设计物理基础背景------------------------------------31

3.6.3逻辑功能程序------------------------------------------32

3.6.4实验过程与结果---------------------------------------37

3.6.5实验结果分析------------------------------------------40

第四章实验小结与心得体会------------------------------------41

 

第1章软件设计介绍

 

1.1所涉及的课程及知识点

涉及的课程:

半导体物理器件、微电子器件、matlab等

知识点:

matlab矩阵运算、绘图函数使用,PN结相关属性与杂质浓度、偏压的关系、

 

1.2目的与任务

目的:

通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。

任务:

选择以下任一模块进行设计:

Matlab软件仿真、C语言及应用。

第2章软件开发平台简介

MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

Matlab语言有如下特点:

1.编程效率高

它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。

因此,Matlab语言也可通俗地称为演算纸式科学算法语言由于它编写简单,所以编程效率高,易学易懂。

2.用户使用方便

Matlab语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。

人们用任何一种语言编写程序和调试程序一般都要经过四个步骤:

编辑、编译、连接以及执行和调试。

各个步骤之间是顺序关系,编程的过程就是在它们之间作瀑布型的循环。

Matlab语言与其它语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。

它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。

具体地说,Matlab运行时,如直接在命令行输入Mailab语句(命令),包括调用M文件的语句,每输入一条语句,就立即对其进行处理,完成绩译、连接和运行的全过程。

又如,将Matlab源程序编辑为M文件,由于Mat1ab磁盘文件也是M文件,所以编辑后的源文件就可直接运行,而不需进行编译和连接。

在运行M文件时,如果有错,计算机屏幕上会给出详细的出锗信息,用户经修改后再执行,直到正确为止。

所以可以说,Mat1ab语言不仅是一种语言,广义上讲是一种该语言开发系统,即语言调试系统。

3.扩充能力强

高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。

因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab使用效率和扩充它的功能。

另外,为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran,C语言程序,通过建立Me调文件的形式,混合编程,方便地调用有关的Fortran,C语言的子程序。

4.语句简单,内涵丰富

Mat1ab语言中最基本最重要的成分是函数,其一般形式为「a,6,c……]=fun(d,e,f,……),即一个函数由函数名,输入变量d,e,f,……和输出变量a,b,c……组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性。

这不仅使Matlab的库函数功能更丰富,而大大减少了需要的磁盘空间,使得Matlab编写的M文件简单、短小而高效。

5.高效方便的矩阵和数组运算

Matlab语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“·”就可用于数组间的运算,另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。

在此基础上,高版本的Matlab已逐步扩展到科学及工程计算的其它领域。

因此,不久的将来,它一定能名符其实地成为“万能演算纸式的”科学算法语言。

6.方便的绘图功能

Matlab的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。

另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。

这种为科学研究着想的设计是通用的编程语言所不及的。

总之,Matlab语言的设计思想可以说代表了当前计算机高级语言的发展方向。

我们相信,在不断使用中,读者会发现它的巨大潜力。

第3章软件设计的内容

3.1矩阵的运算

3.1.1设计题目及要求

如果给出两个矩阵

,执行下面的矩阵运算命令。

(1)

分别是多少(其中I为单位矩阵)?

(2)

将分别给出什么结果,它们是否相同?

为什么?

3.1.2逻辑功能程序

function[]=Question1()

A=[4,12,20;12,45,78;20,78,136];

B=[1,2,3;4,5,6;7,8,0];

disp('A+5*B=');

disp(A+5*B);

disp('A-B+I=')

disp(A-B+eye(3));

disp('A.*B=');

disp(A.*B)

disp('A*B=');

disp(A*B);

End

3.1.3实验过程与结果

运行matlab,在菜单栏中点击“File”,选择“New—>FunctionM-File”,命名为Question1,键入整个函数,在主界面的“CommandWindow”中输入函数Question1(),按下回车,会显示结果,具体显示如下:

>>Question1()

A+5*B=

92235

3270108

55118136

A-B+I=

41017

84172

1370137

A.*B=

42460

48225468

1406240

A*B=

19222884

738873306

12841518528

3.1.4实验结果分析

(1)MATLAB提供的命令窗口输出函数常用有disp函数,既可以输出表达式、数值,也可以输出字符串,其调用格式为disp(表达式或数值)、disp(‘待显示字符串’);

(2)MATLAB的矩阵运算符和常用数值运算符的区别,+、-运算符通用,表示矩阵的加、减,*与.*区别在于*表示矩阵的乘法,而.*表示矩阵对应位置的元素相乘,所以*要求运算符前后的矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;

(3)eye单位矩阵函数的使用,生成一个单位矩阵,矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。

3.2圆形的绘制

3.2.1设计题目及要求

请绘制出一个圆形,要求用函数实现。

3.2.2逻辑功能程序

function[]=Question2(a,b,R)

symsx;

ezplot(sqrt(R^2-(x-a)^2)+b,[a-R,a+R]);

holdon;

ezplot(b-sqrt(R^2-(x-a)^2),[a-R,a+R]);

plot(a,b,'+');

axis([a-R,a+R,b-R,b+R]);

axisequal;

title('圆:

(x-a)^2+(y-b)^2=R^2');

legend(['(x-',num2str(a),')^2+(y-',num2str(b),')^2=',num2str(R),'^2']);

holdoff;

end

3.2.3实验过程与结果

运行matlab,在菜单栏中点击“File”,选择“New—>FunctionM-File”,命名为Question2,键入整个函数,在主界面的“CommandWindow”中运行函数Question2,键入格式为Question(x,y,R),x为圆心横坐标,y为圆心纵坐标,R为圆半径,按回车会显示结果,具体显示如下:

>>Question2(10,20,30)

3.2.4实验结果分析

(1)构建一个直角坐标下的圆的方程,为了把方程变为可绘制的函数要用到分段绘制,holdon的使用保证后绘的图不会覆盖先绘的图;

(2)为了使圆的圆心半径参数可调,所以函数使用了带参量的输入方式;

(3)绘图使用ezplot、plot函数,带参数可以限制绘图范围,plot函数绘制圆心用符号‘+’表示;

(4)axisequal是坐标轴刻度等距,这样是图形显示的不失真;

(5)lengend、num2str函数使用让图形注释更明了,lengend添加注释,调用格式lengend(‘字符串’,num2str使数值转换成字符,num2str(数值或数值的表达式);

3.3双极型晶体管基区少子浓度分布

3.3.1设计题目及要求

试绘出缓变基区的杂质分布为:

时,

基区的少子浓度分布图,并能清楚解释各参量对少子浓度分布函数的影响。

程序说明:

当晶体管偏置在有源放大区时,VC<0且|VC|>>kT/q,集电结边缘处电子密度为零,即x=WB,nB(WB)=0。

由此边界条件,得到缓变基区少子浓度分布函数:

假定:

InE=0.01mA;DnB=2cm2/s;WB=0.05um;q=1.6e-19C。

3.3.2逻辑功能程序

function[]=Question3()

symsxetaNB0InEDnBWBqa;

NB1x=NB0*(1-x/WB);

NB2x=NB0*exp(-eta*x/WB);

nBx=InE*int(NB2x,x,x,WB)/(NB2x*q*DnB);

nB0=InE*WB/(q*DnB);

y=nBx/nB0;

nB0=subs(nB0,{InE,DnB,WB,q},{0.01,2,0.05,1.6*10^-19});

y=subs(y,x,a*WB);

y=subs(y,{q},{1.6*10^-19});

fori=0:

2:

8

yx=limit(y,eta,i);

ezplot(yx,[0,1]);

text(0.5-0.05*i,subs(yx,a,(0.5-0.05*i)),['η=',num2str(i)]);

holdon;

end

holdoff;

gridon;

title('不同内建电场下的基区少子浓度分布');

text(0.5,0.85,['nB0=InE*WB/(q*DnB)=',num2str(nB0*10^-15),'*10^8cm^-2']);

xlabel('x/WB');

ylabel('nBx*q*DnB/(InE*WB)');

axis([0,1,0,1]);

end

3.3.3实验过程与结果

运行matlab,在菜单栏中点击“File”,选择“New—>FunctionM-File”,命名为Question3,键入整个函数,在主界面的“CommandWindow”中输入函数Question3(),按回车会显示结果,具体显示如下:

>>Question3()

3.3.4实验结果分析

(1)当杂质浓度呈线性分布时,少子浓度分布呈线性变化。

少子浓度随基区宽度的增大逐渐减小;

(2)当杂质浓度呈指数分布时,少子浓度分布也呈指数变化。

少子浓度随基区宽度的增大逐渐减小;

(3)随着eta的增大,基区少子浓度逐渐减少,这是因为内建电场增大的原因,达到同样电流密度所需少子浓度梯度较低;

(4)符号变量及其表达式的使用需要提前定义,用syms定义;

(5)对符号或表达式的积分采用int函数,可以指定上下限,也可以只是不定积分。

3.4PN结势垒区内电场分布和碰撞电离率随反偏电压的变化关系

3.4.1设计题目及要求

确定PN结势垒区内电场分布和碰撞电离率随反偏电压的变化关系。

(1)基本目标:

突变结分析

(2)标准目标:

突变结+线性缓变结分析

3.4.2设计物理基础背景

确定PN结势垒区内电场分布和碰撞电离率随反偏电压的变化关系

(1)突变结势垒区内电场分布分析

内建电势

N区耗尽区宽度

P区耗尽区宽度

其中,

为反偏电压,约化浓度

电场强度

在耗尽区中的变化关系如下式(1-4)、(1-5)所示:

处达到最大值

(2)线性缓变结电场分布分析

内建电势

其中,杂质浓度梯度

为常数,不妨取

耗尽区宽度

电场强度

处达到最大值

电场强度

在耗尽区的变化关系为

(3)碰撞电离率随反偏电压的变化关系

碰撞电离率

碰撞电离率表达式中的常数值

材料

电子

空穴

1

代入上式(1-11),得:

电子碰撞电离率

空穴碰撞电离率

附:

V

3.4.3逻辑功能程序

function[]=Question4(ND,NA)

symsVx;

V0=0.026;

ni=1.5*10^10;

epsilon0=8.854*10^-14;

q=1.60219*10^-19;

a=10^19;

An=7.03*10^5;

Bn=1.23*10^6;

Ap=1.58*10^6;

Bp=2.03*10^6;

m=1;

epsilons=11.9*epsilon0;

N0=NA*ND/(NA+ND);

Vbi=V0*log(ND*NA/ni^2);%常量

xn=sqrt(2*epsilons*N0*(Vbi+V)/q)/ND;

xp=sqrt(2*epsilons*N0*(Vbi+V)/q)/NA;

Exn=q*(xn+x)*ND/epsilons;

Exp=q*(xp-x)*NA/epsilons;

Emax=subs(Exn,x,0);

%Vbih=V0*log(((a/(2*ni))*(12*epsilons*Vbi/(a*q))^(1/3))^2);

xp_h=(1/2)*(12*epsilons*(Vbi+V)/(a*q))^(1/3);

xn_h=xp_h;

Emax_h=(a*q/(8*epsilons))*(xn_h+xp_h)^2;

E_h=Emax_h*(1-(x/xp_h)^2);

alphai_nn=An*exp(-(Bn/Exn)^m);

alphai_pn=An*exp(-(Bn/Exp)^m);

alphai_np=Ap*exp(-(Bp/Exn)^m);

alphai_pp=Ap*exp(-(Bp/Exp)^m);

alphai_nmax=subs(alphai_nn,x,0);

alphai_pmax=subs(alphai_pp,x,0);

alphai_nh=An*exp(-(Bn/E_h)^m);

alphai_ph=Ap*exp(-(Bp/E_h)^m);

alphai_nhmax=subs(alphai_nh,x,0);

alphai_phmax=subs(alphai_ph,x,0);

%%%%%%%%%————作图——————%%%%%%%%%%%%%%%%%

fori=0:

2:

8

figure

(1);

subplot(2,1,1);%%%%%————突变结

ezplot(subs(Exn,V,i),[-subs(xn,V,i),0]);

holdon;

ezplot(subs(Exp,V,i),[0,subs(xp,V,i)]);

axis([-subs(xn,V,i),subs(xp,V,i),0,subs(Emax,V,i)]);

ylabel('|E|');

text(subs(xp/2,V,i),subs(Exp,{x,V},{subs(xp/2,V,i),i}),['V=',num2str(i),'v']);

gridon;

title('突变结电场分布');

subplot(2,1,2);%%%%%————缓变结

ezplot(subs(E_h,V,i),[-subs(xn_h,V,i),subs(xp_h,V,i)]);

holdon;

axis([-subs(xn_h,V,i),subs(xp_h,V,i),0,subs(Emax_h,V,i)]);

ylabel('|E|');

text(subs(xp_h/2,V,i),subs(E_h,{x,V},{subs(xp_h/2,V,i),i}),['V=',num2str(i),'v']);

gridon;

title('线性缓变结电场分布');

figure

(2);

subplot(2,2,1);%%———突变结电子碰撞电离率

ezplot(sqrt(subs(alphai_nn,V,i)),[-subs(xn,V,i),0]);

holdon;

ezplot(sqrt(subs(alphai_pn,V,i)),[0,subs(xp,V,i)]);

axi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2