定义器件结构
从atlas定义器件结构
1. 定义网格
mesh [space.mult=<value>] # space.mult参数可选,用来定义网格间距的比例因子,即在spacing的基础上倍乘, default 1
x.mesh location=<value> spacing=<value> # 定义x方向的网格
...
y.mesh location=<value> spacing=<value> # 定义y方向的网格
...
这里,通过定义每个坐标值处的网格间距来定义整个器件的网格分布,在相邻两个定义了网格间距的坐标值之间的区域,网格的间距渐变。例如:
go atlas
mesh space.mult=1
#####################################################################################
x.mesh location=0.0 spacing=0.05
x.mesh location=0.2 spacing=0.1
x.mesh location=0.5 spacing=0.05
#####################################################################################
y.mesh location=0.0 spacing=0.05
y.mesh location=1.0 spacing=0.05
region y.min=0.0 y.max=0.5 number=1 silicon
region y.min=0.5 y.max=1.0 number=2 silicon
electrode name=anode top
electrode name=cathode bottom
doping uniform conc=1e20 n.type region=1
doping uniform conc=1e18 p.type region=2
save outfile=diode.str
tonyplot diode.str
quit
这里在x坐标为0和0.5的地方定义网格间距为0.05,在x坐标为0.2的地方定义网格间距为0.1。那么x坐标从0到0.2的区域内,网格逐渐变宽,x坐标从0.2到0.5的区域内,网格逐渐变窄。如下图所示:
[图片上传失败...(image-d025ba-1513216975786)]
改变space.mult参数的值为0.5和2,网格间距分别变密集和稀疏。
[图片上传失败...(image-5da59b-1513216975786)]
[图片上传失败...(image-ae6528-1513216975786)]
2. 定义区域
区域划分的依据是:相同的材料类型可以划分成不同区域,不同的材料类型不能划分到同一个区域里。
region number=<integer> <material_type> [<position parameters>]
每个区域都有自己的编号,这个编号必须从整数1开始,然后依次递增。材料类型从Silvaco内建材料库中选择,也可以自己定制材料参数。位置参数包括:x.min, x.max, y.min, y.max。
应当使mesh范围内都有region的定义,如果存在没有定义的地方将会发出警告。可以把没有材料的地方定义为material=air。
3. 定义电极
electrode name=<EnglishName> [number=<integer>] [substrate] <position> <region>
位置参数:
-
x.min, x.max, y.min, y.max组成的矩形 - 可以按照剖面的特定位置,例如
top, bottom, left, right, substrate - 指定一点和电极在
x方向的长度
电极的接触类型默认为欧姆接触。
举例:
-
指定发射极范围x from 1.75 to 2.0, y from -0.05 to 0.05
electrode name=emitter x.min=1.75 x.max=2.0 y.min=-0.05 y.max=0.05 -
定义mosfet中源极从器件左边缘开始向右,长度为0.25
electrode name=source y.min=0 left length=0.25 -
定义mosfet中漏极从器件右边缘开始向左,长度为0.25
electrode name=drain y.min=0 right length=0.25 -
定义表面和底部电极
electrode name=anode top electrode name=cathode bottom
4. 定义掺杂
4.1 直接在命令中定义器件掺杂
doping <distribution_type> <dopant_type> <position_parameters>
-
distribution_type:-
uniform:均匀分布-
concentration:浓度
doping uniform concentration=1e16 n.type region=1在区域标号为
1的区域定义n型均匀掺杂,浓度为1e16 cm^-3 -
-
gaussian:高斯分布$$g(x)=1/(\sqrt {x\pi} \sigma) e{-(x-\mu)2/(2\sigma^2)}$$
-
concentration:峰值浓度,peak concentration -
peak:峰值位置的y坐标 -
characteristic:与标准差相关,standard deviation = (characteristic/sqrt(2)) um -
ratio.lateral:与指定区域外横向分布的标准差有关,默认为characteristic值的70%。 -
x.left=<number> x.right=<number>:参考线,峰值浓度将沿着这条线分布,在垂直于这条线的方向上,浓度按上一个参数定义的标准差呈现高斯分布。在平行于这条线的方向,浓度将按ratio.lateral进行分布。 -
junction:结深。举个例子:假如已经定义了一块p型区域,现在要在这块p型区域上进行n型掺杂,掺杂分布为高斯分布。这时候可以指定结深,而不用characteristic参数指定标准差了。
doping gaussian concentration=1e18 peak=0.1 characteristic=0.05 x.left=0.0 \ x.right=1.0 p.type region=1在区域标号为
1的区域定义p型掺杂,杂质分布为高斯分布,参考线为y=0.1, x from 0.0 to 1.0的一段线段,在0.0<x<1.0的区域部分,同一水平线上杂质浓度相等,不同水平线上杂质浓度为高斯分布,杂质分布的标准差为(0.05/sqrt(2)),在x<0 or x>1.0的区域,杂质的横向分布标准差为70% of standard deviation。 -
-
erfc:误差函数分布$$erfc(z)=2/\sqrt{\pi}\int{+}_{z}e{-y^2}dy$$
-
concentration: -
peak: -
ratio.lateral: -
erfc.lateral?:??????????????????? -
junction: -
x.min=<number> x.max=<number>: - 以上参数可以参考高斯分布参数的含义
-
-
-
dopant_typen.typep.type
-
position_parameters-
x.min, x.max, y.min, y.max组成的矩形 -
region指定标号,例如:region=1标号为1的区域
-
4.2 通过文件定义器件掺杂
doping x.min=0.0 x.max=1.0 y.min=0.0 y.max=1.0 n.type ascii infile=concdata
这句命令指定掺杂分布从一个名为concdata的ascii文件中获得,这个文件内部信息由两列数字表示,左边表示深度(um),右边表示掺杂浓度(cm^-3)。