微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 综合技术问答 > EDA使用问答 > sentaurus 仿真求助

sentaurus 仿真求助

时间:03-15 整理:3721RD 点击:
最近在用sentaurus仿真bjt 热特性,总是提示 n1_msh,tdris not a mixed-element geometry?
这是什么呢问题呢?真心求助。仿真代码如下:
;DEVICE BJT
;----------------------------------------------------------------------
; Setting parameters
; - lateral
(define Lem3.0); [um]
(define Ltotal10.0); [um]
; - layers
(define Hbase0.8);
(define Hepi1.2);
(define Hn+200.0);
;----------------------------------------------------------------------
; Derived quantities
(define Xe(* Ltotal 0.2))
(define XemLem)
(define XmaxLtotal)
(define YbaseHbase)
(define Xbase(* Ltotal 0.8))
(define Yn_epi6.0)
(define Yepi(+ YbaseHepi))
(define Ymax(+ YepiHn+))
;*************************************************************************
; Overlap resolution: New replaces Old
(sdegeo:set-default-boolean "ABA")
;****************************************************************************
; Creating epi
(sdegeo:create-rectangle
(position 0.00.00.0 )
(positionXmaxYn_epi0.0 )
"Silicon" "region_1"
)
; Creating default region
(sdegeo:create-rectangle
(position0.00.00.0 )
(positionXmaxYmax0.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 Xbase0.00.0))
(sdegeo:insert-vertex (position Xe0.00.0))
;----------------------------------------------------------------------
; Contact settings
(sdegeo:define-2d-contact
(find-edge-id (position (* Xe0.5)0.00.0))
"emitter" )
(sdegeo:define-2d-contact
(find-edge-id (position (* (+ Xmax Xbase) 0.5)0.00.0))
"base")
(sdegeo:define-2d-contact
(find-edge-id (position (* Xmax0.5)Ymax0.0))
"collector")
; Separating lumps
(sde:assign-material-and-region-names "all")
;***********************************************************************
; Setting region names
(sde:add-material
(find-body-id (position(* Xmax0.5) (* 0.5Yn_epi)0.0))
"Silicon" "R.epi")
; Setting region names
(sde:add-material
(find-body-id (position(* Xmax0.5) (* 0.5Ymax)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.00.0 0.0)
(position Xem0.0 0.0) )
(sdedr:define-refinement-window "BaseLine.base" "Line"
(position 0.00.0 0.0)
(position Xmax0.0 0.0) )
(sdedr:define-refinement-window "BaseLine.collector" "Line"
(position XmaxYmax0.0)
(position 0.0Ymax0.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.20.1
0.0020.002)
(sdedr:define-refinement-region "RefPlace.SiEpi"
"Ref.SiEpi" "R.epi" )
; Default region
(sdedr:define-refinement-size "Ref.Default region"
1.02.0
0.0020.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(- Yepi0.2)0.0)
(position Xmax(+ Yepi0.5)0.0))
(sdedr:define-multibox-size "MBSize.Yepi"
0.10.08
0.050.02
1.01.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"
(position0.0(+ Ybase 0.2)0.0 )
(positionXmax(- Yepi0.2)0.0) )
(sdedr:define-multibox-size "MBSize.Nepi"
0.10.1
0.020.05
1.01.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"
(position0.0(- Ybase 0.15)0.0 )
(positionXmax(+ Ybase 0.2)0.0 ) )
(sdedr:define-multibox-size "MBSize.Region_Ybase"
0.10.05
0.050.02
1.01.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"
(position0.00.00.0)
(position(- Xem 0.5)0.250.0) )
(sdedr:define-multibox-size "MBSize.Region_N+"
0.20.1
0.10.05
1.01.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"
(position0.0(* Ybase 0.5)0.0 )
(position(+ Xem 0.5)(- Ybase0.15)0.0) )
(sdedr:define-multibox-size "MBSize.N1"
0.10.6
0.020.03
1.01.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.00.0 )
(positionXmax(- Ybase0.15)0.0) )
(sdedr:define-multibox-size "MBSize.P_base"
0.20.1
0.10.05
1.01.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"
(position0.00.250.0)
(position(- Xem 0.5)(* Ybase 0.5)0.0) )
(sdedr:define-multibox-size "MBSize.Region_N+junction"
0.10.02
0.050.02
1.01.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.00.0)
(position(+ Xem 0.5)(* Ybase 0.5)0.0 ) )
(sdedr:define-multibox-size "MBSize.Region_N+pjunction"
0.10.05
0.050.02
1.01.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= 300SurfaceResistance=5e-4 }
}
}
File {
Output= "@log@"
}
System{
Vsource_psetVdd (dd 0) { dc=0.0 }
Vsource_psetVcc (c 0){ sine = (0.02.51e+90.00.0) }
Resistor_psetRb(dd b){resistance =20k}
Resistor_psetRc(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=0FinalTime= 100e-9 )
{ Coupled { Poisson Electron HoleTemperature }

Plot (Time=(9.8e-9; 20e-9 ) noOverwrite)}
}

真心求助请各位大神不吝赐教!

在线等好心人解惑

有什么结果吗?

11111111111111111111111111111111111111111

我用sentaurus2010.03版本,遇到同样的问题。按默认mesh之后,先在File里面save model,再save boundary, 再点击菜单栏的保存按钮,就有_msh.tdr文件生成,仿真没有问题。个例仅供参考哦!



非常感谢你的回答,我mesh后保存为band.tdr文件后就能仿真了

学习了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top