定义器件结构
从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_type
n.type
p.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)。