在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7263|回复: 14

silvaco中如何用atlas实现三维仿真

[复制链接]
发表于 2017-8-27 16:48:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请问在silvaco中怎么用atlas进行三维器件的仿真?  能否举例说明?   求教!!!
发表于 2017-9-1 08:43:31 | 显示全部楼层
回复 1# lkkl54


   # (c) Silvaco Inc., 2013go devedit


DevEdit version="2.1" library="1.15"


work.area left=0 top=-0.1 right=10 bottom=6.1


#  DevEdit V2.1 L1.15


region reg=1 mat=Silicon color=0xffc000 pattern=0x3 Z1=0 Z2=7 \

points="1,0 2,0 8,0 9,0 9,6 1,6 1,0"
#
impurity id=1 region.id=1 imp=Boron color=0x906000 \

x1=0 x2=0 y1=0 y2=0 \

peak.value=5e+15 ref.value=0 z1=0 z2=0 comb.func=Multiply \

rolloff.y=both conc.func.y=Constant \

rolloff.x=both conc.func.x=Constant \

rolloff.z=both conc.func.z=Constant


region reg=2 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=1 Z2=2 \

points="1,-0.1 2,-0.1 2,0 1,0 1,-0.1" elec.id=1


region reg=3 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=1 Z2=2 \

points="8,-0.1 9,-0.1 9,0 8,0 8,-0.1" elec.id=2


region reg=4 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=5 Z2=6 \

points="1,-0.1 2,-0.1 2,0 1,0 1,-0.1" elec.id=3


region reg=5 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=5 Z2=6 \

points="8,-0.1 9,-0.1 9,0 8,0 8,-0.1" elec.id=4


region reg=6 mat=Aluminum color=0xffc8c8 pattern=0x6 Z1=0 Z2=7 \

points="1,6 9,6 9,6.1 1,6.1 1,6" elec.id=5




impurity id=1 imp=Boron color=0x906000 \

x1=1 x2=2 y1=0 y2=0 \

peak.value=1e+20 ref.value=0 z1=1 z2=2 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=2 imp=Arsenic color=0x906000 \

x1=8 x2=9 y1=0 y2=0 \

peak.value=1e+20 ref.value=0 z1=1 z2=2 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=3 imp=Arsenic color=0x906000 \

x1=1 x2=2 y1=0 y2=0 \

peak.value=1e+20 ref.value=0 z1=5 z2=6 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=4 imp=Arsenic color=0x906000 \

x1=8 x2=9 y1=0 y2=0 \

peak.value=1e+20 ref.value=0 z1=5 z2=6 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=5 imp=Arsenic color=0x906000 \

x1=1 x2=4 y1=0 y2=0 \

peak.value=1e+16 ref.value=0 z1=0 z2=7 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=2.7 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=1 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=1
impurity id=6 imp=Arsenic color=0x906000 \

x1=1 x2=4 y1=0 y2=0 \

peak.value=1e+17 ref.value=0 z1=0 z2=7 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.2 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.2
impurity id=7 imp=Boron color=0x906000 \

x1=6 x2=9 y1=0 y2=0 \

peak.value=1e+17 ref.value=0 z1=0 z2=7 comb.func=Multiply \

rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \

rolloff.x=both conc.func.x=Gaussian conc.param.x=0.2 \

rolloff.z=both conc.func.z=Gaussian conc.param.z=0.2


# Set Meshing Parameters
#
base.mesh height=1 width=1
#
bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.points when=automatic
#
imp.refine imp="Total Doping" sensitivity=0.5
imp.refine min.spacing=0.01 z=1
#
constr.mesh max.angle=90 max.ratio=300 max.height=1 \

max.width=1 min.height=0.0001 min.width=0.0001
#
# Perform mesh operations
#
Mesh Mode=MeshBuild
refine mode=x x1=4.9 y1=0.006 x2=5.52 y2=3.49
refine mode=y x1=1.07 y1=3.096 x2=3.97 y2=3.452
refine mode=y x1=1.07 y1=2.549 x2=3.98 y2=3.26
refine mode=x x1=5.04 y1=0.611 x2=5.19 y2=2.693
refine mode=both x1=4.4 y1=2.022 x2=5.07 y2=2.905
refine mode=x x1=8.38 y1=0.102 x2=8.57 y2=2.703
refine mode=x x1=1.41 y1=0.064 x2=1.54 y2=2.885
refine mode=y x1=1.09 y1=2.789 x2=4.01 y2=2.789


