4.4.2&4.4.3 npn型晶体管的二维建模与电学
只要是对这两个视频的学习记录
4.4.2 npn型晶体管的二维Sentaurus Process建模流程介绍
4.4.3 npn型晶体管的电学二维仿真
4.4.2 建模
视频里所用的网格格点太密,导致我的小电脑内存不够(给虚拟机分配了6GB内存),所以将基础网格的x,y都放大了10倍,mgoals也调整了一下,事实也能够顺利完成后面的电学分析,现在把代码贴在下面
#----------------------------
# 2D NPN Vertical Bipolar Transistor
#------------------------------
#line x location= 4.0<um> tag= SubTop spacing= 0.005<um>
#line x location= 5.0<um> spacing= 0.005<um>
#line x location= 6.0<um> tag= SubBottom spacing= 0.02<um>
#line y location= 0.0<um> tag= SubLeft spacing= 0.02<um>
#line y location= 18.0<um> spacing= 0.02<um>
#line y location= 18.5<um> spacing= 0.02<um>
#line y location= 30.0<um> tag= SubRight spacing= 0.02<um>
line x location= 4.0<um> tag= SubTop spacing= 0.05<um>
line x location= 5.0<um> spacing= 0.05<um>
line x location= 6.0<um> tag= SubBottom spacing= 0.2<um>
line y location= 0.0<um> tag= SubLeft spacing= 0.2<um>
line y location= 18.0<um> spacing= 0.2<um>
line y location= 18.5<um> spacing= 0.2<um>
line y location= 30.0<um> tag= SubRight spacing= 0.2<um>
#GlobalMesh setting for automatic meshing in newly generated layers
#-----------------------
mgoals normal.growth.ratio= 1.1 accuracy= 2e-4 min.normal.size= 50<um> max.lateral.size= 6.0<um>
#define layout masks
#-------------------
#(Note: n-type emitter is also used as contact to collector.)
# Masks are listed in the order they are used.
# Masks for front end processing
mask name= Sinker segments= {-1 22 24 35} negative
mask name= Base segments= {-1 1.5 13 35} negative
mask name= Emitter segments= {-1 2.5 8 22 24 35} negative
# Masks for back end processing
mask name= Contact segments= {-1 3.5 7 10 12 22.5 23.5 35}
mask name= Metal segments= {-1 2 8 9 13 22 24 35} negative
region Silicon xlo= SubTop xhi= SubBottom ylo= SubLeft yhi= SubRight
init concentration= 1e15<cm-3> field= Boron
##graphics on cmd="plot.2d grid"
# Buried layer
# ----------
deposit material= {Oxide} type= isotropic time= 1 rate= {0.025}
implant Antimony dose= 1.5e15<cm-2> energy= 100<keV>
etch material= {Oxide} type= anisotropic time= 1 rate= {0.03}
struct tdr= tem_file
#Epi layer
# -----------------
deposit material= {Silicon} type= isotropic time= 1 rate= {4.0} Arsenic concentration= 1e15<cm-3>
diffuse temperature= 1100<C> time= 60<min>
# show the final profiles
#-------------
SetPlxList {BTotal SbTotal AsTotal PTotal}
WritePlx n@node@_Buried.plx y= 5.0
# Sinker
# --------------
deposit material= {Oxide} type= isotropic time= 1 rate= {0.05}
photo mask= Sinker thickness= 1
implant Phosphorus dose= 5e15<cm-2> energy= 200
strip Resist
diffuse temperature= 1100<C> time= 5<hr>
struct tdr= n@node@_vert_npn1
# Base
# refine the mesh in the base region before the base implant.
refinebox clear
refinebox Silicon min= {0 0.2} max= {1.5 14.4} xrefine= {0.1 0.1 0.2} yrefine= {0.1 0.2 0.1} add
refinebox remesh
photo mask= Base thickness= 1
implant Boron dose= 1e14<cm-2> energy= 50
strip Resist
diffuse temperature= 1100<C> time= 35<min>
struct tdr=n@node@_vert_npn2
# Emitter
# -------------
# Refine the mesh in the emitter region before the emitter implant.
photo mask= Emitter thickness= 1
implant Arsenic dose= 5e15<cm-2> energy= 55<keV> tilt= 7 rotation= 0
strip Resist
diffuse temperature= 1100<C> time= 25<min>
struct tdr= n@node@_vert_npn3
# Show the final profiles
# --------------------
SetPlxList {BTotal SbTotal AsTotal PTotal}
WritePlx n@node@_final.plx y= 5.0
WritePlx n@node@_Sinker.plx y=23.0
# Back end
#-----------------
etch material= {Oxide} type= anisotropic time= 1 rate= {0.055} mask= Contact
# Reset the mgoals params to lower mesh requirements above silicon
mgoals on normal.growth.ratio= 20.0 accuracy= 2e-4 min.normal.size= 300<nm> max.lateral.size= 0.7<um>
deposit material= {Aluminum} type= isotropic time= 1 rate= {1.0}
etch material= {Aluminum} type= anisotropic time= 1 rate= {1.1} mask= Metal
struct tdr= n@node@_vert_npn4
## add contact device simulation
contact name= "emitter" box Aluminum adjacent.material= Gas ylo= 3 yhi= 7 xlo= -1.2 xhi= -0.6
contact name= "base" box Aluminum adjacent.material= Gas ylo= 10 yhi= 12 xlo= -1.2 xhi= -0.6
contact name= "collector" box Aluminum adjacent.material= Gas ylo= 22.5 yhi= 23.5 xlo= -1.2 xhi= -0.6 add
struct tdr= n@node@_vert_npn5
exit
4.4.3 npn型晶体管的电学二维仿真
正向gummel
File {
* input files
Grid= "n@previous@_vert_npn5_fps.tdr"
* output files
Current= "npn_Gummel"
Plot= "npn_Gummel"
Output= "npn_Gummel"
}
Electrode {
{ Name= "emitter" Voltage= 0 }
{ Name= "base" Voltage= 0 }
{ Name= "collector" Voltage= 0 }
}
Physics {
Hydrodynamic( eTemperature )
EffectiveIntrinsicDensity(BandGapNarrowing(Slotboom))
Mobility (
DopingDependence
HighFieldSaturation
)
Recombination (
Auger
SRH(DopingDependence)
Avalanche(Okuto)
)
}
Plot {
* --Density and Current, etc
eDensity hDensity
TotalCurrent/Vector
eMobility hMobility
eVelocity hVelocity
eQuasiFermi hQuasiFermi
*--Temprerature
eTemperature Temperature hTemperature
*--Fields and charges
ElectricField/Vector Potential SpaceCharge
*--Band structure
BandGap
BandGapNarrowing
Affinity
ConductionBand ValenceBand
xMoleFraction
}
Math {
NumberOfThreads= 6
Extrapolate
Notdamped= 50
Iterations= 15
ExitOnFailure
Digits= 7
DrForceRefDens= 1e12
eMobilityAveraging= ElementEdge
hMobilityAveraging= ElementEdge
GeometricDistances
ParameterInheritance= Flatten
}
Solve {
* initial guess
Coupled ( Iterations= 100 ) { Poisson }
coupled { Poisson Electron Hole }
*base and colletor and base ramp
Quasistationary (
InitialStep= 1e-3 Increment= 1.5
Minstep= 1e-6 MaxStep= 0.03
Goal { Name= "base" Voltage= 1.1 }
Goal { Name= "collector" Voltage= 1.1 }
){ Coupled { Poisson Electron Hole }
CurrentPlot ( Time= (Range= (0 1) intervals= 50))
Plot( FilePrefix= "npn_snap" Time= (0.5;0.7) NoOverWrite)
}
}
输出曲线
File {
* input files
Grid= "n@previous|-1@_vert_npn5_fps.tdr"
* output files
Current= "npn_Gummel"
Plot= "npn_Gummel"
Output= "npn_Gummel"
}
Electrode {
{ Name= "emitter" Voltage= 0 }
{ Name= "base" Voltage= 0 }
{ Name= "collector" Voltage= 0 }
}
Physics {
Hydrodynamic( eTemperature )
EffectiveIntrinsicDensity(BandGapNarrowing(Slotboom))
Mobility (
DopingDependence
HighFieldSaturation
)
Recombination (
Auger
SRH(DopingDependence)
Avalanche(Okuto)
)
}
Plot {
* --Density and Current, etc
eDensity hDensity
TotalCurrent/Vector
eMobility hMobility
eVelocity hVelocity
eQuasiFermi hQuasiFermi
*--Temprerature
eTemperature Temperature hTemperature
*--Fields and charges
ElectricField/Vector Potential SpaceCharge
*--Band structure
BandGap
BandGapNarrowing
Affinity
ConductionBand ValenceBand
xMoleFraction
}
Math {
Extrapolate
Notdamped= 50
Iterations= 15
ExitOnFailure
Digits= 7
DrForceRefDens= 1e12
eMobilityAveraging= ElementEdge
hMobilityAveraging= ElementEdge
GeometricDistances
ParameterInheritance= Flatten
}
Solve {
NewCurrentFile= "init"
Coupled(Iterations= 100){ Poisson }
Coupled{ Poisson Electron Hole }
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "base" Voltage= 0.5 }
){ Coupled { Poisson Electron Hole }}
Set( "base" mode current )
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "base" Current= 1e-8 }
){ Coupled { Poisson Electron Hole }}
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "base" Current= 1e-7 }
){ Coupled { Poisson Electron Hole }
Save(FilePrefix= "Ib" Time=(0;0.5;1) NoOverWrite )
}
NewCurrentFile="Ib0"
Load(FilePrefix="Ib_0000")
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "collector" Voltage= 1.5 }
){ Coupled { Poisson Electron Hole }
}
NewCurrentFile="Ib1"
Load(FilePrefix="Ib_0001")
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "collector" Voltage= 1.5 }
){ Coupled { Poisson Electron Hole }
}
NewCurrentFile="Ib2"
Load(FilePrefix="Ib_0002")
Quasistationary (
InitialStep= 0.01 Increment= 1.3
MaxStep= 0.2 MinStep= 1e-6
Goal{ Name= "collector" Voltage= 1.5 }
){ Coupled { Poisson Electron Hole }
CurrentPlot(Time=(Range=(0 1) Intervals=20))
}
}