微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > sentaurus ggnmos snapback现象

sentaurus ggnmos snapback现象

时间:10-02 整理:3721RD 点击:
大家好:
小弟初学半导体,初学sentaurus。现在使用sentaurus仿真ggnmos的snapback现象。可是出现了如图所示的问题,只有雪崩击穿,没有二次击穿。模型部分Thermodynamic和Thermodynamic均已添加,求解部分也是包含热仿真。

速救啊,兄弟们!

该软件似乎不能仿真2次击穿吧

肯定可以仿真的,我用的文献里面的图就是用sentaurus仿得。

不知道是不是我写的程序的代码有问题,下面是sdevice部分。请高手帮忙看看。
File {
* Input Files
Grid = "@grid@"
Doping="@doping@"
Parameter="@parameter@"
* Output Files
Plot= "@tdrdat@"
Current="@plot@"
Output= "@log@"
}
Electrode {
{ Name="s" Voltage=0.0 }
{ Name="d" Voltage= 0 }
{ Name="g" Voltage=0}
{ Name="sub" Voltage= 0.0}
}
Thermode{
{name="sub" Temperature=300 SurfaceResistance=0.01}
}
Physics {
Mobility(
DopingDep
HighFieldSaturation
Enormal
)
Thermodynamic

Recombination(
SRH
Auger
Avalanche(Okuto)
)
}

Plot{

*--Density and Currents, etc
eDensity hDensity
TotalCurrent/Vector eCurrent/Vector hCurrent/Vector
eMobility hMobility
eVelocity hVelocity
eQuasiFermi hQuasiFermi
*--Temperature
Temperature *eTemperaturehTemperature
*--Fields and charges
ElectricField/Vector Potential SpaceCharge
*--Doping Profiles
Doping DonorConcentration AcceptorConcentration
*--Generation/Recombination
SRH Auger * Band2Band
AvalancheGeneration eAvalancheGeneration hAvalancheGeneration
*--Driving forces
eGradQuasiFermi/Vector hGradQuasiFermi/Vector
eEparallel hEparallel eENormal hENormal
*--Band structure/Composition
BandGap
BandGapNarrowing
* Affinity
ConductionBand ValenceBand
* eQuantumPotential hQuantumPotential
*--Gate Tunneling
* eBarrierTunneling hBarrierTunnelingBarrierTunneling
* eDirectTunnel hDirectTunnel
}

Math {
DrForceRefDens= 1e12
Extrapolate
Digits=6
Notdamped= 50
Iterations= 15
CNormPrint
ErrRef(electron) = 1e5
ErrRef(hole)= 1e5
}

Solve {
*-Build-up of initial solution:
Coupled(Iterations=100){ Poisson }
Coupled { Poisson Electron HoleTemperature}

Quasistationary(
InitialStep=1e-3 Increment=1.35
MinStep=1e-5 MaxStep=0.02
Goal{ Name="d" Voltage=@Vd@}
){ Coupled{ Poisson Electron Hole Temperature}}
}

你把你的GGNMOS打包,贴出来,我给你仿二次击穿的程序。