imp.refine imp="Total Doping" sensitivity=0.5
imp.refine min.spacing=0.01 z=1


constr.mesh max.angle=90 max.ratio=300 max.height=1 \

max.width=1 min.height=0.0001 min.width=0.0001


z.plane z=0 spacing=0.5
#
z.plane z=2 spacing=0.25
#
z.plane z=5 spacing=0.25
#
z.plane z=7 spacing=0.5
#
z.plane max.spacing=1000000 max.ratio=1.5


base.mesh height=1 width=1


bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.Points when=automatic


structure outf=latchex04_0.str


go atlas




# name the electrodes
electrode num=1 name=el1
electrode num=2 name=el2
electrode num=3 name=el3
electrode num=4 name=el4
electrode num=5 name=el5
#
models bgn srh auger conmob fldmob


#
solve init


method gummel newton carriers=2
solve   v1=0.1  v3=0.1 local
solve   v1=0.5  v3=0.5
solve   v1=1.0  v3=1.0
solve   v1=3.0  v3=3.0  


method dt.min=10.e-12
log outf=latchex04.log


solve
v4=-2.0 ramptime=500.e-12 tfinal=500.e-12 tstep=10.e-12
solve
v4=-2.0 tfinal=4.5e-9    tstep=10.e-12
solve
v4= 0.0 ramptime=400e-12  tfinal=6.e-9 tstep=10.e-12 outf=latchex04_1.str onefile
tonyplot latchex04.log -set latchex04_log.set
tonyplot3d latchex04_0.str -set latchex04_0.set
tonyplot3d latchex04_1.str -set latchex04_1.set


quit
发表于 2017-9-1 08:44:35 | 显示全部楼层
# (c) Silvaco Inc., 2013
go devedit

DevEdit version="2.1" library="1.15"

work.area left=0 top=-0.1 right=10 bottom=6.1

#  DevEdit V2.1 L1.15

region reg=1 mat=Silicon color=0xffc000 pattern=0x3 Z1=0 Z2=7 \
        points="1,0 2,0 8,0 9,0 9,6 1,6 1,0"
#
impurity id=1 region.id=1 imp=Boron color=0x906000 \
        x1=0 x2=0 y1=0 y2=0 \
        peak.value=5e+15 ref.value=0 z1=0 z2=0 comb.func=Multiply \
        rolloff.y=both conc.func.y=Constant \
        rolloff.x=both conc.func.x=Constant \
        rolloff.z=both conc.func.z=Constant

region reg=2 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=1 Z2=2 \
        points="1,-0.1 2,-0.1 2,0 1,0 1,-0.1" elec.id=1

region reg=3 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=1 Z2=2 \
        points="8,-0.1 9,-0.1 9,0 8,0 8,-0.1" elec.id=2

region reg=4 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=5 Z2=6 \
        points="1,-0.1 2,-0.1 2,0 1,0 1,-0.1" elec.id=3

region reg=5 mat=Aluminum color=0xffc0c0 pattern=0x6 Z1=5 Z2=6 \
        points="8,-0.1 9,-0.1 9,0 8,0 8,-0.1" elec.id=4

region reg=6 mat=Aluminum color=0xffc8c8 pattern=0x6 Z1=0 Z2=7 \
        points="1,6 9,6 9,6.1 1,6.1 1,6" elec.id=5


impurity id=1 imp=Boron color=0x906000 \
        x1=1 x2=2 y1=0 y2=0 \
        peak.value=1e+20 ref.value=0 z1=1 z2=2 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=2 imp=Arsenic color=0x906000 \
        x1=8 x2=9 y1=0 y2=0 \
        peak.value=1e+20 ref.value=0 z1=1 z2=2 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=3 imp=Arsenic color=0x906000 \
        x1=1 x2=2 y1=0 y2=0 \
        peak.value=1e+20 ref.value=0 z1=5 z2=6 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=4 imp=Arsenic color=0x906000 \
        x1=8 x2=9 y1=0 y2=0 \
        peak.value=1e+20 ref.value=0 z1=5 z2=6 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.05 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.05
impurity id=5 imp=Arsenic color=0x906000 \
        x1=1 x2=4 y1=0 y2=0 \
        peak.value=1e+16 ref.value=0 z1=0 z2=7 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=2.7 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=1 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=1
