Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Silvaco Software Codes and script

Status
Not open for further replies.

Xannaxx

Newbie level 1
Newbie level 1
Joined
May 3, 2018
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
16
Hi all,

I am doing my project and trying the gate charge simulation of Trench power MOSFET (UMOSFET).

According to the examples in this software, I changed parameters to meet my requests but after I click the 'Run'

the program runs and runs and runs.... run forever

I have no idea what is going on and really hope you can help me out

I gonna really appreciate for any help

Here is my code profile
Code:
# (c) Silvaco Inc., 2015
go devedit

DevEdit version=2.4.2.R

work.area x1=0 y1=-0.5 x2=3 y2=17
# devedit 2.4.2.R (Wed Oct 29 20:04:11 PST 1997)
# libsflm 2.0.0.R (Thu May  1 18:03:38 PD1T 1997)
# libDW_Misc 1.20.0.R (Mon Apr 28 17:55:25 PDT 1997)
# libCardDeck 1.20.0.R (Tue Apr 29 15:01:54 PDT 1997)
# libGeometry 1.20.0.R (Mon Apr 28 18:17:55 PDT 1997)
# libDW_Set 1.20.0.R (Mon Apr 28 17:57:52 PDT 1997)cc c vc vc   
# libSVC_Misc 1.20.0.R (Mon Apr 28 18:20:53 PDT 1997)
# libSDB 1.0.6.C (Mon May  5 16:28:49 PDT 1997)
# libSSS 1.20.0.R (Mon May  5 16:29:45 PDT 1997)
# libMeshBuild 1.20.2.R (Wed Oct 15 20:34:28 PDT 1997)
# libDW_Make 1.1.3.R (Thu May  1 20:07:31 PDT 1997)
region reg=1 name=n+sub mat=Silicon color=0x7f00ff pattern=0x8 \
	polygon="2.5,3.7 2.5,4.7 0,4.7 0,3.7"
#
impurity id=1 region.id=1 imp=Arsenic \
	peak.value=1e+19 ref.value=1000000000000 comb.func=Multiply
#
constr.mesh region=1 default

region reg=2 name=n-drift mat=Silicon color=0x7f00ff pattern=0x8 \
	polygon="0,3.7 0,1.5 1.98,1.5 1.98,2.02 2.5,2.02 2.5,3.7"
#
impurity id=1 region.id=2 imp=Arsenic \
	peak.value=2.76e+17 ref.value=1000000000000 comb.func=Multiply
#
constr.mesh region=2 default

region reg=3 name=pbase mat=Silicon color=0x7f00ff pattern=0x8 \
	polygon="0,0 0.5,0 0.5,0.5 1.98,0.5 1.98,1.5 0,1.5"
#
impurity id=1 region.id=3 imp=Boron \
	peak.value=0.84e+17 ref.value=1000000000000 comb.func=Multiply
#
constr.mesh region=3 default max.height=0.25

region reg=4 name=n+source mat=Silicon color=0x7f00ff pattern=0x8 \
	polygon="0.5,0 1,0 1.98,0 1.98,0.5 0.5,0.5"
#
impurity id=1 region.id=4 imp=Arsenic \
	peak.value=1e+18 ref.value=1000000000000 comb.func=Multiply
#
constr.mesh region=4 default max.height=0.2 max.width=0.25

region reg=5 name=gateox mat="Silicon Oxide" color=0xff pattern=0x2 \
	polygon="2,2 2.5,2 2.5,2.02 1.98,2.02 1.98,1.5 1.98,0.8 1.98,0 2,0"
#
constr.mesh region=5 default

region reg=6 name=gate mat=PolySilicon elec.id=1 work.func=0 color=0xffff00 pattern=0x5 \
	polygon="2,0 2.5,0 2.5,2 2,2"
#
constr.mesh region=6 default

region reg=7 name=source mat=Aluminum elec.id=2 work.func=0 color=0xffc8c8 pattern=0x7 \
	polygon="0,0 0,-0.5 1,-0.5 1,0"
#
constr.mesh region=7 default

substrate name="drain" electrode=3 workfunction=0


# Set Meshing Parameters
#
base.mesh height=2 width=0.5
#
bound.cond !apply max.slope=30 max.ratio=100 rnd.unit=0.001 line.straightening=1 align.points when=automatic
#
imp.refine imp="Net Doping" scale=log transition=1e+10
imp.refine min.spacing=0.02
#
constr.mesh  max.angle=90 max.ratio=300 max.height=1000 \
	max.width=1000 min.height=0.0001 min.width=0.0001
#
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default
#
constr.mesh region=1 default
#
constr.mesh region=2 default
#
constr.mesh region=3 default max.height=0.25
#
constr.mesh region=4 default max.height=0.2 max.width=0.25
#
constr.mesh region=5 default
#
constr.mesh region=6 default
#
constr.mesh region=7 default
constr.mesh id=1 under.mat=PolySilicon depth=0.1 default max.height=0.02 max.width=0.2
constr.mesh id=2 x1=4.9 y1=0 x2=5 y2=3.5 default max.width=0.02
constr.mesh id=3 x1=0 y1=2 x2=5 y2=3.5 default max.height=0.1
constr.mesh id=4 x1=0 y1=10 x2=6 y2=12 default max.height=0.4
constr.mesh id=5 x1=5 y1=0 x2=5.15 y2=3.5 default max.width=0.02
Mesh Mode=MeshBuild


base.mesh height=2 width=0.5

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

struct outf=powerex11_0.str

tonyplot powerex11_0.str -set powerex11_0.set


