在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 43390|回复: 57

[原创] 大神勿进,小白福利 Sentaurus ESD 仿真经验与实例

[复制链接]
发表于 2014-4-5 16:57:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
首先声明,TCAD对于本人来说是副业,前几天小伙伴找我帮忙玩一下ESD,由于之前有些TCAD的经验就试着玩了一下,本人对ESD里理解还是很肤浅的,望各路大神指教。
关于ESD仿真,见过有些文章用medici的,silvaco还有例子。之前也用过medici做过SEL,但是用起来都不如sentaurus顺手。sentaurus是个入门时间比较长的东西,但是掌握了那些软件的相互关系,再改几个例子玩玩就能上手了,swb神器不解释

首先是器件建模,能拿到foundry厂recipe然后做sprocess大神可以高冷的嘲笑一下我等摸黑前进的苦逼了。我也曾经试过用sprocess跑过,但是实在是搞不定,感觉hold不住最后的mesh。根据我的实践,有两种自定义的方法:

第一种是process emulator,不知道的去sde手册里搜,一个很实用的工具,可以读版图,根据各层做掺杂,但是没有物理过程,相当于一个“伪”工艺仿真。好处就是根据版图做三维结构很方便。还可以根据版图做refinement,不过这一块我还没有玩过

第二个就是写sde的command file了。很多同志喜欢用sde手动画结构,我之前也手动画过,但是手动画的话在之后校准或者调参数会带来一些麻烦。我自己喜欢写好command file之后直接在sde里面mesh好,觉得做完结构再加一个snmesh来mesh还是太啰嗦了。关于mesh,根据我的仿真,加一个MaxTransDiff的refinement function,multibox一定要加一些。我见过暴力的直接整个结构按0.001来mesh,简直就是找死。之前我是小白的时候也试过把结深附近的全做成一个尺寸的mesh,作死不解释。还有就是定义结构的时候适当定义一些中间变量,会方便很多。顺便吐槽一下sde里面,做运算居然是(define A (+ B D) ) 这种丧心病狂的格式。最后要注意heatsink要做,而且衬底不能太薄以至于和真实的热血条件相差太大,几um就行。

最关键的就是sdevice了,江湖盛传用continuation才能仿出snapback,不过经本人的实践,continuation仿出来的结果和TLP做出来的差别比较大,用来定性分析一下还不错,我记得我仿的时候居然做出了9000K的温度,当时都吓出汗了。从来没试过加电压,估计很不容易收敛吧。我一般都是加一个TLP电流(比如在GGNMOS的drain加一个上升时间10ns,20mA,衰减时间140ns的电流)。这个方法结果是可以仿出来的,但是设置不好很容易不收敛。有关细节实在说太多了。sentaurus在这些地方很鸡贼,高端的全部都放在solvenet,想看例子就得交钱,没钱去扣手册估计得整个小半年才搞的清楚。在这里再膜拜一下有solvenet id的大神。具体来说解法用ILS就行了,有关热的和击穿的能加的都加上。

贴个某本书里面的脚本吧


* Electrothermal  Simulation  of a ggNFET   (0.13 um  CMOS)
* under  TL  Pulse  conditions:   duration   150  ns     5  mA/u

* specification  of  the electrodes   con ect drain to a piecewise  linear
* current  source with  5 mA/u      1 ns  risetime  a d  150 ns  duration

Electrode { {name="drain" voltage=0 current= ((0,5.e-15)(10.e-9,25e-3)(150e-9,1e-6))}
{ name="source" voltage=0.0 }
{ name="substrate"    voltage=0.0}
{ name="gate"   voltage=0    }}

* specification of  thermodes   pin metal connect on to 300 K

Thermode  {   {name= "heatsink"   temperature=300}}
* specify file names

File {
*Input Files
Grid = "@tdr@"

* Output Files
Plot= "@tdrdat@"
Current="@plot@"
Output= "@log@"
}

* specify  physical   models
Physics { Recombination ( SRH(DopingDep) Auger Avalanche(vanOverstraeten))
Mobility   (  DopingDependence  CarrierCarrierScattering HighFieldSaturation(GradQuasiFermi)   )
EffectiveIntrinsicDensity   (  BennettWilson  )  Thermodynamic  }

* specify  output  values
plot { eDensity hDensity eCurrent hCurrent Totalcurrent
ElectricField  Potential  Doping  SpaceCharge SRH  Auger  Avalanche  EffectiveIntrinsicDensity
LatticeTemperature     }