impurity id=6 imp=Arsenic color=0x906000 \
        x1=1 x2=4 y1=0 y2=0 \
        peak.value=1e+17 ref.value=0 z1=0 z2=7 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.2 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.2
impurity id=7 imp=Boron color=0x906000 \
        x1=6 x2=9 y1=0 y2=0 \
        peak.value=1e+17 ref.value=0 z1=0 z2=7 comb.func=Multiply \
        rolloff.y=both conc.func.y=Gaussian conc.param.y=0.05 \
        rolloff.x=both conc.func.x=Gaussian conc.param.x=0.2 \
        rolloff.z=both conc.func.z=Gaussian conc.param.z=0.2

# Set Meshing Parameters
#
base.mesh height=1 width=1
#
bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.points when=automatic
#
imp.refine imp="Total Doping" sensitivity=0.5
imp.refine min.spacing=0.01 z=1
#
constr.mesh max.angle=90 max.ratio=300 max.height=1 \
        max.width=1 min.height=0.0001 min.width=0.0001
#
# Perform mesh operations
#
Mesh Mode=MeshBuild
refine mode=x x1=4.9 y1=0.006 x2=5.52 y2=3.49
refine mode=y x1=1.07 y1=3.096 x2=3.97 y2=3.452
refine mode=y x1=1.07 y1=2.549 x2=3.98 y2=3.26
refine mode=x x1=5.04 y1=0.611 x2=5.19 y2=2.693
refine mode=both x1=4.4 y1=2.022 x2=5.07 y2=2.905
refine mode=x x1=8.38 y1=0.102 x2=8.57 y2=2.703
refine mode=x x1=1.41 y1=0.064 x2=1.54 y2=2.885
refine mode=y x1=1.09 y1=2.789 x2=4.01 y2=2.789

imp.refine imp="Total Doping" sensitivity=0.5
imp.refine min.spacing=0.01 z=1

constr.mesh max.angle=90 max.ratio=300 max.height=1 \
        max.width=1 min.height=0.0001 min.width=0.0001

z.plane z=0 spacing=0.5
#
z.plane z=2 spacing=0.25
#
z.plane z=5 spacing=0.25
#
z.plane z=7 spacing=0.5
#
z.plane max.spacing=1000000 max.ratio=1.5

base.mesh height=1 width=1

bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=0.001 line.straightening=1 align.Points when=automatic

structure outf=latchex04_0.str

go atlas


# name the electrodes
electrode num=1 name=el1
electrode num=2 name=el2
electrode num=3 name=el3
electrode num=4 name=el4
electrode num=5 name=el5
#
models bgn srh auger conmob fldmob

#
solve init

method gummel newton carriers=2
solve   v1=0.1  v3=0.1 local
solve   v1=0.5  v3=0.5
solve   v1=1.0  v3=1.0
solve   v1=3.0  v3=3.0  

method dt.min=10.e-12
log outf=latchex04.log

solve        v4=-2.0 ramptime=500.e-12 tfinal=500.e-12 tstep=10.e-12
solve        v4=-2.0 tfinal=4.5e-9    tstep=10.e-12
solve        v4= 0.0 ramptime=400e-12  tfinal=6.e-9 tstep=10.e-12 outf=latchex04_1.str onefile
tonyplot latchex04.log -set latchex04_log.set
tonyplot3d latchex04_0.str -set latchex04_0.set
tonyplot3d latchex04_1.str -set latchex04_1.set

quit
发表于 2017-9-1 10:01:58 | 显示全部楼层
谢谢楼主分享
 楼主| 发表于 2017-9-4 22:31:29 | 显示全部楼层
回复 2# czym520


   多谢帮忙,学到了很多,非常感谢。  
能再请教下当我晶体管的栅极和漏极要接在一起,并且让它们浮空该如何设置吗?(gate-body tied mosfet)<我用的是浮栅晶体管,所以还存在浮栅定义的问题>。


go atlas
mesh infile=edit_vps.str

# set material models
models cvt srh optr  print

contact name=gate current

method newton gummel trap maxtrap=20

beam num=1 x.origin=1.35 y.origin=-2 z.origin=0.6 angle=90.0 wavelength=0.5

solve init
solve vdrain=0.5

save outfile=b6_test.str

log outf=edit_vps_Itest_6.log master

solve b1=0.5 ramptime=1e-8 tstep=1e-9 tstop=5e-5

tonyplot  edit_vps_Itest_6.log  
tonyplot3D b6_test.str
quit


