按照例子代码重写
代码:
go atlas
mesh space.mult=1.0
x.mesh loc=0.00 spac=0.5
x.mesh loc=3.00 spac=0.2
x.mesh loc=5.00 spac=0.25
x.mesh loc=7.00 spac=0.25
x.mesh loc=9.00 spac=0.2
x.mesh loc=12.00 spac=0.5
y.mesh loc=0.00 spac=0.1
y.mesh loc=1.00 spac=0.1
y.mesh loc=2.00 spac=0.2
y.mesh loc=5.00 spac=0.4
region num=1 silicon
electr name=anode x.min=5 length=2
electr name=cathode bot
doping n.type conc=5.e16 uniform
doping p.type conc=1e19 x.min=0 x.max=3 junc=1 rat=0.6 gauss
doping p.type conc=1e19 x.min=9 x.max=12 junc=1 rat=0.6 gauss
doping n.type conc=1e20 x.min=0 x.max=12 y.top=2 y.bottom=5 uniform
save outf=diodeex01_0.str
tonyplot diodeex01_0.str -set diodeex01_0.set
model conmob fldmob srh auger bgn
contact name=anode workf=4.97
solve init
method newton
log outfile=diodeex01.log
solve vanode=0.05 vstep=0.05 vfinal=1 name=anode
tonyplot diodeex01.log -set diodeex01_log.set
quit
逐行/分块解读代码
go atlas
#调用ATLAS二维器件仿真器
mesh space.mult=1.0
#space.mult 设定全局的spacing的乘数 参数space.mult定义网格线间距的比例因子,即在spacing的基础上倍乘,默认值是1,大于1会使网格变粗糙,但仿真也相应变快
x.mesh loc=0.00 spac=0.5
x.mesh loc=3.00 spac=0.2
x.mesh loc=5.00 spac=0.25
x.mesh loc=7.00 spac=0.25
x.mesh loc=9.00 spac=0.2
x.mesh loc=12.00 spac=0.5
y.mesh loc=0.00 spac=0.1
y.mesh loc=1.00 spac=0.1
y.mesh loc=2.00 spac=0.2
y.mesh loc=5.00 spac=0.4
#x轴和y轴的mesh定义。如果各个location处的spacing一样的话,网格均匀。如果spacing不一样的话,网格不均匀。网格要考虑疏密分布。材料界面、很薄的材料层都需要定义得密一些。有些地方可以定义得稀疏一些,如衬底。密的原则就是在某个location附近参数变化显著,分段线性化时应该考虑将分的段的长度小一些。这样才能得到更精确的结果。网格也不是越密越好,过于密集则会让仿真速度慢得多。ATLAS二维仿真的网格点数有限制,不得超过20000个。
region num=1 silicon
#ATLAS需要将mesh中定义的仿真剖面划分成不同的区域(region),并定义相应的区域参数之后保存结构才能由tonyplot显示网格。定义区域需要指明位置(X和Y的范围),材料以及序号。在后续定义掺杂等特性时就可以按区域定义。
electr name=anode x.min=5 length=2
electr name=cathode bot
#bot 应该是bottom的缩写
#定义电极 阳极:x≥5,长度为2的部分;阴极:器件的底部
doping n.type conc=5.e16 uniform
#定义掺杂:n型掺杂,浓度为5e16,uniform指的是均匀掺杂
doping p.type conc=1e19 x.min=0 x.max=3 junc=1 rat=0.6 gauss
doping p.type conc=1e19 x.min=9 x.max=12 junc=1 rat=0.6 gauss
#定义掺杂:p型掺杂,浓度为1e19 这里是高斯分布的掺杂,可以看到的是junc和rat,junc就是掺杂的深度,而rat是横向的扩散长度,一般来说,rat在0.6到0.7之间。这里掺杂了两个区域,分别是x∈(0,3)和x∈(9,12)
doping n.type conc=1e20 x.min=0 x.max=12 y.top=2 y.bottom=5 uniform #定义掺杂:n型掺杂,浓度为1e20。均匀掺杂 范围:x∈(0,12),y∈(2,5)
save outf=diodeex01_0.str
tonyplot diodeex01_0.str -set diodeex01_0.set
#保存器件结构并用tonyplot显示
model conmob fldmob srh auger bgn
contact name=anode workf=4.97
#模型:conmob(浓度依赖迁移率模型) fldmob(平行电场依赖模型) srh(Shockly-Read-Hall复合模型) auger(俄歇复合模型) bgn(能带变窄)
solve init
#计算初始
method newton
#使用newton数值计算方法
log outfile=diodeex01.log
#提前定义下面的曲线文件
solve vanode=0.05 vstep=0.05 vfinal=1 name=anode
#计算阳极电压从0.05到1,步进为0.05时的参数变化曲线,这里的参数可以是多种。
tonyplot diodeex01.log -set diodeex01_log.set #画出该曲线
quit
图像和说明
网格图
x.mesh loc=0.00 spac=0.5
x.mesh loc=3.00 spac=0.2
x.mesh loc=5.00 spac=0.25
x.mesh loc=7.00 spac=0.25
x.mesh loc=9.00 spac=0.2
x.mesh loc=12.00 spac=0.5
X:(0—12) Y:(0—5)
根据代码定义:
x从0-3,网格线间距从0.5变化到0.2,由大变小,变密集
X从3-5,网格线间距从0.2变化到0.25,由小变大,变稀疏
x从5-7,网格线间距不变,稀疏程度不变
x从7-9, 网格线间距从0.25变化到0.2,由大变小,变密集
x从9-12,网格线间距从0.2变化到0.5,由小变大,变稀疏
正好是一个对称的过程
同理,y轴方向的变化也是如此
电极图
从上图可以看出阳极和阴极的位置即为定义。
掺杂图
区域说明:
黄色为第一次n型均匀掺杂,浓度为5e16
紫蓝色为第二三次p型高斯掺杂,可看到深度接近1,边缘扩展接近0.6
红色为第四次n型均匀掺杂,浓度为1e20
浓度折线图
高斯掺杂侧向扩展深度——接近0.6