* numerical   settings
Math {Derivatives  Avalderivative   NoCheckTransientError NewDiscretization    RelErrControl   
Digits=5 Number_of_Threads = maximum}

* specify  equations to be  solved
solve  { Poisson
Coupled { Poisson Electron Hole }
Coupled { poisson electron hole   temperature}
Transient (InitialStep=5e-13 MaxStep=1e-8 MinStep=1e-16 Increment=1.5 InitialTime=0 FinalTime=150e-9
plot  { range=(0,150e-9)  intervals=3}   )
{ Coupled { poisson electron hole   temperature}}   }


这个是可以出结果的,但是收敛性一般,跑一组数据基本上最后都会红掉,但是snapback还是可以看得到的。

再贴个continuation的脚本,当时也是在eetop一个隐蔽的位置找到的

**********************SDEVICE*************************


File {
*Input Files
Grid = "@tdr@"

* Output Files
Plot= "@tdrdat@"
Current="@plot@"
Output= "@log@"
}




Electrode {
{ Name="source" Voltage=0.0 }
{ Name="drain" Voltage= 0 Resist=600}
{ Name="gate" Voltage=0 }
{ Name="substrate" Voltage= 0.0 }
}

Thermode{
          {name="heatsink" 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 hBarrierTunneling  BarrierTunneling
   * eDirectTunnel hDirectTunnel
}


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



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


Continuation(
  Name="drain"
  Normalized   
  Increment= 2.0
  Decrement= 2.0
  InitialVstep= 0.01
  Incrementangle= 30
  Decrementangle= 60
  MaxVoltage= 50
  MinVoltage= 0
  MaxCurrent= 0.5
  MinCurrent= 0.0
  Iadapt= 1e-11
    ){ Coupled { Poisson Electron Hole  hTemperature}}


}
这个收敛性很不错的


机缘巧合看到的一个脚本,比较高端,收敛性很好,把干货都贴在下面了

Plot :
        Doping # AcceptorConcentration DonorConcentration

Potential eQuasiFermi hQuasiFermi


# ConductionBandEnergy ValenceBandEnergy


ElectricField/Vector # eGradQuasiFermi hGradQuasiFermi


ConductionBand ValenceBand


eDensity hDensity SpaceCharge


eCurrent/Vector hCurrent/Vector Current/Vector


ConductionCurrent/Vector DisplacementCurrent/Vector


SRHRecombination SurfaceRecombination


AugerRecombination TotalRecombination


AvalancheGeneration eAvalanche hAvalanche eEparallel hEparallel


eIonIntegral  hIonIntegral meanIonIntegral


EffectiveIntrinsicDensity IntrinsicDensity


eLifeTime hLifeTime eMobility hMobility


eVelocity/Vector hVelocity/Vector


LatticeTemperature Temperature # eTemperature hTemperature


TotalHeat RecombinationHeat hJouleHeat eJouleHeat


Math:


Method    = ILS


transient = BE


Wallclock


Extrapolate


Derivatives


AvalDerivatives


Digits = 6


Iterations
  = 20
            


Notdamped
  = 50


RhsFactor         = 1e20



Physics:
          EffectiveIntrinsicDensity ( OldSlotboom )


  Mobility ( DopingDep ( UniBo )


     HighFieldSaturation ( GradQuasiFermi )


     CarrierCarrier ( ConwellWeisskopf )


   )



  Recombination ( SRH ( DopingDependence  TempDependence )


  Avalanche ( UniBo2 GradQuasiFermi )


  Auger


)


  Thermodynamic


  AnalyticTEP



看到这个还不知道sdevice command file怎么写的可以去面壁了

剩下的用SVisual或者inspect提参数有兴趣的大神自己研究一下吧


sde的脚本就不能给了,你懂的。不过跟着CMOS例子里面那个走一下基本上就OK了,不过例子里面是做一般然后最后mirror的,个人很不喜欢这种方法,这个例子也不太好改,当时我就怒写了一个全新的。

最后说一下环境,我64位i7 8G小本,虚拟机里给了4G内存
模型mesh出来差不多是这样的

The final mesh has:
    9684 points.
   19034 elements.
      10 regions.
Max. connectivity = 10 located at (2.15244;1.88363)


minAngle: 0.0240401  maxAngle: 127.498
nVerts = 9684  nTris = 19034  nMats = 5
max connectivity (tris per node): 10
bmin: -0 -0
bmax: 5.58 2.10572
min edgeLength: 9.14551e-06  [near (2.15789 2.00572)]
min volume: 2.76866e-09  max volume: 0.00286863  Total volume: 11.2079