仿真停留在solve vdrain=0.5上,不能收敛!  请不吝赐教,谢谢。
发表于 2017-9-5 21:27:30 | 显示全部楼层
# (c) Silvaco Inc., 2013
go athena
#TITLE: EEPROM cell formation example
#

line x loc=0.0  spac=0.1
line x loc=0.6  spac=0.025
line x loc=0.9  spac=0.05
line x loc=1.5  spac=0.2
#
line y loc=0.00 spac=0.01
line y loc=0.3  spac=0.03
line y loc=2.0  spac=0.25

#
init c.boron=3e16 orientation=100 space.mult=1

#
method compress fermi
diffuse time=10 temp=950 dryo2
#
extract name="tunnelox" thickness oxide mat.occno=1 x.val=0
#
implant boron dose=1e12 energy=25
#
deposit poly thick=.25 div=4
#
implant phos dose=6e14 energy=30
#
diffuse time=5 temp=950 dryo2
#
deposit nitride thick=0.02 div=1
#
deposit oxide thick=0.01 div=1
#
deposit poly thick=.25 div=4 c.phos=8e19
#
etch poly    right p1.x=.6
#
etch oxide   right p1.x=.6
#
etch nitride right p1.x=.6
#
etch oxide   right p1.x=.6
#
etch poly    right p1.x=.6
#
etch oxide   right p1.x=.6
#
relax y.min=.3 dir.y=f
#
implant arsenic dose=1e15 energy=40
#
diff time=50 temp=950
deposit oxide thick=.03 div=2



#
structure mirror left
#
etch oxide left  p1.x=-0.8
etch oxide right p1.x=0.8

deposit alum thick=0.05 div=1
#
etch alum start x=0.9 y=-10.
etch alum cont x=0.9 y=10.
etch alum cont x=-.9 y=10.
etch alum done x=-.9 y=-10.
#
# define electrode names
electrode name=fgate x=0 y=-0.1
electrode name=cgate x=0 y=-0.4
electrode name=source x=-1.5
electrode name=drain x=1.5
electrode name=substrate backside
# save the structure
structure outfile=eprmex01_0.str


# Switch to Devedit for remeshing...
go devedit


# Set Meshing Parameters
#
base.mesh height=0.4 width=0.4
#
# Make sure impurity gradiants have enough detail. (i.e. no triangle
# spans more than 1 (sensitivity=1) power of 10)
imp.refine imp="NetDoping" sensitivity=1
imp.refine min.spacing=0.02
#
# Make sure channel has enough triangles.
constr.mesh depth=0.25 under.material="PolySilicon" max.height=0.05 \
            max.width=0.05
constr.mesh depth=0.05 under.material="PolySilicon" max.height=0.015
#
# Make sure contacts have enough connection points.
constr.mesh depth=0.05 under.material="Aluminum" max.width=0.1

# Create a mesh, using the parameters set above.
mesh mode=meshbuild

# save structure
struct outfile=eprmex01_1.str
tonyplot  eprmex01_1.str -set eprmex01_1.set


# switch to Atlas for the Device Tests....

go atlas

# Set workfunction for the poly gates,

contact name=fgate n.polysilicon floating
contact name=cgate n.polysilicon

#Define some Qss...
interface qf=3e10
models srh cvt hei fnord print nearflg
impact selb

######### This is the Vt Test before programming #############
##############################################################
solve init


method newton trap maxtraps=8 autonr

log outf=eprmex01_2.log
solve vdrain=0.5
solve vstep=0.5 vfinal=25 name=cgate comp=5.5e-5 cname=drain
# plot idvg

tonyplot  eprmex01_2.log -s eprmex01_2.set
# extract vt
extract name="initial vt" ((xintercept(maxslope(curve(v."cgate",i."drain"))))-abs(ave(v."drain"))/2.0)

######### This is the Programming/Writing Transient ###########
###############################################################

# use zero carriers to get vg=12v solution
models srh cvt hei fnord print nearflg
method carriers=0
log off
solve init
solve vcgate=3
solve vcgate=6
solve vcgate=12
# now use 2 carriers

models srh cvt hei fnord print nearflg
impact selb

method newton trap maxtraps=8  carriers=2
solve prev

