NPN型双极晶体管半导体器件课程设计.docx
《NPN型双极晶体管半导体器件课程设计.docx》由会员分享,可在线阅读,更多相关《NPN型双极晶体管半导体器件课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
NPN型双极晶体管半导体器件课程设计
微电子器件课程设计报告
题目:
NPN型双极晶体管
班级:
微电0802班
学号:
*********
***************************
指导老师:
剑霜
2011年6月6日
一、目标结构
NPN型双极晶体管
二、目标参数
最终从IV曲线中提取出包括fT和Gain在的设计参数.
三、在该例中将使用:
(1)多晶硅发射双极器件的工艺模拟;
(2)在DEVEDIT中对结构网格重新划分;
(3)提取fT和peakgain.
ATLAS中的解过程:
1.设置集电极偏压为2V.
2.用log语句用来定义Gummelplot数据集文件.
3.用extract语句提取BJT的最大增益"maxgain"以及最大ft,"maxft".Gummelplot:
晶体管的集电极电流Ic、基极电流Ib与基极-发射极电压Vbe关系图(以半对数坐标的形式).
四、制造工艺设计
4.1.首先在ATHENA中定义0.8um*1.0um的硅区域作为基底,掺杂为均匀的砷杂质,浓度为2.0e16/cm3,然后在基底上注入能量为18ev,浓度为4.5e15/cm3的掺杂杂质硼,退火,淀积一层厚度为0.3um的多晶硅,淀积过后,马上进行多晶硅掺杂,掺杂为能量50ev,浓度7.5e15/cm3的砷杂质,接着进行多晶硅栅的刻蚀(刻蚀位置在0.2um处)此时形成N++型杂质(发射区)。
刻蚀后进行多晶氧化,由于氧化是在一个图形化(即非平面)以及没有损伤的多晶上进行的,所以使用的模型将会是fermi以及compress,进行氧化工艺步骤时分别在干氧和氮的气氛下进行退火,接着进行离子注入,注入能量18ev,浓度2.5e13/cm3的杂质硼,随后进行侧墙氧化层淀积并进行刻蚀,再一次注入硼,能量30ev,浓度1.0e15/cm3,形成P+杂质(基区)并作一次镜像处理即可形成完整NPN结构,最后淀积铝电极。
4.2.三次注入硼的目的:
第一次硼注入形成本征基区;第二次硼注入自对准(self-aligned)于多晶硅发射区以形成一个连接本征基区和p+基极接触的connection.多晶发射极旁的侧墙(spacer-like)结构用来隔开p+基极接触和提供自对准.在模拟过程中,relax语句是用来减小结构深处的网格密度,从而只需模拟器件的一半;第三次硼注入,形成p+基区。
4.3.遇到的问题
经常遇到这样一种情况:
一个网格可用于工艺模拟,但如果用于器件模拟效果却不甚理想.在这种情况下,可以用网格产生工具DEVEDIT用来重建网格,从而以实现整个半导体区域无钝角三角形.
五、原胞版图和工艺仿真结果:
用工艺软件ATHENA制作的NPN基本结构:
用Cutline工具截取Boron的浓度分布图如下:
用Cutline工具截取Arsenic的浓度分布图如下:
用Cutline工具截取净掺杂的浓度分布图如下:
最后结果如图.可以看出:
发射极、基极、集电极的净掺杂浓度分别为10的19、17(接触处为19)、16次方量级.
参数提取:
结深及方块电阻的提取图:
运行结果:
结深:
bc-nxj=0.10218um,be-nxj=0.406303um
方块电阻:
b-sheet=121.458ohm/square,e-sheet=103.565ohm/square
电流方法倍数即电流增益和ft的提取图:
运行结果:
peakcollectorcurrent=0.000397951A
peakgain=83.1365,maxfT=7.69477e+09
特征频率:
使集电极电流与基极电流之比下降到1的信号频率,也就是无法将输入信号放大时的频率.因此也称截至频率.
六、实验心得体会
近一周的微电子器件课程设计结束了,通过本次设计,我们学会了用silvaco进行器件仿真,并且懂得了NPN基本结构的工艺流程以及如何提取器件参数,培养了我们独立分析问题和解决问题的能力,懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,希望自己在今后的学习中不断加强理论和实践相结合,提高自己各方面能力。
在此感谢老师的耐心指导和队友的默契合作。
附录:
模拟程序:
工艺模拟:
goathena
#TITLE:
PolysiliconEmitterBipolarExample-Ssuprem4->Devedit->Spisces2
#IfyoudonothaveDevedit:
Pleasecommenttheselinesout....
linexloc=0.0spacing=0.03
linexloc=0.2spacing=0.02
linexloc=0.24spacing=0.015
linexloc=0.3spacing=0.015
linexloc=0.8spacing=0.15
#
lineyloc=0.0spacing=0.01
lineyloc=0.07spacing=0.01
lineyloc=0.1spacing=0.01
lineyloc=0.12spacing=0.01
lineyloc=0.3spacing=0.02
lineyloc=0.5spacing=0.06
lineyloc=1.0spacing=0.35
#
initc.arsenic=2e16
#
implantboronenergy=18dose=2.5e13
diffusetime=60temp=920
#depositpolysilicon
depositpolythick=0.3divisions=6min.space=0.05
#Implanttodopepolysilicon
implantarsenicdose=7.5e15energy=50
#Patternthepoly
etchpolyrightp1.x=0.2
relaxy.min=.2x.min=0.2
relaxy.min=.2x.min=0.2
methodcompressfermi
diffusetime=25temp=920dryo2
diffusetime=50temp=900nitrogen
implantborondose=2.5e13energy=18
#depositspacer
depositoxidethick=0.4divisions=10min.space=0.1
#etchthespacerback
etchoxidedrythick=0.5
implantborondose=1e15energy=30
diffusetime=60temp=900nitrogen
#putdownAlandetchtoformcontacts
depositalumthick=0.05div=2
etchaluminstartx=0.15y=-10
etchcontinuex=0.15y=10
etchcontinuex=0.6y=10
etchdonex=0.6y=-10
structurereflectleft
stretchstretch.val=0.1x.val=0.0
#NametheelectrodesforusewithATLAS.....baseandbase1willbeslaved
#duringdevicesimulationwiththe'CONTACT'statement....
electrodex=0.0name=emitter
electrodex=-0.7name=base
electrodebacksidename=collector
electrodex=0.7name=base1
#Savethefinalstructure
structureoutfile=bjtex03_0.str
#Completelyremeshthestructurewithoutobtusetrianglesinthesemiconductor
#UsetheSensitivity&Minspacingparameterstoadjustthemeshdensity....
#..thesmallertheSensitivity,thedenserthemesh...
godevedit
base.meshheight=0.25width=0.25
bound.condapply=falsemax.ratio=300
constr.meshmax.angle=90max.ratio=300max.height=1max.width=1\
min.height=0.0001min.width=0.0001
constr.meshtype=Semiconductordefault
constr.meshtype=Insulatordefaultmax.angle=170
constr.meshtype=Metaldefaultmax.angle=
#Definetheminimummeshspacingglobally...
imp.refinemin.spacing=0.025
#Selectalistofsolution(impurity)gradientstorefineupon....
imp.refineimp="Arsenic"sensitivity=0.5
imp.refineimp="Boron"sensitivity=0.5
#nowmeshthestructure....
mesh
#
structoutfile=bjtex03_1.str
tonyplotbjtex03_1.str-setbjtex03_1.set
#
#####################GummelPlotTest###########################
器件模拟
goatlas
#setmaterialmodelsetc.
materialtaun0=5e-6taup0=5e-6
contactname=emittern.polysurf.rec
contactname=basecommon=base1short
modelsbipolarprint
#initialsolution
solveinit
#changetotwocarriers
methodnewtonautonrtrap
solveprev
#setthecollectorbias
solvevcollector=2local
#startrampingthebase
solvevbase=0.1
#Rampthebaseto0.9volts....
logoutf=bjtex03_2.logmaster
solvevbase=0.2vstep=0.05vfinal=0.9name=baseacfreq=1e6aname=base
#Nowdumpastructurefile,fortonyplotting...butfirstdecidewhat
#youwantinit,ontopofthedefaultquantities......
outpute.fieldflowlinesjx.eljx.hojy.eljy.ho
saveoutf=bjtex03_3.str
#Nowextractsomedesignparameters...
extractname="peakcollectorcurrent"max(curve(abs(v."base"),abs(i."collector")))
extractname="peakgain"max(i."collector"/i."base")
extractname="maxfT"max(g."collector""base"/(2*3.1415*c."base""base"))
#plottheresults
tonyplotbjtex03_2.log-setbjtex03_2.set
quit