之前也有江湖传言说PC机的最多只能跑8000个point,还要跑大半天。我反正基本上不到一个小时搞定。仿3D的最好还是去工作站吧,或者顶配PC不用虚拟机



祝大家仿真多多收敛。顺便宣传一下一个群,33934490,里面有大神,你懂的

最后对ESD工程师致以崇高的敬意,我感觉ESD设计真是神出鬼没千变万化,辛苦了
发表于 2014-4-10 16:16:00 | 显示全部楼层
毕设急需sentaurus ESD仿真,跪谢楼主!
发表于 2014-4-11 09:09:30 | 显示全部楼层
不做esd却能搞定esd仿真的才厉害呀。。。
问下楼主的heatsink是怎么设置的呀?直接用drain或者source做heatsink嘛?
发表于 2014-4-20 07:25:50 | 显示全部楼层
continuation 是直流仿真  TLP是瞬态,考虑电容,所以不一样,我的经验是TLP容易收敛
发表于 2014-4-21 12:23:21 | 显示全部楼层
又有问题了,跑出来lattice temperature是常数,整个结构都是300K。。。有办法做热仿真吗?

hTemperature是有变化的。
 楼主| 发表于 2014-4-21 13:09:48 | 显示全部楼层
回复 5# bs62


   估计是你plot的时间不对
发表于 2014-4-21 19:11:12 | 显示全部楼层
知道问题了,我是用第二个程序跑的。couple里我没有加temperature
发表于 2014-5-7 11:54:53 | 显示全部楼层
我第一次做ESD仿真,也是仿真GGNMOS,有些问题想请教一下,有一个厂商的工艺流程所以一直都用sproess跑的仿真,不会用sde,汗一个,所以contact信息都在sprocess里设定好了,source、drain、gate、substrate四个contact,想问一下thermode能不能直接用substrate?还有器件表面应该是不导热的,衬底导热,那我只将衬底设置为thermode是否是对的?
发表于 2014-5-8 14:45:02 | 显示全部楼层
回复 6# qfliuyang


   有些问题想请教一下,我用sprocess做了一个2D的NMOS管,在sdevice里,我用device语句,把NMOS管做成了一个device,在漏极上串联一个1e5欧姆的大电阻做直流仿真,仿真出了回滞曲线,但是仿真不出失效点,仿真后看晶格温度,温度最高的地方在源极和栅极交界处;TLP也仿了,在漏极用Isource_pbset加了一个脉冲电流,但是很难收敛,用了LZ写的收敛性很好的sdevice,收敛性解决了,但是仿真出的曲线很奇怪,之前没有用过sde,也没做过温度方面的仿真,我不知道是不是我的thermode设置的对不对,我在sprocess里用contact语句做好source、drain、gate、substrate后,直接用的substrate作为热电极,不知道这样做对不对,下面是我写的直流仿真的sdeviceDevice Nmos{
File {
* input files:
Grid = "ESD_sp_fps.tdr"
* output files:
Plot = "n1_des.tdr"
Current = "n1_des.plt"
}
Electrode {
{ Name="source"
Voltage=0.0  }
{ Name="drain"
        Voltage=0.0  }
{ Name="gate"
        Voltage=0.0  }
{ Name="substrate"
Voltage=0.0  }
}
Thermode {
          { Name = "substrate" Temperature = 300 }
         }
Physics{ Hydrodynamic
         RecGenHeat
         eQCvanDort                                       
         AnalyticTEP
         EffectiveIntrinsicDensity (BandGapNarrowing (OldSlotboom))
         Mobility(
                  DopingDep
                  CarrierCarrierScattering      
                  HighFieldSaturation            
                  Enormal                                
                 )
          Recombination(
                        SRH( DopingDependence  Tempdep )
                        Auger                        
                        Avalanche(ElectricField)
                       )
       }
       }
