1.ATLAS输入与输出大多数ATLAS仿真使用两种输入文件:一个包含ATLAS执行指令的文本文件和一个定义了待仿真结构的结构文件。
ATLAS会产生三种输出文件:运行输出文件(run-timeoutput)记录了仿真的实时运行过程,包括错误信息和警告信息;记录文件(logfiles)存储了所有通过器件分析得到的端电压和电流;结果文件(solutionfiles)存储了器件在某单一偏置点下有关变量解的二维或三维数据。
2.ATLAS命令的顺序在ATLAS中,每个输入文件必须包含按正确顺序排列的五组语句。
这些组的顺序如图1.1所示。
如果不按照此顺序,往往会出现错误信息并使程序终止,造成程序非正常运行。
3.开始运行ATLAS1)点击桌面图标“ExceedXDMCPBroadcast”。
(如图1.2)2)弹出图二的界面。
点击“ASIC-V890”,点OK进入。
3)输入用户名“asic00”,点击OK(如图3);输入密码“asic”(注意大小写,并且本软件不显示密码图案“**”,一定注意输入正确与否),点击OK(如图4)。
进入界面(如图5)图1.1图1.2图1.3图3.224)右击空白处选择“Tools”,再点击“Terminal”。
(如图1.4)5)在“Terminal”窗口中“%”后输入“deckbuild–as&”(注意deckbuild与–之间的空格)(如图1.5)。
按下“enter”键。
进入atlas界面(如图1.6)。
二、NMOS结构的ATLAS仿真我们将以下几项内容为例进行介绍:1.建立NMOS结构。
图1.4图1.5图1.62.Vds=0.1V时,简单Id-Vgs曲线的产生;3.器件参数如Vt,Beta和Theta的确定;4.Vgs分别为1.1V,2.2V和3.3V时,Id-Vds曲线的产生。
三、建立NMOS结构本节将按照建立器件的一般步骤:①定义网格、②定义材料区域、③定义电极、④定义摻杂、⑤定义材料类型、⑥定义物理模型、⑦定义接触类型。
我们将按照上述方法建立的器件用tonylopt直接显示出来,以便于查看修改。
为了启动ATLAS,输入语句:goatlas。
按下回车键。
1.定义网格在ATLAS中定义器件只能用矩形方式定义。
如欲定义如右图的结构,必须按照三个黑色矩形来定义。
这些矩形区域在ATLAS中称之为网格。
网格的大小由X、Y坐标(loc)定义,为了更为精确的描述网格,ATLAS将网格进行细分(spac),等号后面的参数即为细分的间隔。
网格的疏密决定仿真结果的精确程度。
1)依次点击右上角“commands”、“structure”、“mesh”。
(如图3.1)。
进入图3.2所示的“ATLASMesh”界面。
在“Type”选项中选择“constructnewmesh”。
进入图3.3的“ATLASMeshDefine”界面。
2)“Direction”选项选择“X”。
在“Location”中输入7,“spacing”中输入0.5,点击“Insert”。
按照以上流程依次输入(6,0.01)、(5,0.2)、(4,0.01)、(3,0.01)、(2,0.2)、(1,0.01)、(0,0.5)。
结果如图3.4。
输入X完毕后点击“Y”。
输入(1,0.5)、(0.1,0.005)、(0.03,0.005)、(0,0.005)、(-0.01,0.002)。
结果如图3.5。
图3.1图3.2图3.33)直接点击图3.2中的“WRITE”。
在主界面中将生成如下语句(如图3.6)。
2.定义材料区域定义好网格之后,下面就需要将定义的网格规划成区域,每个区域可以定义不同的材料类型。
区域1为氧化层,区域2为GaN层,区域3为AlxGa1-xN以下我们将使用region命令定义不同的区域。
1)依次点击右上角“commands”、“structure”、“Region”。
进入图3.8的“AtlasRegion”界面。
2)点击“AddRegion”,“Number”中出现“1”。
依次在下面的数据输入端口中输入“0,7,-0.01,0”,并选择“Material”为“oxide”。
如图3.8。
图3.4图3.6图3.7图3.5图3.8图3.93)按照第2步的方法依次建立区域2和区域3。
区域2的数据为“0,7,0,0.03”,“Material”为“GaN”(图3.9);区域3的数据为“0,7,0.03,1”,“Material”为“GaN”。
按下“WRITE”。
生成语句如图3.10。
4)修改第3步中的语句,使之变成图3.11所示的语句。
部分语句解释:a.Region:命令是区域定义命令。
b.Number:区域标号c.x.minx.max等命令是指定所要定义的区域。
d.Material:定义材料类型,可以选择提供的各种材料。
e.polarizationcalc.strain等申明极化效应,并对极化效应大小及极化电荷密度进行计算。
3.定义电极本节将为上述定义好的各个区域引出电极。
为此我们将使用electrode命令。
1)依次点击右上角“commands”、“structure”、“Electrode”。
进入图3.12的“AtlasElectrode”界面。
2)点击“Adddelctrode”,选择“gate”;然后依次添加“drain”,(如图3.13);3)点击“gate”,再点击“definelocation”。
输入如图3.14中的数据(3,4,1,-0.01,0);同样再选择“drain”,输入如图3.15中的数据(6,7,1,-0.005,0)。
同样再选择“source”,输入如图3.16中的数据(0,1,1,-0.005,0)。
点击“WRITE”,生成语句如图3.17.图3.10图3.11图3.12图3.13图3.15图3.16图3.14图3.17部分语句解释:a.Electrode:定义电极命令。
Name是电极名。
b.Number:引出电极区域标号。
c.Contact:为每个电极添加接触类型。
Name是电极名,紧接着就是接触类型。
4.定义摻杂本节为区域2、3摻杂,区域3中摻入浓度为1e13的施主杂质,区域2中摻入浓度为5e16的施主杂质。
我们将使用doping命令。
1)依次点击右上角“commands”、“structure”、“Doping”,“Analytic”。
进入图3.18的“AtlasDopingProfile”界面。
2)“ProfileType”选择uniform(均匀分布)【也可以选择gaussian(高斯)和errorfunction(误差函数)分布,不同的分布代表杂质在区域中分布状况】;“conc”中填入“1e13”,“regions”选择3,其余保持默认。
点击“WRITE”。
语句如下所示.图3.183)同第1步再次进入“AtlasDopingProfile”界面。
“ProfileType”选择uniform,“conc”中填入“5e16”,“regions”选择2,其余保持默认。
语句如图下.部分语句解释:a.Doping:是摻杂命令b.Uniform:杂质分布类型是均匀分布。
(常用参数是杂质类型和杂质浓度)c.Conc:杂质浓度;n.type:杂质类型;regions:区域标号。
5.定义材料特性所有的材料都被分为半导体、绝缘体、导体三大类。
每一类都有特定的参数,如半导体有电子亲和势、能带间隙、少子寿命等。
Material参数分为几大类。
区域参数,能带结构参数,迁移率模型参数,复合模型参数等等。
每个参数都对应一定的物理模型,由一系列方程来表示这些量。
常用参数(命令)有:本征载流子浓度允许的最小值(ni.min)、电子空穴的寿命(taun0、taup0)、电子空穴迁移率(mun、mup)。
本部分将指定本征载流子浓度允许的最小值为1e-10,电子空穴的寿命均为1e-9s。
直接在主窗口中输入语句。
“materialni.min=1e-10taun0=1e-9taup0=1e-9”四、模型指定命令组以上我们已经建立了器件结构,现在我们将进入模型指定命令组。
在这个命令组中,我们将分别用Model语句、Contact语句和Interface语句定义模型、接触特性和表面特性。
1.选定物理模型本节将用models命令指定物理模型。
这些物理模型可以分为5组:迁移率模型,复合模型,载流子统计模型,碰撞离化模型和隧道模型。
针对目前的技术均有简便的方法配置相应模型,例如本实验的MOS技术应选用的基本模型有迁移率模型(CVT),复合模型(SRH),载流子统计模型(fermidirac)。
本节将选用载流子统计模型(fermidirac)。
具体方法是:1)依次点击右上角“commands”、“models”、“models”。
进入图4.1的“Atlasmodels”界面。
2)“Catagory”选择“Statistics”;下面选择“fermi-dirac”;点击“WRITE”。
2.定义接触类型与半导体材料接触的电极默认其具有欧姆特性。
如果定义了功函数,电极将被作为肖特基(Shottky)接触处理。
Contact语句用于定义有一个或多个电极的金属的功函数。
图4.1图4.21)依次点击右上角“commands”、“models”、“contact”。
进入“Atlascontact”界面。
如图4.22)“Electrodename”中填入“gate”,“workfunctiondifference”选择“Al”,点击“WRITE”。
3)再次进入“Atlascontact”界面,“Electrodename”中填入“source”,“workfunctiondifference”选择“Al”,勾选“surfacerecombination”,点击“WRITE”。
4)再次进入“Atlascontact”界面,“Electrodename”中填入“gate”,“workfunctiondifference”选择“Al”勾选“surfacerecombination”,点击“WRITE”。
生成语句如下:以上我们将每个电极均定义为欧姆接触,接触势为4.31。
3.指定接触面特性为了定义NMOS结构的接触面特性,我们需要使用Interface语句。
这个语句用来定义接触面电荷浓度(qf)以及半导体和绝缘体材料接触面的表面复合率(s.n.、s.p.)。
Deckbuild:ATLASInterface菜单将会出现;在FixedChargeDensity一栏中输入3e10,如图4.5所示;图4.3图4.4图4.52)点击WRITE将Interface语句写入DECKBUILD文本窗口中。
语句如下:Interfaces.n=0.0s.p=0.0qf=3e104.输出器件结构如第一部分所述“结果文件(.str)存储了器件在某单一偏置点下有关变量解的二维或三维数据”,我们只需用silvaco自带的画图工具tonyplot对.str文件操作即可直接输出器件的结构。
本节直接在窗口中输入如下的语句。
“saveoutfile=MOS.str”。
这个语句直接指定了输出的文件。
下面我们将使用tonyplot来画出器件结构。
1)高亮“MOS.str”,如右所示。
2)点击右上角“TOOLS”、“plot”、“plotstructure”。
如下图所示。
图4.7为放大后的器件结构图。
五、数字方法选择命令组1.首先我们要载入刚刚已经建立的器件模型。
步骤如下:1)输入“goatlas”。
启动ATLAS。
2)在ATLASCommands菜单中,依次选择Structure和Mesh…项。
ATLASMesh菜单将会弹出,如图5.1所示;图5.1ATLASMesh菜单3)在Type栏中,点击Readfromfile;,在Filename栏中输入结构文件名“MOS.str”;4)点击WRITE键并将Mesh语句写入DECKBUILD文本窗口中,如下所示。
2.接下来,我们要选择数字方法进行模拟。
可以用几种不同的方法对半导体器件问题进行求解。
对MOS结构而言,我们使用去偶(GUMMEL)和完全偶合(NEWTON)这两种方法。
图4.6图4.7简单的说,以GUMMEL法为例的去偶技术就是在求解某个参数时保持其它变量不变,不断重复直到获得一个稳定解。
而以NEWTON法为例的完全偶合技术是指在求解时,同时考虑所有未知变量。
Method语句可以采用如下方法:1)在ATLASCommands菜单中,依次选择Solutions和Method…项。
Deckbuild:ATLASMethod菜单将会出现;在Method栏中选择NEWTON和GUMMEL选项,如图5.1所示;默认设定的最大重复数为25。
这个值可以根据需要修改;2)点击WRITE将Method语句写入DECKBUILD文本窗口中;3)将会出现Method语句,如图5.2所示。
应用此语句可以先用Gummel法进行重复,如果找不到答案,再换Newton法进行计算。
图5.1图5.2六、解决方案指定命令组在解决方案指定命令组中,我们需要使用Log语句来输出保存包含端口特性计算结果的记录文件,用Solving语句来对不同偏置条件进行求解,以及用Loading语句来加载结果文件。
这些语句都可以通过Deckbuild:ATLASTest菜单来完成。
1.Vds=0.1V时,获得Id~Vgs曲线下面我们要在NMOS结构中,当Vds=0.1V时,获得简单的Id~Vgs曲线。
具体步骤如下:1)在ATLASCommands菜单中,依次选择Solutions和Solve…项。
Deckbuild:ATLASTest菜单将会出现,如图6.1所示;点击Prop…键以调用ATLASSolveproperties菜单;在Logfile栏中将文件名改为“MOS_”,如图6.2所示。
完成以后点击OK;图6.1Deckbuild:ATLASTest菜单图6.2ATLASSolveproperties菜单2)将鼠标移至Worksheet区域,右击鼠标并选择Addnewrow,如图6.3所示;3)一个新行被添加到了Worksheet中,如图6.4所示;4)将鼠标移至gate参数上,右击鼠标。
会出现一个电极名的列表。
选择drain,如图6.5所示;5)点击InitialBias栏下的值并将其值改为0.1,然后点击WRITE键;6)接下来,再将鼠标移至Worksheet区域,右击鼠标并选择Addnewrow;7)这样就在drain行下又添加了一个新行,如图6.6所示;8)在gate行中,将鼠标移至CONST类型上,右击鼠标并选择VAR1。
分别将initialbias、FinalBias和Delta的值改为-5、5和0.5,如图6.7所示;图6.3添加新行图6.4添加的新行图6.5将gate改为drain图6.6添加另一新行图6.7设置栅极偏置参数9)点击WRITE键,如下语句将会出现在DECKBUILD文本窗口中。
SolveinitSolvevdrain=1Logoutf=MOS_0.logSolvename=gatevgate=-5vfinal=5vstep=0.5上述语句以Solveinit语句开始。
这条语句提供了一个初始猜想,即零偏置(或热平衡)情况下的电势和载流子浓度。
在得到了零偏置解以后,第二条语句即Solvevdrain=1将会模拟漏极直流偏置为1V的情况。
如果solve语句没有定义某电极电压,则该电极电压为零。
因此,不需要将所有电极电压都用solve语句进行定义。
第三条语句是Log语句,即Logoutf=MOS_0.log。
这条语句用来保存所有在MOS_0.log文件中由ATLAS计算得出的仿真结果。
这些结果包括在直流仿真下每个电极的电流和电压。
要停止保存这些信息,可以使用带有“off”的log语句如logoff,或使用不同的log文件名。
最后一条solve语句使栅极电压从-5V变化到5V,间隔为0.5V。
注意在这条语句中Name参数是不能缺少的,而且电极名区分大小写。
10)点击run按钮,运行结束之后,高亮“MOS_0.log”,按照之前的tonyplot操作步骤即可画出Id~Vgs曲线。
2.获取器件参数在这个仿真中,还要获取一些器件参数,例如Vt,Beta和Theta。
这可以通过ATLASExtract菜单来完成:1)在ATLASCommands菜单中,依次选择Extract和Device…项。
Deckbuild:ATLASExtaction菜单将会出现;在默认情况下,Testname栏中选择的是Vt。
用户可以修改默认的计算表达式;点击WRITE键,VtExtract语句将会出现在DECKBUILD文本窗口中:extractname=“vt”(xintercept(maxslope(curve(abs(v.“gate”),abs(i.“drain”))))-abs(ave(v.“drain”))/2.0)2)下面,继续调用Deckbuild:ATLASExtaction菜单。
然后,点击Testname并将其改为Beta如图6.8;图6.8设置Beta计算语句3)点击WRITE键,BetaExtract语句将会出现在DECKBUILD文本窗口中:extractname=“beta”slope(maxslope(curve(abs(v.“gate”),abs(i.“drain”))))*abs(1.0/abs(ave(v.“drain”)))4)最后,我们要再一次调用Deckbuild:ATLASExtaction菜单来设置计算theta参数的Extract语句。
然后,点击Testname栏并将其改为Theta,如图6.9所示;图6.9设置Theta计算语句5)点击WRITE键,BetaExtract语句将会出现在DECKBUILD文本窗口中:extractname=“theta”((max(abs(v.“drain”))*$“beta”)/max(abs(i.“drain”)))-(1.0/max(abs(v.“gate”))-($“vt”)))6)点击cont按钮,所获得的器件参数如Vt,Beta和Theta可以在DECKBUILD运行输出窗口看到,如图6.10。
图6.10显示器件参数的DECKBUILD运行输出窗口3.获得输出特性曲线下面要在Vgs分别为1.1V,2.2V和3.3V时生成Id~Vds曲线族,Vds变化范围是0V到3.3V。
选择“Yes,replaceselection”。
10)Load语句将会在DECKBUILD文本窗口中替换solveinit语句,见图6.13;图6.12选中solveinit语句图6.13Load语句替换solveinit语句这样,从Load语句开始到Solve语句为止的语句组将会生成Vgs=1.1V时的Id~Vds曲线的数据。
要生成Vgs=2.2V,Vgs=3.3V时的Id~Vds曲线数据,只要复制这三个语句即可,并且:11)将Load语句中的输入文件名从solve1改为solve2或solve3;12)将solve语句中的log文件名从MOS1_0.log改为MOS2_0.log或MOS3_0.log;最终的语句如图6.14所示。
为了画出曲线族,即把三个plot文件的结果画在同一张图中,输入如下Tonyplot语句:tonyplotMOS1_0.log–overlayMOS2_0.logMOS3_0.log在这个语句中,–overlay是指在一张图中覆盖三个plot文件。
图6.14Vgs=2.2V,Vgs=3.3V时生成Id-Vds曲线数据的语句4.退出仿真最后,输入下面语句来退出仿真:quit现在可以点击DECKBUILD控制栏上的Cont键,继续进行器件仿真。
一旦仿真完成以后,TONYPLOT将自动调用出Id~Vds特性曲线族。