silvacoatlas操作文档.docx
- 文档编号:25926816
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:26
- 大小:598.75KB
silvacoatlas操作文档.docx
《silvacoatlas操作文档.docx》由会员分享,可在线阅读,更多相关《silvacoatlas操作文档.docx(26页珍藏版)》请在冰豆网上搜索。
silvacoatlas操作文档
一、
图3.22
ATLAS概述
ATLAS是一个基于物理规律的二维器件仿真工具,用于模拟特定半导体结构的电学特性,并模拟器件工作时相关的内部物理机理。
1.ATLAS输入与输出
大多数ATLAS仿真使用两种输入文件:
一个包含ATLAS执行指令的文本文件和一个定义了待仿真结构的结构文件。
ATLAS会产生三种输出文件:
运行输出文件(run-timeoutput)记录了仿真的实时运行过程,包括错误信息和警告信息;记录文件(logfiles)存储了所有通过器件分析得到的端电压和电流;结果文件(solutionfiles)存储了器件在某单一偏置点下有关变量解的二维或三维数据。
2.ATLAS命令的顺序
在ATLAS中,每个输入文件必须包含按正确顺序排列的五组语句。
这些组的顺序如图1.1所示。
如果不按照此顺序,往往会出现错误信息并使程序终止,造成程序非正常运行。
图1.1
3.开始运行ATLAS
1)点击桌面图标“ExceedXDMCPBroadcast”。
(如图1.2)
2)弹出图二的界面。
点击“ASIC-V890”,点OK进入。
图1.3
图1.2
3)输入用户名“asic00”,点击OK(如图3);输入密码“asic”(注意大小写,并且本软件不显示密码图案“**”,一定注意输入正确与否),点击OK(如图4)。
进入界面(如图5)
4)右击空白处选择“Tools”,再点击“Terminal”。
(如图1.4)
图1.4
5)在“Terminal”窗口中“%”后输入“deckbuild–as&”(注意deckbuild与–之间的空格)(如图1.5)。
按下“enter”键。
进入atlas界面(如图1.6)。
图1.6
图1.5
二、NMOS结构的ATLAS仿真
我们将以下几项内容为例进行介绍:
1.建立NMOS结构。
2.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”界面。
图3.2
图3.1
图3.3
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)直接点击图3.2中的“WRITE”。
在主界面中将生成如下语句(如图3.6)。
图3.5
图3.4
图3.7
图3.6
2.定义材料区域
定义好网格之后,下面就需要将定义的网格规划成区域,每个区域可以定义不同的材料类型。
区域1为氧化层,区域2为GaN层,区域3为AlxGa1-xN以下我们将使用region命令定义不同的区域。
1)依次点击右上角“commands”、“structure”、“Region”。
(如图3.1)。
进入图3.8的“AtlasRegion”界面。
2)点击“AddRegion”,“Number”中出现“1”。
依次在下面的数据输入端口中输入“0,7,-0.01,0”,并选择“Material”为“oxide”。
如图3.8。
图3.9
图3.8
3)按照第2步的方法依次建立区域2和区域3。
区域2的数据为“0,7,0,0.03”,“Material”为“GaN”(图3.9);区域3的数据为“0,7,0.03,1”,“Material”为“GaN”。
按下“WRITE”。
生成语句如图3.10。
图3.10
图3.11
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”界面。
图3.13
图3.12
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.14
图3.15
图3.16
图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.18
3)同第1步再次进入“AtlasDopingProfile”界面。
“ProfileType”选择uniform,“conc”中填入“5e16”,“regions”选择2,其余保持默认。
点击“WRITE”。
语句如图下.
部分语句解释:
a.Doping:
是摻杂命令
b.Uniform:
杂质分布类型是均匀分布。
(常用参数是杂质类型和杂质浓度)
c.Conc:
杂质浓度;n.type:
杂质类型;regions:
区域标号。
5.定义材料特性
所有的材料都被分为半导体、绝缘体、导体三大类。
每一类都有特定的参数,如半导体有电子亲和势、能带间隙、少子寿命等。
本节将用material命令来定义相关参数。
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”。
图4.2
图4.1
2.定义接触类型
与半导体材料接触的电极默认其具有欧姆特性。
如果定义了功函数,电极将被作为肖特基(Shottky)接触处理。
Contact语句用于定义有一个或多个电极的金属的功函数。
1)依次点击右上角“commands”、“models”、“contact”。
进入“Atlascontact”界面。
如图4.2
2)“Electrodename”中填入“gate”,“workfunctiondifference”选择“Al”,点击“WRITE”。
3)再次进入“Atlascontact”界面,“Electrodename”中填入“source”,“workfunctiondifference”选择“Al”,勾选“surfacerecombination”,点击“WRITE”。
4)再次进入“Atlascontact”界面,“Electrodename”中填入“gate”,“workfunctiondifference”选择“Al”勾选“surfacerecombination”,点击“WRITE”。
生成语句如下:
图4.4
图4.3
图32
图32
图32
以上我们将每个电极均定义为欧姆接触,接触势为4.31。
3.指定接触面特性
为了定义NMOS结构的接触面特性,我们需要使用Interface语句。
这个语句用来定义接触面电荷浓度(qf)以及半导体和绝缘体材料接触面的表面复合率(s.n.、s.p.)。
定义硅和氧化物接触面电荷浓度固定为3×1010cm-2,步骤如下:
1)在ATLASCommands菜单中,依次选择Models和Interface…项。
Deckbuild:
ATLASInterface菜单将会出现;在FixedChargeDensity一栏中输入3e10,如图4.5所示;
图4.5
2)点击WRITE将Interface语句写入DECKBUILD文本窗口中。
语句如下:
Interfaces.n=0.0s.p=0.0qf=3e10
4.输出器件结构
如第一部分所述“结果文件(.str)存储了器件在某单一偏置点下有关变量解的二维或三维数据”,我们只需用silvaco自带的画图工具tonyplot对.str文件操作即可直接输出器件的结构。
本节直接在窗口中输入如下的语句。
“saveoutfile=MOS.str”。
这个语句直接指定了输出的文件。
下面我们将使用tonyplot来画出器件结构。
1)
高亮“MOS.str”,如右所示。
2)点击右上角“TOOLS”、“plot”、“plotstructure”。
如下图所示。
图4.7为放大后的器件结构图。
图4.7
图4.6
五、数字方法选择命令组
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)这两种方法。
简单的说,以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文本窗口中。
Solveinit
Solvevdrain=1
Logoutf=MOS_0.log
Solvename=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。
为了不使后面的端口特性写入到前面的log文件MOS_0.log中,我们需要使用另一条Log语句,如下:
logoff
为了得到曲线族,首先,我们需要使用Deckbuild:
ATLASTest菜单得到每个Vgs的结果:
1)在ATLASCommands菜单中,依次选择Solutions和Solve…项以调用Deckbuild:
ATLASTest菜单;点击Prop…键以调用ATLASSolveproperties菜单;将Writemode栏改为Line,然后点击OK;
2)设置栅极偏置参数,;
图6.11栅极偏置参数
3)点击WRITE键,Solve语句将会出现在如下所示的DECKBUILD文本窗口中:
solvevgate=1.1
为了在ATLAS结果文件中保存结果输出,在Solve语句中添加语句outf=solve1:
solvevgate=1.1outf=solve1
4)对栅极偏置为-2.2V和-3.3V分别重复运用上述语句:
solvevgate=2.2outf=solve2
solvevgate=3.3outf=solve3
接下来,我们将再一次使用ATLASTest菜单设置Solve语句,使得漏极电压变化范围为0V到3.3V,步骤如下:
5)在ATLASCommands菜单中,依次选择Solutions和Solve…项以调用Deckbuild:
ATLASTest菜单;点击Prop…键以调用ATLASSolveproperties菜单;将Writemode栏改为Test;将Logfile栏中的文件名改为MOS2_;
6)完成后点击OK;
7)在工作区中,将Name栏的gate改为drain,Type栏的CONST改为VAR1,InitialBias,FinalBias和Delta分别设为0,3和0.3;
8)点击WRITE键,下列语句将会出现在DECKBUILD文本窗口中:
solveinit
logoutfile=MOS2_0.log
solvename=drainvdrain=0vfinal=3.3vstep=0.3
接下来,我们将使用Load菜单加载栅极偏置为1.1V时的结果文件solve1,并用它替换solveinit语句:
9)选中solveinit语句,如图6.12所示;在ATLASCommands菜单中,依次选择Solutions和Load…项以调用Deckbuild:
ATLASLoad菜单;在Deckbuild:
ATLASLoad菜单的Filename栏中输入solve1;在Format栏中,选择SPISCES格式;点击WRITE键,则出现确认提示窗口。
选择“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曲线数据,只要复制这三个语句即可,并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- silvacoatlas 操作 文档