求解silvaco定义了一个JFET结构,但是进程到掺杂就报错了。
mesh space.mult=1
x.mesh loc=0.000spac=0.100
x.mesh loc=0.500spac=0.400
x.mesh loc=1.000spac=0.100
x.mesh loc=1.500spac=0.400
x.mesh loc=2.000spac=0.100
x.mesh loc=2.500spac=0.200
x.mesh loc=3.000spac=0.100
x.mesh loc=3.500spac=0.200
x.mesh loc=4.000spac=0.100
x.mesh loc=4.500spac=0.400
x.mesh loc=5.000spac=0.100
y.mesh loc=-0.500 spac=0.05
y.mesh loc=-0.400 spac=0.05
y.mesh loc=-0.300 spac=0.05
y.mesh loc=-0.100 spac=0.05
y.mesh loc=0.000spac=0.001
y.mesh loc=0.500spac=0.050
y.mesh loc=1.500spac=0.050
y.mesh loc=3.000spac=0.050
y.mesh loc=4.000spac=0.050
y.mesh loc=5.000spac=0.050
region num=1 x.min=0x.max=5y.min=0y.max=5material=silicon
region num=2 x.min=0x.max=5y.min=-0.2y.max=0material=oxide
region num=3 x.min=1.5x.max=3.5y.min=-0.2y.max=-0.1material=poly
#nwell
region num=4 x.min=0.5x.max=4.5y.min=0y.max=2material=silicon
#n+
region num=5 x.min=1x.max=1.5y.min=0y.max=0.5material=silicon
region num=5 x.min=3.5x.max=4y.min=0y.max=0.5material=silicon
region num=6 x.min=1.5x.max=3.5y.min=-0.2y.max=-0.1material=Aluminum
region num=6 x.min=1x.max=1.5y.min=-0.25y.max=-0.2material=Aluminum
region num=6 x.min=3.5x.max=4y.min=-0.25y.max=-0.2material=Aluminum
elec name=gate x.min=1.5x.max=3.5y.min=-0.2y.max=-0.1
elec name=drAIn x.min=1x.max=1.5y.min=-0.25y.max=-0.2
elec name=source x.min=3.5x.max=4y.min=-0.25y.max=-0.2
#psub
dopinguniform conc=4e12 p.type region=1
#nwell
doping gauss conc=5e13 n.type region=4 ascii infile=concdata
doping gauss conc=5e16 n.type region=5 ascii infile=concdata
#doping gauss conc=5e13 n.type region=4 peak=0.5 char=0.5 junction=2.5
#doping gauss conc=5e16 n.type region=5 peak=0.1 char=0.1 junc=0.5
material material=Sitaun0=1.0e-7 taup0=1.0e-7
material material=Polytaun0=1.0e-7 taup0=1.0e-7
material region=1 tc.a=2.27 tc.b=0 tc.c=0
material region=3 tc.a=7.9tc.b=0 tc.c=0
save outf=JFET3.str
tonyplot JFET3.str
进行到dopingpsub就报错停止了。
求解
可能是网格和区域没有完全重合,你再画个图检查一下
我检查了一下,我发现主要原因是定义poly结构的时候有问题,我把region poly的部分注释掉就没事了。不知道poly这块有啥问题
你的网格顶端到y=-0.5,但是区域只到y=-0.25,这样肯定出错
这么说网格顶太高了?应该和区域是一样的?
go atlas
mesh space.mult=1
x.mesh loc=0.000spac=0.100
x.mesh loc=0.200spac=0.060
x.mesh loc=0.400spac=0.060
x.mesh loc=0.600spac=0.060
x.mesh loc=0.800spac=0.060
x.mesh loc=1.000spac=0.100
y.mesh loc=-0.500 spac=0.05
y.mesh loc=-0.400 spac=0.05
y.mesh loc=-0.300 spac=0.05
y.mesh loc=-0.200 spac=0.05
y.mesh loc=-0.100 spac=0.05
y.mesh loc=0.000spac=0.05
y.mesh loc=0.500spac=0.05
y.mesh loc=1.500spac=0.10
y.mesh loc=2spac=0.05
y.mesh loc=3.000spac=0.20
y.mesh loc=4.000spac=0.20
y.mesh loc=5.000spac=0.20
#psub
region num=1 siliconx.min=0 x.max=1 y.min=0 y.max=5
region num=2 oxide x.min=0x.max=1y.min=-0.2y.max=0
#region num=3 oxide x.min=0 x.max=1.5 y.min=4.8 y.max=5
#region num=4 oxide x.min=3.5 x.max=5y.min=4.8 y.max=5
region num=5 polyx.min=0.35 x.max=0.55 y.min=-0.3 y.max=-0.2
#nwell
region num=6 silicon x.min=0.05x.max=0.95y.min=0y.max=2.5
#n+
region num=7 silicon x.min=0.15x.max=0.25y.min=0y.max=0.8
region num=8 silicon x.min=0.6x.max=0.8y.min=0y.max=0.8
#gate
region num=9 Al x.min=0.35x.max=0.55y.min=-0.5y.max=-0.35
#D/S
region num=10 Al x.min=0.15x.max=0.25y.min=-0.3y.max=-0.2
region num=11 Al x.min=0.6x.max=0.8y.min=-0.3y.max=-0.2
#sub
region num=12 Al x.min=1.5x.max=3.5 y.min=4.8y.max=5
elec name=gate x.min=0.35x.max=0.55y.min=-0.5y.max=-0.35
elec name=drain x.min=0.15x.max=0.25y.min=-0.3y.max=-0.2
elec name=source x.min=0.6x.max=0.8y.min=-0.3y.max=-0.2
elec name=subx.min=1.5x.max=3.5y.min=4.8y.max=5
#psub
dopinguniform conc=4e12 p.type region=1
#nwell erfc[(junc-peak)/char]=0.1 so (junc-peak)/char=1.15 and you can count the char
doping gauss conc=5e13 n.type peak=0.5 char=1.3 junc=2 region=6
#n+
doping gauss conc=5e13 n.type peak=0.25 char=0.22 junc=0.5 region=7
doping gauss conc=5e13 n.type peak=0.25 char=0.22 junc=0.5 region=8
material material=Sitaun0=1.0e-7 taup0=1.0e-7
material material=Polytaun0=1.0e-7 taup0=1.0e-7
material region=1 tc.a=2.27 tc.b=0 tc.c=0
material region=3 tc.a=7.9tc.b=0 tc.c=0
save outf=JFET3.str
tonyplot JFET3.str
你再看看这个呢,我做一些更改,还是不行。区域有到顶端了,
改过的版本里还是有网格区没定义区域。一个最简单的验证方法就是把氧化层向上延伸
region num=2 oxide x.min=0x.max=1y.min=-0.5y.max=0
哇塞,果然不报错了,但是出来的图形凌乱了,哈哈,我看看咋回事。
还有个问题,请教一下,就是在运行的时候,在金属区域时会报这个错误,你看是怎么回事呢?是不是也和网格有关系。
ATLAS> region num=10 aluminum x.min=0.6 x.max=0.8 y.min=-0.3 y.max=-0.2
** ERROR #3 **
* Invalid parameter specification *
==> aluminum
ATLAS> #sub
ATLAS> region num=11 aluminum x.min=0.35 x.max=0.55 y.min=4.8 y.max=5
** ERROR #3 **
* Invalid parameter specification *
==> aluminum
非常感谢小编分享
你要这样定义铝区域
region num=10 material=aluminum x.min=0.6 x.max=0.8 y.min=-0.3 y.max=-0.2