log   outf=eprmex01_3.log master
# ramp up drain voltage
solve vdrain=5.85 ramptime=1e-9 tstep=1e-10 tfinal=1e-9 proj
# keep voltages constant and perform transient programming
solve tstep=1e-9 tfinal=5.e-4
# plot programming curve
tonyplot  eprmex01_3.log -set eprmex01_3.set
# save the structure
save outf=eprmex01_2.str

######### This is the Vt Test After Programming ###########
###########################################################

method newton trap maxtraps=8 autonr

log outf=eprmex01_4.log master
solve init
solve vdrain=0.5
solve vstep=0.5 vfinal=25 name=cgate comp=5.5e-5 cname=drain
# plot new idvg overlaid on old one
tonyplot -overlay  eprmex01_2.log eprmex01_4.log -set eprmex01_4.set
# extract vt and vt shift
extract name="final vt" ((xintercept(maxslope(curve(v."cgate",i."drain"))))-abs(ave(v."drain"))/2.0)
extract name="vt shift" ($"final vt" - $"initial vt")

######## This is the Erasing Test ######################
########################################################

go atlas

# select erasing models
  
models  cvt srh  fnord bbt.std print nearflg \
         F.BE=1.4e8 F.BH=1.4e8
impact selb


contact name=fgate n.poly floating
contact name=cgate n.poly
interface qf=3e10

method carr=2
# get initial zero carrier solution
solve init

# ramp the floating gate charge

method newton trap maxtraps=8

solve prev  
solve   q1=-1e-16
solve   q1=-5e-16
solve   q1=-1e-15
solve   q1=-2e-15
solve   q1=-3.5e-15
solve   q1=-5e-15

# put a resistor on drain

contact name=drain resistance=1.e20

# do Erasing transient
method newton trap maxtraps=8 autonr c.tol=1.e-4 p.tol=1.e-4

log   outf=eprmex01_5.log master

solve vsource=12.5 tstep=1.e-14 tfinal=4.e-1

tonyplot eprmex01_5.log -set eprmex01_5.set
quit
发表于 2017-9-5 21:29:03 | 显示全部楼层
浮栅同普通栅一样定义,请问你搞不搞隧穿场效应晶体管
发表于 2017-9-5 21:30:05 | 显示全部楼层
# (c) Silvaco Inc., 2013
go athena
#TITLE: EEPROM cell formation example
#

line x loc=0.0  spac=0.1
line x loc=0.6  spac=0.025
line x loc=0.9  spac=0.05
line x loc=1.5  spac=0.2
#
line y loc=0.00 spac=0.01
line y loc=0.3  spac=0.03
line y loc=2.0  spac=0.25

#
init c.boron=3e16 orientation=100 space.mult=1

#
method compress fermi
diffuse time=10 temp=950 dryo2
#
extract name="tunnelox" thickness oxide mat.occno=1 x.val=0
#
implant boron dose=1e12 energy=25
#
deposit poly thick=.25 div=4
#
implant phos dose=6e14 energy=30
#
diffuse time=5 temp=950 dryo2
#
deposit nitride thick=0.02 div=1
#
deposit oxide thick=0.01 div=1
#
deposit poly thick=.25 div=4 c.phos=8e19
#
etch poly    right p1.x=.6
#
etch oxide   right p1.x=.6
#
etch nitride right p1.x=.6
#
etch oxide   right p1.x=.6
#
etch poly    right p1.x=.6
#
etch oxide   right p1.x=.6
#
relax y.min=.3 dir.y=f
#
implant arsenic dose=1e15 energy=40
#
diff time=50 temp=950
deposit oxide thick=.03 div=2



#
structure mirror left
#
etch oxide left  p1.x=-0.8
etch oxide right p1.x=0.8

deposit alum thick=0.05 div=1
#
etch alum start x=0.9 y=-10.
etch alum cont x=0.9 y=10.
etch alum cont x=-.9 y=10.
etch alum done x=-.9 y=-10.
#
# define electrode names
electrode name=fgate x=0 y=-0.1
electrode name=cgate x=0 y=-0.4
electrode name=source x=-1.5
electrode name=drain x=1.5
electrode name=substrate backside
# save the structure
structure outfile=eprmex01_0.str


# Switch to Devedit for remeshing...
go devedit


# Set Meshing Parameters
#
base.mesh height=0.4 width=0.4
#
# Make sure impurity gradiants have enough detail. (i.e. no triangle
# spans more than 1 (sensitivity=1) power of 10)
imp.refine imp="NetDoping" sensitivity=1
imp.refine min.spacing=0.02
#
# Make sure channel has enough triangles.
constr.mesh depth=0.25 under.material="PolySilicon" max.height=0.05 \
            max.width=0.05