你好:
感谢你的回答!我查到说要加一个大电阻在漏端,可是当我在电路中加了之后,漏极的电压竟然是0了。
sdevice部分去前面已经贴出,这个是SDE部分:
(sdegeo:create-rectangle (position -0.27 1 0.0) (position 0.27 0.05 0.0)"Silicon" "region_1")
(sdegeo:create-rectangle (position -0.27 0 0.0) (position -0.03 0.05 0.0)"Silicon" "region_2")
(sdegeo:create-rectangle (position 0.03 0 0.0) (position 0.27 0.05 0.0)"Silicon" "region_3")
(sdegeo:create-rectangle (position -0.03 0.05 0.0) (position 0.03 0 0.0)"Silicon" "region_4")
(sdegeo:create-rectangle (position -0.03 -0.102 0.0) (position 0.03 -0.002 0.0)"PolySi" "region_7")
(sdegeo:create-rectangle (position -0.1 -0.102 0.0) (position -0.03 -0.002 0.0)"Si3N4" "region_61")
(sdegeo:create-rectangle (position 0.1 -0.102 0.0) (position 0.03 -0.002 0.0)"Si3N4" "region_62")
(sdegeo:create-rectangle (position -0.1 0 0)(position 0.1 -0.002 0) "SiO2" "region_5" )
(sdegeo:define-contact-set "s" 4(color:rgb 1 0 0 ) "##" )
(sdegeo:define-contact-set "d" 4(color:rgb 0 1 0 ) "##" )
(sdegeo:define-contact-set "g" 4(color:rgb 0 0 1 ) "##" )
(sdegeo:define-contact-set "sub" 4(color:rgb 1 0 0 ) "##" )
(sdegeo:define-2d-contact(list (car (find-edge-id (position -0.185 0 0)))) "s")
(sdegeo:define-2d-contact(list (car (find-edge-id (position 0.185 0 0)))) "d")
(sdegeo:define-2d-contact(list (car (find-edge-id (position 0 1 0)))) "sub")
(sdegeo:set-current-contact-set "g")
(sdegeo:set-contact-boundary-edges (list (car (find-body-id (position -0.002 -0.05 0)))) "g")
(sdegeo:delete-region (list (car (find-body-id (position -0.002 -0.05 0)))))
(sde:define-parameter "fillet-radius" 0.08 0 0 )
(sdegeo:fillet-2d (list (car (find-vertex-id (position -0.1 -0.102 0))))0.08)
(sdegeo:fillet-2d (list (car (find-vertex-id (position 0.1 -0.102 0))))0.08)
(sdedr:define-constant-profile "ConstantProfileDefinition_2" "PhosphorusActiveConcentration" 1e+20)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_2" "ConstantProfileDefinition_2" "region_2")
(sdedr:define-constant-profile "ConstantProfileDefinition_3" "PhosphorusActiveConcentration"1e+20)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_3" "ConstantProfileDefinition_3" "region_3")
(sdedr:define-constant-profile "ConstantProfileDefinition_1" "BoronActiveConcentration" 1.5e+18)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_1" "ConstantProfileDefinition_1" "region_1")
(sdedr:define-constant-profile "ConstantProfileDefinition_4" "BoronActiveConcentration" 1.5e+18)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_4" "ConstantProfileDefinition_4" "region_4")
(sdedr:define-refinement-size "RefinementDefinition_region_1" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_1" "RefinementDefinition_region_1" "region_1" )
(sdedr:define-refinement-size "RefinementDefinition_region_4" 0.0025 0.025 0.002 0.02)
(sdedr:define-refinement-region "RefinementPlacement_region_4" "RefinementDefinition_region_4" "region_4" )
(sdedr:define-refinement-size "RefinementDefinition_2" 0.01 0.02 0.004 0.02)
(sdedr:define-refinement-region "RefinementPlacement_2" "RefinementDefinition_2" "region_2" )
(sdedr:define-refinement-size "RefinementDefinition_3" 0.01 0.02 0.004 0.02)
(sdedr:define-refinement-region "RefinementPlacement_3" "RefinementDefinition_3" "region_3" )
(sdedr:define-refinement-size "RefinementDefinition_5" 0.1 0.01 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_5" "RefinementDefinition_5" "region_5" )
(sdedr:define-refinement-size "RefinementDefinition_region_61" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_61" "RefinementDefinition_region_61" "region_61" )
(sdedr:define-refinement-size "RefinementDefinition_region_62" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_62" "RefinementDefinition_region_62" "region_62" )

(sdeio:save-tdr-bnd(get-body-list)"n@node@_bnd.tdr")
(sde:save-model"/home/gaitl/STDB/tmp/ggnmos2")
(sdedr:write-cmd-file"n@node@_msh.cmd")
(system:command"noffset3d n@node@_msh")
;(sde:build-mesh"noffset""-F tdr""n@node@_msh")
(sde:build-mesh "mesh""-s""n@node@_msh")

Solve {
*- Creating initial guess:
Coupled(Iterations= 100 LineSearchDamping= 1e-4){ Poisson }
Coupled { Poisson Electron Hole }
Quasistationary(
InitialStep=0.002 Increment=1.41
MinStep=2e-06 MaxStep=0.5
Goal{ Name="drain" Voltage=5. }
) { Coupled { Poisson Electron Hole } }
Quasistationary(
InitialStep=0.1 Increment=1.41
MinStep=2e-06 MaxStep=1
Goal{ Name="drain" Voltage=80 }
) { Coupled { Poisson Electron Hole } }
Continuation(
Name="drain"
Normalized
Increment= 1.1
Decrement= 2.0
InitialVstep= 0.01
Incrementangle= 20
Decrementangle= 40
MaxVoltage= 120
MinVoltage= 0
MaxCurrent= 5e-4
MinCurrent= 0.0
Iadapt= 1e-13
){ Coupled { Poisson Electron Hole} }
}

哥们,非常感谢你的解答。可是我用了你的程序还是显示如下图:(不知道是不是我的操作问题)。还有,有一个错误提示:First step for adaptive continuation does not converge!我查看了下maunual,修改了各个值,还是有不收敛的提示。小弟初学,不好意思。


您好,能把你的physics部分和plot部分也贴出来吗?谢谢!

Solve {
*- Creating initial guess:
Coupled(Iterations= 100 LineSearchDamping= 1e-4){ Poisson }
Coupled { Poisson Electron Hole }

Continuation(
Name="drain"
Normalized
Increment= 1.1
Decrement= 2.0
InitialVstep= 0.01
Incrementangle= 20
Decrementangle= 40
MaxVoltage= 10
MinVoltage= 0
MaxCurrent= 1e-7
MinCurrent= 0.0
Iadapt= 1e-13
)笀 Coupled { Poisson Electron Hole紀 }
}

试试这个

软件仿的?

您好!
感谢你的回答。用了continuation求解后,还是得出与前面solve类似的曲线。所以我觉得我sdevice部分physics所加的模型有点问题。现在准备把能加的模型再加一遍。

哥们你好:
能告我你跑二次击穿加了哪几个模型吗?谢谢!

救命啊,有没有人会啊?:'(

你的程序里的physic 和math没问题, 有问题的可能是你结构。 二次击穿是横向的BJT触发而击穿,如果纵向先击穿,那二次击穿就发生不了了

您好:
非常感谢你的回答!三番两次的麻烦你真是不好意思。
我的输出和转移特性曲线都没问题,因此我觉得我的结构理论上不会出问题的。
我都快愁死了,这个问题纠结了我两个礼拜了。

经过几天的摸索,终于做出来了。谢谢帖友 woaijoyce的指点。
现在把经验证没问题的程序贴上来,以供后来者学习。
SDE部分:
(sdegeo:create-rectangle (position -0.27 1 0.0) (position 0.27 0.05 0.0)"Silicon" "region_1")
(sdegeo:create-rectangle (position -0.27 0 0.0) (position -0.03 0.05 0.0)"Silicon" "region_2")
(sdegeo:create-rectangle (position 0.03 0 0.0) (position 0.27 0.05 0.0)"Silicon" "region_3")
(sdegeo:create-rectangle (position -0.03 0.05 0.0) (position 0.03 0 0.0)"Silicon" "region_4")
(sdegeo:create-rectangle (position -0.03 -0.102 0.0) (position 0.03 -0.002 0.0)"PolySi" "region_7")
(sdegeo:create-rectangle (position -0.1 -0.102 0.0) (position -0.03 -0.002 0.0)"Si3N4" "region_61")
(sdegeo:create-rectangle (position 0.1 -0.102 0.0) (position 0.03 -0.002 0.0)"Si3N4" "region_62")
(sdegeo:create-rectangle (position -0.1 0 0)(position 0.1 -0.002 0) "SiO2" "region_5" )
(sdegeo:define-contact-set "s" 4(color:rgb 1 0 0 ) "##" )
(sdegeo:define-contact-set "d" 4(color:rgb 0 1 0 ) "##" )
(sdegeo:define-contact-set "g" 4(color:rgb 0 0 1 ) "##" )
(sdegeo:define-contact-set "sub" 4(color:rgb 1 0 0 ) "##" )
(sdegeo:define-2d-contact(list (car (find-edge-id (position -0.185 0 0)))) "s")
(sdegeo:define-2d-contact(list (car (find-edge-id (position 0.185 0 0)))) "d")
(sdegeo:define-2d-contact(list (car (find-edge-id (position 0 1 0)))) "sub")
(sdegeo:set-current-contact-set "g")
(sdegeo:set-contact-boundary-edges (list (car (find-body-id (position -0.002 -0.05 0)))) "g")
(sdegeo:delete-region (list (car (find-body-id (position -0.002 -0.05 0)))))
(sde:define-parameter "fillet-radius" 0.08 0 0 )
(sdegeo:fillet-2d (list (car (find-vertex-id (position -0.1 -0.102 0))))0.08)
(sdegeo:fillet-2d (list (car (find-vertex-id (position 0.1 -0.102 0))))0.08)

(sdedr:define-constant-profile "ConstantProfileDefinition_2" "PhosphorusActiveConcentration" 1e+20)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_2" "ConstantProfileDefinition_2" "region_2")
(sdedr:define-constant-profile "ConstantProfileDefinition_3" "PhosphorusActiveConcentration"1e+20)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_3" "ConstantProfileDefinition_3" "region_3")
(sdedr:define-constant-profile "ConstantProfileDefinition_1" "BoronActiveConcentration" 1.5e+18)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_1" "ConstantProfileDefinition_1" "region_1")
(sdedr:define-constant-profile "ConstantProfileDefinition_4" "BoronActiveConcentration" 1.5e+18)
(sdedr:define-constant-profile-region "ConstantProfilePlacement_4" "ConstantProfileDefinition_4" "region_4")

(sdedr:define-refinement-size "RefinementDefinition_region_1" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_1" "RefinementDefinition_region_1" "region_1" )
(sdedr:define-refinement-size "RefinementDefinition_region_4" 0.0025 0.025 0.002 0.02)
(sdedr:define-refinement-region "RefinementPlacement_region_4" "RefinementDefinition_region_4" "region_4" )
(sdedr:define-refinement-size "RefinementDefinition_2" 0.01 0.02 0.004 0.02)
(sdedr:define-refinement-region "RefinementPlacement_2" "RefinementDefinition_2" "region_2" )
(sdedr:define-refinement-size "RefinementDefinition_3" 0.01 0.02 0.004 0.02)
(sdedr:define-refinement-region "RefinementPlacement_3" "RefinementDefinition_3" "region_3" )
(sdedr:define-refinement-size "RefinementDefinition_5" 0.1 0.01 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_5" "RefinementDefinition_5" "region_5" )
(sdedr:define-refinement-size "RefinementDefinition_region_61" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_61" "RefinementDefinition_region_61" "region_61" )
(sdedr:define-refinement-size "RefinementDefinition_region_62" 0.25 0.2 0.01 0.001)
(sdedr:define-refinement-region "RefinementPlacement_region_62" "RefinementDefinition_region_62" "region_62" )



(sdeio:save-tdr-bnd(get-body-list)"n@node@_bnd.tdr")
(sde:save-model"/home/gaitl/STDB/tmp/ggnmos2")
(sdedr:write-cmd-file"n@node@_msh.cmd")
(system:command"noffset3d n@node@_msh")
(sde:build-mesh "mesh""-s""n@node@_msh")
SDEVICE部分:
File {
*Input Files
Grid = "@grid@"
Doping="@doping@"
Parameter="@parameter@"
* Output Files
Plot= "@tdrdat@"
Current="@plot@"
Output= "@log@"
}
Electrode {
{ Name="s" Voltage=0.0 }
{ Name="d" Voltage= 0 }
{ Name="g" Voltage=0}
{ Name="sub" Voltage= 0.0}
}
Thermode{
{name="sub" Temperature=300 SurfaceResistance=0.01}
}
Physics {

Recombination (
SRH

Auger
Avalanche(Okuto)
)
Mobility (
DopingDependence
Enormal
HighFieldSaturation
PhuMob
)
Hydrodynamic(hTemperature)

}

Plot{

*--Density and Currents, etc
eDensity hDensity
TotalCurrent/Vector eCurrent/Vector hCurrent/Vector
eMobility hMobility
eVelocity hVelocity
eQuasiFermi hQuasiFermi
*--Temperature
eTemperature Temperature*hTemperature
*--Fields and charges
ElectricField/Vector Potential SpaceCharge
*--Doping Profiles
Doping DonorConcentration AcceptorConcentration
*--Generation/Recombination
SRH Auger * Band2Band
AvalancheGeneration eAvalancheGeneration hAvalancheGeneration
*--Driving forces
eGradQuasiFermi/Vector hGradQuasiFermi/Vector
eEparallel hEparallel eENormal hENormal
*--Band structure/Composition
BandGap
BandGapNarrowing
* Affinity
ConductionBand ValenceBand
* eQuantumPotential hQuantumPotential
eQuantumPotential
*--Gate Tunneling
* eBarrierTunneling hBarrierTunnelingBarrierTunneling
* eDirectTunnel hDirectTunnel
}

Math {
DrForceRefDens= 1e12
Extrapolate
Digits=6
Notdamped= 50
Iterations= 15
CNormPrint
ErrRef(electron) = 1e5
ErrRef(hole)= 1e5
}
Solve {
*- Creating initial guess:
Coupled(Iterations= 100 LineSearchDamping= 1e-4){ Poisson }
Coupled { Poisson Electron Hole hTemperature}


Continuation(
Name="d"
Normalized
Increment= 1.1
Decrement= 2.0
InitialVstep= 0.01
Incrementangle= 20
Decrementangle= 40
MaxVoltage= 20
MinVoltage= 0
MaxCurrent= 0.1
MinCurrent= 0.0
Iadapt= 1e-11
){ Coupled { Poisson Electron HolehTemperature}}

}

学习来了

谢谢 这几天仿真程序老不收敛。我以为是软件问题。原来是没有用continue这个语句。谢谢。我再试试。

谢谢小编,我也有类似的问题,难道这个必须用continuation算法才可以吗,这个比较耗时

mark mark

小编也没说是什么问题导致仿真曲线没有出现2次击穿,及最后是怎么解决的。我知道没有出现2次击穿有两个原因:1是寄生npn先导通了,因为β较大,和base res 太大。2是出现了漏源 pinch through。

小编没用阻性接触,漏极电压就只能随着扫描电压增加了

不错…

谢谢分享!学习下请教下:为什么要加个Thermode?

小编是怎么解决这个问题的呢

谢谢分享,学习了。

学习了

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

网站地图

Top