silvaco中如何用atlas实现三维仿真
# (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
solvev1=0.1v3=0.1 local
solvev1=0.5v3=0.5
solvev1=1.0v3=1.0
solvev1=3.0v3=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-9tstep=10.e-12
solve
v4= 0.0 ramptime=400e-12tfinal=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
# (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
solvev1=0.1v3=0.1 local
solvev1=0.5v3=0.5
solvev1=1.0v3=1.0
solvev1=3.0v3=3.0
method dt.min=10.e-12
log outf=latchex04.log
solvev4=-2.0 ramptime=500.e-12 tfinal=500.e-12 tstep=10.e-12
solvev4=-2.0 tfinal=4.5e-9tstep=10.e-12
solvev4= 0.0 ramptime=400e-12tfinal=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
谢谢小编分享
多谢帮忙,学到了很多,非常感谢。
能再请教下当我晶体管的栅极和漏极要接在一起,并且让它们浮空该如何设置吗?(gate-body tied mosfet)<我用的是浮栅晶体管,所以还存在浮栅定义的问题>。
go atlas
mesh infile=edit_vps.str
# set material models
models cvt srh optrprint
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
tonyplotedit_vps_Itest_6.log
tonyplot3D b6_test.str
quit
仿真停留在solve vdrain=0.5上,不能收敛!请不吝赐教,谢谢。
# (c) Silvaco Inc., 2013
go athena
#TITLE: EEPROM cell formation example
#
line x loc=0.0spac=0.1
line x loc=0.6spac=0.025
line x loc=0.9spac=0.05
line x loc=1.5spac=0.2
#
line y loc=0.00 spac=0.01
line y loc=0.3spac=0.03
line y loc=2.0spac=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 polyright p1.x=.6
#
etch oxideright p1.x=.6
#
etch nitride right p1.x=.6
#
etch oxideright p1.x=.6
#
etch polyright p1.x=.6
#
etch oxideright 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 leftp1.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
tonyploteprmex01_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
tonyploteprmex01_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=8carriers=2
solve prev
logoutf=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
tonyploteprmex01_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 -overlayeprmex01_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
modelscvt srhfnord 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
solveq1=-1e-16
solveq1=-5e-16
solveq1=-1e-15
solveq1=-2e-15
solveq1=-3.5e-15
solveq1=-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
logoutf=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
浮栅同普通栅一样定义,请问你搞不搞隧穿场效应晶体管
# (c) Silvaco Inc., 2013
go athena
#TITLE: EEPROM cell formation example
#
line x loc=0.0spac=0.1
line x loc=0.6spac=0.025
line x loc=0.9spac=0.05
line x loc=1.5spac=0.2
#
line y loc=0.00 spac=0.01
line y loc=0.3spac=0.03
line y loc=2.0spac=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 polyright p1.x=.6
#
etch oxideright p1.x=.6
#
etch nitride right p1.x=.6
#
etch oxideright p1.x=.6
#
etch polyright p1.x=.6
#
etch oxideright 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 leftp1.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
tonyploteprmex01_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
tonyploteprmex01_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=8carriers=2
solve prev
logoutf=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
tonyploteprmex01_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 -overlayeprmex01_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
modelscvt srhfnord 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
solveq1=-1e-16
solveq1=-5e-16
solveq1=-1e-15
solveq1=-2e-15
solveq1=-3.5e-15
solveq1=-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
logoutf=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
多谢回复,但是我的情况和示例中有所不同。
浮栅的定义并没有问题,主要是我的控制栅是要和衬底接在一起的,但是一旦接在一起就出现不收敛的问题。
我并不做TFET,目前在研究浮栅晶体管的GBT应用。
谢谢您的慷慨解答。
大赞!请问层主现在还用silvaco吗?能不能加微信或扣扣交流交流