constr.mesh depth=0.05 under.material="PolySilicon" max.height=0.015
#
# Make sure contacts have enough connection points.
constr.mesh depth=0.05 under.material="Aluminum" max.width=0.1

# Create a mesh, using the parameters set above.
mesh mode=meshbuild

# save structure
struct outfile=eprmex01_1.str
tonyplot  eprmex01_1.str -set eprmex01_1.set


# switch to Atlas for the Device Tests....

go atlas

# Set workfunction for the poly gates,

contact name=fgate n.polysilicon floating
contact name=cgate n.polysilicon

#Define some Qss...
interface qf=3e10
models srh cvt hei fnord print nearflg
impact selb

######### This is the Vt Test before programming #############
##############################################################
solve init


method newton trap maxtraps=8 autonr

log outf=eprmex01_2.log
solve vdrain=0.5
solve vstep=0.5 vfinal=25 name=cgate comp=5.5e-5 cname=drain
# plot idvg

tonyplot  eprmex01_2.log -s eprmex01_2.set
# extract vt
extract name="initial vt" ((xintercept(maxslope(curve(v."cgate",i."drain"))))-abs(ave(v."drain"))/2.0)

######### This is the Programming/Writing Transient ###########
###############################################################

# use zero carriers to get vg=12v solution
models srh cvt hei fnord print nearflg
method carriers=0
log off
solve init
solve vcgate=3
solve vcgate=6
solve vcgate=12
# now use 2 carriers

models srh cvt hei fnord print nearflg
impact selb

method newton trap maxtraps=8  carriers=2
solve prev

log   outf=eprmex01_3.log master
# ramp up drain voltage
solve vdrain=5.85 ramptime=1e-9 tstep=1e-10 tfinal=1e-9 proj
# keep voltages constant and perform transient programming
solve tstep=1e-9 tfinal=5.e-4
# plot programming curve
tonyplot  eprmex01_3.log -set eprmex01_3.set
# save the structure
save outf=eprmex01_2.str

######### This is the Vt Test After Programming ###########
###########################################################

method newton trap maxtraps=8 autonr

log outf=eprmex01_4.log master
solve init
solve vdrain=0.5
solve vstep=0.5 vfinal=25 name=cgate comp=5.5e-5 cname=drain
# plot new idvg overlaid on old one
tonyplot -overlay  eprmex01_2.log eprmex01_4.log -set eprmex01_4.set
# extract vt and vt shift
extract name="final vt" ((xintercept(maxslope(curve(v."cgate",i."drain"))))-abs(ave(v."drain"))/2.0)
extract name="vt shift" ($"final vt" - $"initial vt")

######## This is the Erasing Test ######################
########################################################

go atlas

# select erasing models
  
models  cvt srh  fnord bbt.std print nearflg \
         F.BE=1.4e8 F.BH=1.4e8
impact selb


contact name=fgate n.poly floating
contact name=cgate n.poly
interface qf=3e10

method carr=2
# get initial zero carrier solution
solve init

# ramp the floating gate charge

method newton trap maxtraps=8

solve prev  
solve   q1=-1e-16
solve   q1=-5e-16
solve   q1=-1e-15
solve   q1=-2e-15
solve   q1=-3.5e-15
solve   q1=-5e-15

# put a resistor on drain

contact name=drain resistance=1.e20

# do Erasing transient
method newton trap maxtraps=8 autonr c.tol=1.e-4 p.tol=1.e-4

log   outf=eprmex01_5.log master

solve vsource=12.5 tstep=1.e-14 tfinal=4.e-1

tonyplot eprmex01_5.log -set eprmex01_5.set
quit
 楼主| 发表于 2017-9-5 22:32:49 | 显示全部楼层
回复 7# czym520

    多谢回复,但是我的情况和示例中有所不同。

   浮栅的定义并没有问题,主要是我的控制栅是要和衬底接在一起的,但是一旦接在一起就出现不收敛的问题。
   我并不做TFET,目前在研究浮栅晶体管的GBT应用。  

   谢谢您的慷慨解答。
发表于 2018-3-20 11:31:51 | 显示全部楼层
回复 8# czym520


   大赞!!!请问层主现在还用silvaco吗?能不能加微信或扣扣交流交流
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 21:13 , Processed in 0.028900 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表