silvaco模拟LDMOS程序修改
时间:10-02
整理:3721RD
点击:
懂得加我QQ1479496415,必有重谢 下面是程序:
go athena
#
line x loc=0.00 spac=0.5
line x loc=5.00 spac=0.5
line x loc=20.00 spac=0.5
line x loc=52.00 spac=0.5
#
line y loc=4.00 spac=0.01
line y loc=5.00 spac=0.01
#p-type substrate
init c.boron=2e10 orientation=100 space.mult=2
deposit oxide thickness=4
epitaxy time=20 temp=850 thickness=1 divisions=15\
dy=0.10 ydy=0.00 phosphourus conc=9e15
#p-body
deposit nitride thickness=1
etch nitride p1.x=11 left
implant boron does=9e12 energy=50
diffus time=8 temp=1150 hcl=3
etch nitride all
deposit nitride thickness=2
etch nitride start x=11 y=-2
etch continue x=11 y=-1
etch continue x=49 y=-1
etch done x=49 y=-2
implant phosphorus does=2e14 energy=50
diffus time=15 temp=800
etch nitride all
#Source & Drain
deposit nitride thickness=3
etch nitride p1.x=5 left
etch nitride p1.x=47 right
implant arsenic does=3e15 energy
diffus time=30 temp=1150 hcl=3
etch nitride all
#gate oxide
deposit oxide thickness=0.05
etch oxide p1.x=5 left
etch oxide p1.x=50 right
deposit nitride thickness=0.35
etch nitride star x=13 y=-1.5
etch continue x=13 y=-1
etch continue x=47 y=-1
etch done x=47 y=-1.5
diffus time=73 temp=1000 weto2 press=1.3 hcl=3
etch nitride all
#gate metal
deposit polysilicon thickness=0.475
etch polysilicon p1.x=5 left
etch polysilicon p1.x=20 right
deposit oxide thickness=0.5
etch oxide p1.x=4.5 left
etch oxide p1.x=50 right
#Source and Drain metal
deposit ALUMINUM thickness=1
etch aluminum star x=7 y=-3
etch continue x=7 y=-1.7
etch continue x=40 y=-1.7
etch done x=40 y=-3
#name
electrode name=source x=2 y=-1.5
electrode name=drain x=45 y=-2
electrode name=gate x=10 y=-1.2
go atlas
# set material models
models cvt srh print
contact name=gate n.poly
interface qf=2e8
method gummel newton
solve init
#Bias the drain
solve vdrain=1
#Ramp the gate
log outf=mos1ex01_1.log master
solve vgate=0 vstep=0.1 vfinal=5 name=gate
save outf=mos1ex01_1.str
#plot results
tonyplot mos1ex01_1.log
#extract device parameters
extract name="nvt"(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
-abs(ave(v."drain"))/2.0)
extract name="nbeta" slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
*(1.0/abs(ave(v."drain")))
extract name="ntheta"((max(abs(v."drain"))*$"nbeta")/max(abs(i."drain")))\
-(1.0/(max(abs(v."gate"))-($"nvt")))
go atlas
#define the Gate workfunction
contact name=gate n.poly
#Define the Gate Qss
interface qf=4e11
#Use the cvt mobility model for MOS
model cvt srh print numcarr=2
#set gate biases with Vds=0.0
solve init
solve vgate=0 outf=solve_tmp0
solve vgate=3 outf=solve_tmp1
solve vgate=4 outf=solve_tmp2
solve vgate=5 outf=solve_tmp3
#load in temporary files and ramp Vds
load infile=solve_tmp0
log outf=vgate=0.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp1
log outf=vgate=3.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp2
log outf=vgate=4.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp3
log outf=vgate=5.log
solve name=drain vdrain=0 vfinal=15 vstep=1
#extract max current and saturation slope
extract name="nidsmax"max(i."drain")
extract name="sat_slope"slope(minslope(curve(v."drain",i."drain")))
tonyplot-overlay-st vgate=0.log vgate=3.log vgate=4.log vgate=5.log
go atlas
models cvt srh print
impact selb
contact name=gate n.poly
interface qf=3e9
#
solve init
method newton trap maxtraps=10 climit=1e-3 ir.tol=1e-30 ix.tol=1e-30
solve init
solve vgate=2.5 outf=solve_tmp1
solve vsource=0 outf=solve_tmp1
#
load infile=solve_tmp1
log outf=powerex100.log
solve vstep=10 vfinal=360 name=drain compl=3e-5 cname=drain
outf=powerex100_1.str master onefile
extract name="bv"max(v."drain")
#extract device paramenters
extract name="nvt"(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
-abs(ave(v."drain"))/2.0)
extract name="nbeta"slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
*(1.0/abs(ave(v."drain")))
extract name="ntheta"((max(abs(v."drain"))*$"nbeta")/max(abs(i."drain")))\
-(1.0/(max(abs(v."gate"))-($"nvt")))
tonyplot powerex 100.log
quit
下面是仿真图
很急啊
go athena
#
line x loc=0.00 spac=0.5
line x loc=5.00 spac=0.5
line x loc=20.00 spac=0.5
line x loc=52.00 spac=0.5
#
line y loc=4.00 spac=0.01
line y loc=5.00 spac=0.01
#p-type substrate
init c.boron=2e10 orientation=100 space.mult=2
deposit oxide thickness=4
epitaxy time=20 temp=850 thickness=1 divisions=15\
dy=0.10 ydy=0.00 phosphourus conc=9e15
#p-body
deposit nitride thickness=1
etch nitride p1.x=11 left
implant boron does=9e12 energy=50
diffus time=8 temp=1150 hcl=3
etch nitride all
deposit nitride thickness=2
etch nitride start x=11 y=-2
etch continue x=11 y=-1
etch continue x=49 y=-1
etch done x=49 y=-2
implant phosphorus does=2e14 energy=50
diffus time=15 temp=800
etch nitride all
#Source & Drain
deposit nitride thickness=3
etch nitride p1.x=5 left
etch nitride p1.x=47 right
implant arsenic does=3e15 energy
diffus time=30 temp=1150 hcl=3
etch nitride all
#gate oxide
deposit oxide thickness=0.05
etch oxide p1.x=5 left
etch oxide p1.x=50 right
deposit nitride thickness=0.35
etch nitride star x=13 y=-1.5
etch continue x=13 y=-1
etch continue x=47 y=-1
etch done x=47 y=-1.5
diffus time=73 temp=1000 weto2 press=1.3 hcl=3
etch nitride all
#gate metal
deposit polysilicon thickness=0.475
etch polysilicon p1.x=5 left
etch polysilicon p1.x=20 right
deposit oxide thickness=0.5
etch oxide p1.x=4.5 left
etch oxide p1.x=50 right
#Source and Drain metal
deposit ALUMINUM thickness=1
etch aluminum star x=7 y=-3
etch continue x=7 y=-1.7
etch continue x=40 y=-1.7
etch done x=40 y=-3
#name
electrode name=source x=2 y=-1.5
electrode name=drain x=45 y=-2
electrode name=gate x=10 y=-1.2
go atlas
# set material models
models cvt srh print
contact name=gate n.poly
interface qf=2e8
method gummel newton
solve init
#Bias the drain
solve vdrain=1
#Ramp the gate
log outf=mos1ex01_1.log master
solve vgate=0 vstep=0.1 vfinal=5 name=gate
save outf=mos1ex01_1.str
#plot results
tonyplot mos1ex01_1.log
#extract device parameters
extract name="nvt"(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
-abs(ave(v."drain"))/2.0)
extract name="nbeta" slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
*(1.0/abs(ave(v."drain")))
extract name="ntheta"((max(abs(v."drain"))*$"nbeta")/max(abs(i."drain")))\
-(1.0/(max(abs(v."gate"))-($"nvt")))
go atlas
#define the Gate workfunction
contact name=gate n.poly
#Define the Gate Qss
interface qf=4e11
#Use the cvt mobility model for MOS
model cvt srh print numcarr=2
#set gate biases with Vds=0.0
solve init
solve vgate=0 outf=solve_tmp0
solve vgate=3 outf=solve_tmp1
solve vgate=4 outf=solve_tmp2
solve vgate=5 outf=solve_tmp3
#load in temporary files and ramp Vds
load infile=solve_tmp0
log outf=vgate=0.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp1
log outf=vgate=3.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp2
log outf=vgate=4.log
solve name=drain vdrain=0 vfinal=15 vstep=1
load infile=solve_tmp3
log outf=vgate=5.log
solve name=drain vdrain=0 vfinal=15 vstep=1
#extract max current and saturation slope
extract name="nidsmax"max(i."drain")
extract name="sat_slope"slope(minslope(curve(v."drain",i."drain")))
tonyplot-overlay-st vgate=0.log vgate=3.log vgate=4.log vgate=5.log
go atlas
models cvt srh print
impact selb
contact name=gate n.poly
interface qf=3e9
#
solve init
method newton trap maxtraps=10 climit=1e-3 ir.tol=1e-30 ix.tol=1e-30
solve init
solve vgate=2.5 outf=solve_tmp1
solve vsource=0 outf=solve_tmp1
#
load infile=solve_tmp1
log outf=powerex100.log
solve vstep=10 vfinal=360 name=drain compl=3e-5 cname=drain
outf=powerex100_1.str master onefile
extract name="bv"max(v."drain")
#extract device paramenters
extract name="nvt"(xintercept(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
-abs(ave(v."drain"))/2.0)
extract name="nbeta"slope(maxslope(curve(abs(v."gate"),abs(i."drain"))))\
*(1.0/abs(ave(v."drain")))
extract name="ntheta"((max(abs(v."drain"))*$"nbeta")/max(abs(i."drain")))\
-(1.0/(max(abs(v."gate"))-($"nvt")))
tonyplot powerex 100.log
quit
下面是仿真图
很急啊