|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最近在用sentaurus 仿真bjt 热特性,总是提示 n1_msh,tdr is not a mixed-element geometry????
这是什么呢问题呢?真心求助。。。。。。 仿真代码如下:
;DEVICE BJT
;----------------------------------------------------------------------
; Setting parameters
; - lateral
(define Lem 3.0) ; [um]
(define Ltotal 10.0) ; [um]
; - layers
(define Hbase 0.8);
(define Hepi 1.2);
(define Hn+ 200.0);
;----------------------------------------------------------------------
; Derived quantities
(define Xe (* Ltotal 0.2))
(define Xem Lem)
(define Xmax Ltotal)
(define Ybase Hbase)
(define Xbase (* Ltotal 0.8))
(define Yn_epi 6.0 )
(define Yepi (+ Ybase Hepi))
(define Ymax (+ Yepi Hn+))
;*************************************************************************
; Overlap resolution: New replaces Old
(sdegeo:set-default-boolean "ABA")
;****************************************************************************
; Creating epi
(sdegeo:create-rectangle
(position 0.0 0.0 0.0 )
(position Xmax Yn_epi 0.0 )
"Silicon" "region_1"
)
; Creating default region
(sdegeo:create-rectangle
(position 0.0 0.0 0.0 )
(position Xmax Ymax 0.0 )
"Silicon" "region_2"
)
;---------------------------------------------------------------------
;----------------------------------------------------------------------
; Contact declarations
(sdegeo:define-contact-set "emitter"
4.0 (color:rgb 0.0 0.0 1.0 ) "##")
(sdegeo:define-contact-set "base"
4.0 (color:rgb 1.0 1.0 0.0 ) "##")
(sdegeo:define-contact-set "collector"
4.0 (color:rgb 0.0 1.0 0.0 ) "##")
(sdegeo:insert-vertex (position Xbase 0.0 0.0))
(sdegeo:insert-vertex (position Xe 0.0 0.0))
;----------------------------------------------------------------------
; Contact settings
(sdegeo:define-2d-contact
(find-edge-id (position (* Xe 0.5) 0.0 0.0))
"emitter" )
(sdegeo:define-2d-contact
(find-edge-id (position (* (+ Xmax Xbase) 0.5) 0.0 0.0))
"base")
(sdegeo:define-2d-contact
(find-edge-id (position (* Xmax 0.5) Ymax 0.0))
"collector")
; Separating lumps
(sde:assign-material-and-region-names "all")
;***********************************************************************
; Setting region names
(sde:add-material
(find-body-id (position (* Xmax 0.5) (* 0.5 Yn_epi) 0.0))
"Silicon" "R.epi")
; Setting region names
(sde:add-material
(find-body-id (position (* Xmax 0.5) (* 0.5 Ymax) 0.0))
"Silicon" "R.Default region")
;----------------------------------------------------------------------
;----------------------------------------------------------------------
; Profiles:
; - EPI
(sdedr:define-constant-profile "Const.Default region"
"PhosphorusActiveConcentration" 5e15 )
(sdedr:define-constant-profile-region "PlaceCD.Default region"
"Const.Default region" "R.Default region" )
; base line definitions
(sdedr:define-refinement-window "BaseLine.emitter" "Line"
(position 0.0 0.0 0.0)
(position Xem 0.0 0.0) )
(sdedr:define-refinement-window "BaseLine.base" "Line"
(position 0.0 0.0 0.0)
(position Xmax 0.0 0.0) )
(sdedr:define-refinement-window "BaseLine.collector" "Line"
(position Xmax Ymax 0.0)
(position 0.0 Ymax 0.0) )
; implant definition
(sdedr:define-gaussian-profile "Impl.P_base_prof"
"BoronActiveConcentration"
"PeakPos" 0.0 "PeakVal" 5e18
"ValueAtDepth" 5e15 "Depth" Ybase
"Gauss" "Factor" 0.0
)
; implant definition
(sdedr:define-gaussian-profile "Impl.N+emitter_prof"
"ArsenicActiveConcentration"
"PeakPos" 0.0 "PeakVal" 5e20
"StdDev" 0.0875
"Gauss" "Factor" 0.8
)
; implant definition
(sdedr:define-erf-profile "Impl.N+collector_prof"
"PhosphorusActiveConcentration"
"SymPos" 198 "MaxVal" 5e19
"ValueAtDepth" 5e15 "Depth" 200.0
"Erf" "Factor" 0.0
)
;implants
(sdedr:define-analytical-profile-placement "Impl.N+emitter"
"Impl.N+emitter_prof" "BaseLine.emitter" "Positive" "NoReplace" "Eval")
(sdedr:define-analytical-profile-placement "Impl.P_base"
"Impl.P_base_prof" "BaseLine.base" "Positive" "NoReplace" "Eval")
(sdedr:define-analytical-profile-placement "Impl.N+collector"
"Impl.N+collector_prof" "BaseLine.collector" "Positive" "NoReplace" "Eval")
;----------------------------------------------------------------------
; Meshing Strategy:
; EPI
(sdedr:define-refinement-size "Ref.SiEpi"
0.2 0.1
0.002 0.002)
(sdedr:define-refinement-region "RefPlace.SiEpi"
"Ref.SiEpi" "R.epi" )
; Default region
(sdedr:define-refinement-size "Ref.Default region"
1.0 2.0
0.002 0.002)
(sdedr:define-refinement-function
"Ref.Default region"
"DopingConcentration"
"MaxTransDiff" 1
)
(sdedr:define-refinement-region "RefPlace.Default region"
"Ref.Default region" "R.Default region")
;--------------------------------------------------------------------------------
; Yepi Multibox
(sdedr:define-refinement-window "MBWindow.Yepi"
"Rectangle"
(position 0.0 (- Yepi 0.2) 0.0 )
(position Xmax (+ Yepi 0.5) 0.0 ))
(sdedr:define-multibox-size "MBSize.Yepi"
0.1 0.08
0.05 0.02
1.0 1.35 )
(sdedr:define-refinement-function "MBSize.Yepi"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Yepi"
"MBSize.Yepi" "MBWindow.Yepi" )
;---------------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.Nepi"
"Rectangle"
(position 0.0 (+ Ybase 0.2) 0.0 )
(position Xmax (- Yepi 0.2) 0.0 ) )
(sdedr:define-multibox-size "MBSize.Nepi"
0.1 0.1
0.02 0.05
1.0 1.35)
(sdedr:define-refinement-function "MBSize.Nepi"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Nepi"
"MBSize.Nepi" "MBWindow.Nepi" )
;------------------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.Region_Ybase"
"Rectangle"
(position 0.0 (- Ybase 0.15) 0.0 )
(position Xmax (+ Ybase 0.2) 0.0 ) )
(sdedr:define-multibox-size "MBSize.Region_Ybase"
0.1 0.05
0.05 0.02
1.0 1.35 )
(sdedr:define-refinement-function "MBSize.Region_Ybase"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Region_Ybase"
"MBSize.Region_Ybase" "MBWindow.Region_Ybase" )
;-----------------------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.Region_N+"
"Rectangle"
(position 0.0 0.0 0.0)
(position (- Xem 0.5) 0.25 0.0) )
(sdedr:define-multibox-size "MBSize.Region_N+"
0.2 0.1
0.1 0.05
1.0 1.35 )
(sdedr:define-refinement-function "MBSize.Region_N+"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Region_N+"
"MBSize.Region_N+" "MBWindow.Region_N+" )
;--------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.N1"
"Rectangle"
(position 0.0 (* Ybase 0.5) 0.0 )
(position (+ Xem 0.5) (- Ybase 0.15) 0.0 ) )
(sdedr:define-multibox-size "MBSize.N1"
0.1 0.6
0.02 0.03
1.0 1.35)
(sdedr:define-refinement-function "MBSize.N1"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.N1"
"MBSize.N1" "MBWindow.N1" )
;------------------------------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.P_base"
"Rectangle"
(position (+ Xem 0.5) 0.0 0.0 )
(position Xmax (- Ybase 0.15) 0.0 ) )
(sdedr:define-multibox-size "MBSize.P_base"
0.2 0.1
0.1 0.05
1.0 1.35)
(sdedr:define-refinement-function "MBSize.P_base"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.P_base"
"MBSize.P_base" "MBWindow.P_base" )
;-------------------------------------------
(sdedr:define-refinement-window "MBWindow.Region_N+junction"
"Rectangle"
(position 0.0 0.25 0.0)
(position (- Xem 0.5) (* Ybase 0.5) 0.0) )
(sdedr:define-multibox-size "MBSize.Region_N+junction"
0.1 0.02
0.05 0.02
1.0 1.35 )
(sdedr:define-refinement-function "MBSize.Region_N+junction"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Region_N+junction"
"MBSize.Region_N+junction" "MBWindow.Region_N+junction" )
;---------------------------------------------------------------------
(sdedr:define-refinement-window "MBWindow.Region_N+pjunction"
"Rectangle"
(position (- Xem 0.5) 0.0 0.0 )
(position (+ Xem 0.5) (* Ybase 0.5) 0.0 ) )
(sdedr:define-multibox-size "MBSize.Region_N+pjunction"
0.1 0.05
0.05 0.02
1.0 1.35 )
(sdedr:define-refinement-function "MBSize.Region_N+pjunction"
"DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-multibox-placement "MBPlace.Region_N+pjunction"
"MBSize.Region_N+pjunction" "MBWindow.Region_N+pjunction" )
;Build mesh
;(system:command " snmesh bjt_msh")
(sde:build-mesh "snmesh" " " "n1_msh")
DEVICE BJT {
File {
* input files:
Grid= "@tdr@"
Parameter="@parameter@"
* output files:
Plot= "@tdrdat@"
Current="@plot@"
}
electrode {
{ name="emitter" voltage=0.0 }
{ name= "base" voltage=0.0 }
{ name= "collector" voltage=0.0 }
}
Thermode{
{ Name="collector" Temperature= 300 SurfaceResistance=5e-4 }
}
}
File {
Output= "@log@"
}
System{
Vsource_pset Vdd (dd 0) { dc=0.0 }
Vsource_pset Vcc (c 0) { sine = (0.0 2.5 1e+9 0.0 0.0) }
Resistor_pset Rb (dd b) {resistance =20k}
Resistor_pset Rc (dd c) {resistance =300}
BJT bjt ("emitter"=0 "base"=b "collector"=c )
}
Physics(MaterialInterface="Silicon/Oxide"){
charge(surfconc=5.e10)
Traps(Conc=5 EnergyMid=0 Acceptor #FixedCharge
)
}
Physics{
Recombination(SRH(DopingDep TempDep) Auger Avalanche)
Mobility(DopingDep CarrierCarrierScattering HighFieldSaturation)
EffectiveIntrinsicDensity(Slotboom)
Thermodynamic
AnalTEP
}
Plot{
eDensity hDensity
eCurrent/Vector hCurrent/Vector Current/Vector
eAvalanche hAvalanche
eVelocity/Vector hVelocity/Vector eMobility hMobility
eLifetime hLifetime
LatticeTemperature
ElectricField/Vector
eQuasiFermi hQuasiFermi
Potential Doping SpaceCharge
SRH Auger Avalanche
DonorConcentration AcceptorConcentration
EffectiveIntrinsicDensity
TotalHeat eJouleHeat hJouleHeat RecombinationHeat ThomsonHeat
}
Math {
Derivatives
Avalderivative
NoCheckTransientError
Extrapolate
BreakCriteria{LatticeTemperature (maxval=1688)}
RelErrControl
Notdamped=50
Iterations=50
}
solve {
Poisson
Coupled { Poisson Electron }
Coupled { Poisson Electron Hole }
Coupled { Poisson Electron Hole Temperature }
Quasistationary( InitialStep=0.1 MaxStep=0.25 MinStep=0.0001
increment=1.5 Goal{ Parameter=Vdd.dc Voltage= 9.0} )
{ coupled { poisson electron hole } }
NewCurrentPrefix="transient_"
Transient ( InitialStep=5e-10 MaxStep=1e-9 MinStep=5e-13 Increment=1.5
InitialTime=0 FinalTime= 100e-9 )
{ Coupled { Poisson Electron Hole Temperature }
Plot (Time=(9.8e-9; 20e-9 ) noOverwrite)}
} |
|