go devedit
DevEdit version=2.4.0.R
#
init infile=powerex11_0.str

work.area x1=0 y1=-0.5 x2=3 y2=17
# devedit 2.4.0.R (Thu May  8 12:10:27 PDT 1997)
# libsflm 2.0.0.R (Thu May  1 18:03:38 PDT 1997)
# libDW_Misc 1.20.0.R (Mon Apr 28 17:55:25 PDT 1997)
# libCardDeck 1.20.0.R (Tue Apr 29 15:01:54 PDT 1997)
# libGeometry 1.20.0.R (Mon Apr 28 18:17:55 PDT 1997)
# libDW_Set 1.20.0.R (Mon Apr 28 17:57:52 PDT 1997)
# libSVC_Misc 1.20.0.R (Mon Apr 28 18:20:53 PDT 1997)
# libSDB 1.0.6.C (Mon May  5 16:28:49 PDT 1997)
# libSSS 1.20.0.R (Mon May  5 16:29:45 PDT 1997)
# libMeshBuild 1.20.0.R (Wed May  7 23:57:48 PDT 1997)
# libDW_Make 1.1.3.R (Thu May  1 20:07:31 PDT 1997)

# Set Meshing Parameters
#
base.mesh height=1 width=2
#
bound.cond !apply max.slope=30 max.ratio=100 rnd.unit=0.001 line.straightening=1 align.points when=automatic
#
imp.refine imp="Net Doping" scale=log transition=1e+10 sensitivity=2
imp.refine min.spacing=0.2
#
constr.mesh  max.angle=90 max.ratio=300 max.height=10000 \
	max.width=10000 min.height=0.0001 min.width=0.0001
#
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default
#
constr.mesh region=1 default
#
constr.mesh region=2 default
#
constr.mesh region=3 default
#
constr.mesh region=4 default
constr.mesh id=1 x1=2.5 y1=0 x2=1e+06 y2=0.5 default max.height=0.1 max.width=2
constr.mesh id=2 x1=2 y1=0 x2=4.5 y2=0.5 default max.height=0.1 max.width=0.2
Mesh Mode=MeshBuild
refine mode=y x1=0.15 y1=5.98 x2=9.82 y2=7.53


base.mesh height=1 width=1

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

structure outf=powerex11_1.str

go atlas
#
# This example demonstrates gate charge characteristics of a DMOS structure.
# 
# SPISCES, MIXEDMODE was used
# 
# Part 1: Steady state solution
# Circuit descriptions
#
.begin
#
iin  0  1  0  
r1   1  0  1e6
amos 1=gate 2=drain 0=source infile=powerex11_1.str width=1e4
iout 0 2 0
ddum 2 3 ideal
vin 3 0 0
#
# End of circuit description
#
.model ideal d()
#
.nodeset v(1)=0 v(2)=0 v(3)=0
#
.numeric lte=0.05
#
.options fulln print
#
.save outfile=powerex11
#
.log outfile=powerex11
#
.dc iout 0 1e-9 0.1e-9
.dc iout 1e-9 1e-8 1e-9
.dc iout 1e-8 1e-7 1e-8
.dc iout 1e-7 1e-6 1e-7
.dc iout 1e-6 1e-5 1e-6
.dc iout 1e-5 1e-4 1e-5
.dc vin 0 20 0.2
#
.end
#
contact device=amos name=gate n.poly
interface device=amos qf=2e11

models device=amos conmob fldmob surfmob srh auger bgn print
impact device=amos selb

method newton autonr trap



go atlas
# Part 2: Transient Solution
# Circuit descriptions
#
.begin
#
iin  0  1  0  pulse 0 1e-5 1e-10 1e-10 1e-10 100e-1 200e-1
r1   1  0  1e6
amos 1=gate 2=drain 0=source infile=powerex11_1.str width=1e4
iout 0 2 1e-4
ddum 2 3 ideal
vin 3 0 20
#
# End of circuit description
#
.model ideal d()
#
.numeric vchange=0.01 imaxtr=50
#
.load infile=powerex11
.save outfile=powerex11_tr
#
.options fulln print
#
.log outfile=powerex11
#
.tran 100ps 30e-1
#
.end
#
contact device=amos name=gate n.poly
interface device=amos qf=2e11

models device=amos conmob fldmob surfmob srh auger bgn print
impact device=amos selb

method newton autonr trap


go atlas

tonyplot powerex11_tr.log -set powerex11_1.set

quit
 
Last edited by a moderator:

Those simulations -do- run "forever" at any significant
size / complexity. I work with another guy who does
the TCAD and days of wall time are the norm. Even
with semi-clueful meshing.

Since you offer no quantitification of "forever" (which
obviously is not the case, as we have not reached
the heat death of the universe) my guess is that this
is a problem of expectations, unless you can see no
"progress bar" progress (if any such) or no growth in
solution data size.

I've been told there is a facility for stop, save and
resume; you might want to try that out and see if
(say) you can get well formation in "only" four hours,
save that and then shoot the S/D, see about that,
etc. At least this would let you know whether you
are destined for failure or success a week from now,
one day at a time.

Of course the other thing is, maybe not to mesh at
nanometer resolution a >micron device... what does
"default" give you for mesh step, in your constr.mesh
statements? Have you reviewed your meshes for
step-size sanity, or are you trying to solve a mountain
one grain of sand at a time?
 
Don't run any transient simulation first - run DC condition at zero voltages everywhere - this should converge fast.
Then load the structure in TonyPlot and see how big is your mesh, if it makes sense to run transient or other simulations.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top