System {
  Nmos nmos (drain=d source=0 gate=0  substrate=0)
  Resistor_pset  r ( in   d ){ resistance = 1e5 }
  Vsource_pset  vd ( in   0 ){ dc = 0 }
}
File { Output = "n1_des.log" }
Plot {
*--Density and Currents, etc
   eDensity hDensity
   TotalCurrent/Vector eCurrent/Vector hCurrent/Vector
   eMobility hMobility
   eVelocity hVelocity
   eQuasiFermi hQuasiFermi
*--Temperature
   Temperature
*--Fields and charges
   ElectricField/Vector Potential SpaceCharge
*--Doping Profiles
   Doping DonorConcentration AcceptorConcentration
*--Generation/Recombination
   SRH Band2Band * Auger
   AvalancheGeneration eAvalancheGeneration hAvalancheGeneration
*--Driving forces
   eGradQuasiFermi/Vector hGradQuasiFermi/Vector
   eEparallel hEparallel eENormal hENormal
*--Band structure/Composition
   BandGap
   BandGapNarrowing
   Affinity
   ConductionBand ValenceBand
   eQuantumPotential
}
Math {
   Extrapolate
   Derivatives
   Iterations=300
   RelErrControl
   Digits=6
   method= ILS(set= 2)
   WallClock
   Number_of_Threads = 4
   Notdamped =330
}
Solve {
       Poisson
       Coupled{ Poisson Electron Hole }
       Quasistationary(
                       InitialStep=1e-16 Increment=1.35
                       MinStep=1e-25 MaxStep=1
                       Goal{ Parameter=vd.dc Voltage= 4000 }
                      )
       { Coupled{ Poisson Electron Hole Temperature }}      
     }

下面是我用LZ介绍的第三的sdevice写的TLP仿真
Device Nmos{
File {
* input files:
Grid = "ALLFinalPixel_fps.tdr"
* output files:
Plot = "n1_des.tdr"
Current = "n1_des.plt"
}
Electrode {
{ Name="source"
Voltage=0.0  }
{ Name="drain"
        Voltage=0.0  }
{ Name="gate"
        Voltage=0.0  }
{ Name="substrate"
Voltage=0.0  }
}
Thermode {
          { Name = "substrate" Temperature = 300 }

         }
Physics{ Thermodynamic                           
         AnalyticTEP
         EffectiveIntrinsicDensity (BandGapNarrowing (OldSlotboom))
         Mobility(
                  DopingDep ( UniBo )
                  CarrierCarrierScattering ( ConwellWeisskopf )      
                  HighFieldSaturation ( GradQuasiFermi )            

                 )
          Recombination(
                        SRH( DopingDependence  Tempdep )
                        Auger                        
                        Avalanche ( UniBo2 GradQuasiFermi )
                       )
       }
       }
System {
  Nmos nmos (drain=d source=0 gate=0  substrate=0)
  Isource_pset  id ( d   0 ){ pwl = (0.0e+00
0.0
   
                                     3.0e-7
0.0
      
                                     3.1e-7
0.04

                     4.1e-7     0.04
                                     4.2e-7     0.0) }

}
File { Output = "n1_des.log" }
Plot {
*--Density and Currents, etc
   eDensity hDensity
   TotalCurrent/Vector eCurrent/Vector hCurrent/Vector
   eMobility hMobility
   eVelocity hVelocity
   eQuasiFermi hQuasiFermi
*--Temperature
   LatticeTemperature Temperature
*--Fields and charges
   ElectricField/Vector Potential SpaceCharge
*--Doping Profiles
   Doping DonorConcentration AcceptorConcentration
*--Generation/Recombination
   SRH Band2Band * Auger
   AvalancheGeneration eAvalancheGeneration hAvalancheGeneration
*--Driving forces
   eGradQuasiFermi/Vector hGradQuasiFermi/Vector
   eEparallel hEparallel eENormal hENormal
*--Band structure/Composition
   BandGap
   BandGapNarrowing
   Affinity
   ConductionBand ValenceBand
   eQuantumPotential
}
Math {
   method= ILS(set= 2)
   transient=BE
   WallClock
   Extrapolate
   Derivatives
   AvalDerivatives
   Digits=6
   Iterations=300
   Notdamped =330
   RhsFactor=1e20
   Number_of_Threads = 4
}
Solve { Poisson
       Coupled{ Poisson Electron }
       Coupled{ Poisson Electron Hole }
       Transient (

                  InitialTime=0
  
                  FinalTime=5e-7
                  InitialStep=1e-15   
                  MaxStep=1e-5   

          MinStep=1e-20
         
  Increment=1.3
       Plot {
             Range = (3.0e-7 4.3e-7) Intervals=14} )               
            { Coupled { nmos.poisson nmos.electron nmos.contact nmos.Temperature circuit }  
            }
     }

如果有问题请楼主指出,谢谢
发表于 2014-5-22 14:24:44 | 显示全部楼层
跪求qfliuyang的联系方式,可否加为QQ好友:371845556。有问题想作更详细的请教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 14:19 , Processed in 0.024507 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表