NPN三极管 Sentaurus vs SILVACO TCAD 模拟比较----Gumml 曲线与输出特性曲线Ic-Uce

Sentaurus TCAD: 功能强大,为主流半导体工艺器件仿真软件。从工程角度看待问题。

Silvacon TCAD: 简单易用,其deckbuild 如一般的编程程序调试器(pycharm,VS等)无异。

共同点: sprocess、sdevic 与 athena、atlas都是TCL语言。相互比较学习,往往事半功倍。

问题: 工艺中的NPN 三极管的 Gumml 曲线与输出特性曲线模拟

1. 仿真的结构图形

npn器件符号如下。

器件符号
模拟二维器件结构如下图

Sentaurus仿真工艺后结构
Sentaurus

Silvaco仿真工艺后结构
在这里插入图片描述

从图像看:Sentaurus的P区(boron 注入) 掺杂的默认配色方案,形象一些。

2. 直接代码(内有注释,深入体会需要细看。)

Sentaurus sprocess (模拟出工艺结构的部分)

#-----------------------------------
# 2D NPN Vertical Bipolar Transistor by dls
#-----------------------------------
math coord.ucs

line x location= 4.0<um> spacing= 0.1<um> tag= SubTop
line x location= 5.0<um> spacing= 0.1<um>
line x location= 6.0<um> spacing= 0.7<um> tag= SubBottom
line y location= 0.0<um> spacing= 6.00<um> tag= SubLeft    
line y location= 18.0<um> spacing= 6.00<um>
line y location= 18.5<um> spacing= 0.50<um>
line y location= 30.0<um> spacing= 0.50<um> tag= SubRight   

# Global Mesh settings for automatic meshing in newly generated layers
# --------------------------------------------------------------------

grid set.normal.growth.ratio.2d= 1.1 set.min.normal.size= 50<nm>
mgoals accuracy= 2e-5 

# 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= 1e+15<cm-3> field= Boron 

AdvancedCalibration

# 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}

# Epi layer
# ---------

deposit material= {Silicon} type= isotropic time= 1 rate= {4.0} Arsenic concentration= 1e15<cm-3>
diffuse temp= 1100<C> time= 60<min> 

struct tdr= n@node@_vert_npn1

# Show the final profiles
# -----------------------

SetPlxList {BTotal SbTotal AsTotal PTotal}
WritePlx n@node@_Buried.plx y=5.0

# Sinker (beginning of 2D problem)
# --------------------------------

###
refinebox Silicon min= {0 20.0} max= {3.0 26.0} xrefine= {0.25 0.25} yrefine= {0.25 0.25} 
grid remesh
###

deposit material= {Oxide} type= isotropic time= 1 rate= {0.05}
photo mask= Sinker thickness= 1
implant Phosphorus dose= 5e15<cm-2> energy= 200<keV>
strip Photoresist 
diffuse temp= 1100<C> time= 5<hr>

struct tdr= n@node@_vert_npn2

# Base
# ----

# Refine the mesh in the base region before the base implant.

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} 
grid remesh

photo mask= Base thickness= 1
implant Boron dose= 1e14<cm-2> energy= 50<keV> 
strip Photoresist
diffuse temp= 1100<C> time= 35<min> 

struct tdr= n@node@_vert_npn3

# 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 Photoresist
diffuse temp= 1100<C> time= 25<min> 

struct tdr= n@node@_vert_npn4

# 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.

grid set.normal.growth.ratio.2d= 20.0 set.min.normal.size= 300<nm>
mgoals accuracy= 2e-5 

deposit material= {Aluminum} type= isotropic   time= 1 rate= {1.0}
etch    material= {Aluminum} type= anisotropic time=1 rate= {1.1} mask= Metal

contact point x= -0.5  y= 5.0  name= emitter  replace
contact point x= -0.5  y= 10.0  name= base  replace
contact point x= -0.5  y= 23.0  name= collector  replace




struct tdr= n@node@_vert_npn5

exit

Sentaurus sdevic (模拟出器件特征曲线的部分)

Electrode {
   { Name= "emitter"   Voltage= 0.0 }
   { Name= "base"      Voltage= 0.0 } 
   { Name= "collector" Voltage= 0.0 }
}




File{
  Grid      = "n1_vert_npn5_fps.tdr"
  Plot      = "@tdrdat@"
  Current   = "@plot@"
  Output    = "@log@"
  Parameter = "@parameter@"
}




Physics {
   Hydro(eTemperature)
   Mobility(
     eHighFieldsaturation(CarrierTempDrive)
     hHighFieldSaturation
     DopingDep
   ) 
  Recombination(  
    SRH
    Radiative                        
    Auger
   )
   EffectiveIntrinsicDensity( OldSlotboom)
}
Plot{
*-Carrier Densities:
  eDensity hDensity
  * EffectiveIntrinsicDensity IntrinsicDensity
  * eEquilibriumDensity hEquilibriumDensity

*-Currents and current components:
  Current/Vector eCurrent/Vector hCurrent/Vector
  * ConductionCurrent/Vector DisplacementCurrent/Vector
  eMobility hMobility
  eVelocity hVelocity

*-Fields, Potentials and Charge distributions
  ElectricField/Vector 
  Potential 
  eQuasiFermi hQuasiFermi
  SpaceCharge

*-Driving forces
  eGradQuasiFermi/Vector hGradQuasiFermi/Vector
  eEparallel hEparallel 
  eENormal hENormal
  * eEffectiveField hEffectiveField

*-Temperatures
  LatticeTemperature
  eTemperature hTemperature

*-Generation/Recombination
  SRHRecombination Band2Band AugerRecombination RadiativeRecombination
  * AvalancheGeneration eAvalancheGeneration hAvalancheGeneration
  TotalRecombination
  eLifeTime hLifeTime
  SurfaceRecombination

*-Doping Profiles
  Doping 
  DonorConcentration AcceptorConcentration

*-Band structure
  BandGap 
  BandGapNarrowing
  ElectronAffinity
  ConductionBandEnergy ValenceBand

*-Composition
  xMoleFraction * yMoleFraction

*-Traps
  eTrappedCharge hTrappedCharge
  eGapStatesRecombination hGapStatesRecombination

*-Tunneling
  * BarrierTunneling eBarrierTunneling hBarrierTunneling
  * eDirectTunnel hDirectTunnel

}






Math{
   Extrapolate
   RelErrControl  
   Digits=5
   NotDamped=200
   Iterations=20
   RelerrControl
   ErReff(Electron)  = 1.e8
   ErReff(Hole)      = 1.e8
}


Solve {
* Initial Guess
   Coupled ( Iterations= 100 ) { Poisson }
   Coupled { Poisson Electron Hole eTemperature}

* Initial base ramp
   Quasistationary (
      InitialStep= 1e-5 Increment= 1.5
      Minstep= 1e-8 MaxStep= 0.2     
      Goal { Name= "collector" Voltage=3.0 }
   ){ Coupled { Poisson Electron Hole eTemperature } }

* Base and Collector ramp

   NewCurrentFile="Gummel_"
   Quasistationary (
      InitialStep= 1.0e-3 Increment= 1.5
      Minstep= 1e-8 MaxStep= 0.04
      Goal { Name= "base"      Voltage=1.0 }
   ){ Coupled { Poisson Electron Hole eTemperature }

   }
   
   
* work flow

   
}


Solve {

  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.96 }
  ){ 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-4 }
  ){ Coupled {Poisson Electron Hole }  
    Save(FilePrefix="n@node@_Ib" Time=(0.0;0.5;1) NoOverWrite )
  }
  
  NewCurrentPrefix="Ib0_"
  Load(FilePrefix="n@node@_Ib_0000")
  
  Quasistationary ( 
    InitialStep=0.01 Increment=1.3
    MaxStep =0.2 MinStep = 1e-6 
    Goal{ Name="collector" Voltage=3.0 }
  ){ Coupled {Poisson Electron Hole}
  }
  
  NewCurrentPrefix="Ib1_"
  Load(FilePrefix="n@node@_Ib_0001")
  
  Quasistationary ( 
    InitialStep=0.01 Increment=1.3
    MaxStep =0.2 MinStep = 1e-6 
    Goal{ Name="collector" Voltage=3.0 }
  ){ Coupled {Poisson Electron Hole}
  }
  
  NewCurrentPrefix="Ib2_"
  Load(FilePrefix="n@node@_Ib_0002")
  
  Quasistationary ( 
    InitialStep=0.01 Increment=1.3
    MaxStep =0.2 MinStep = 1e-6 
    Goal{ Name="collector" Voltage=3.0 }
  ){ Coupled {Poisson Electron Hole}
  }

}

Silvaco athena&atlas 一起来

# (c) Silvaco Inc., 2019
go athena
# Title     by dls
# First run: Through emitter

line x location=0.0  spac=0.2
line x location=5.0 spac=0.05
line x location=10.0 spac=0.05
line x location=23.0 spac=0.05
line x location=30.0 spacing=0.3

line y location=4.0 spac=0.05
line y location=5.0 spac=0.1
line y location=6.0 spac=0.2

init silicon orientation=100 c.boron=1e15 space.mul=1.5 two.d


# Buried layer(掩埋层)
Deposit     Oxide  Thickness=0.025 div=10
Implant     Antimony  Dose=5E15  Energy=100
Etch        Oxide  Thickness=0.03
# epi layer(外延层)
Epitaxy     Temperature=1050 Time=1 Growth.Rate=4.0 div=40 C.Arsenic=1e15
Diffusion   Temperature=1100  Time=60  
# 



# 防止注入损伤二氧化硅层
Deposit     Oxide  Thickness=0.05 div=10


# 集电极的注入
deposit photoresist thick=1.0 div=10

etch photoresist start x=22 y=1 
etch continue x=24 y= 1 
etch continue x=24 y= -2 
etch done x=22 y=-2 

implant     phos  dose=5e15 energy=200
etch photoresist
Diffusion   Temperature=1100  Time=300



# 基极的注入
deposit photoresist thick=1.0 div=10

etch photoresist start x=1.5 y=1 
etch continue x=13 y= 1 
etch continue x=13 y= -2 
etch done x=1.5 y=-2 

implant   boron  dose=1e14 energy=50
etch photoresist
Diffusion   Temperature=1100  Time=35



# 发射极的注入
deposit photoresist thick=1.0 div=10
etch photoresist start x=2.5 y=1 
etch continue x=8 y= 1 
etch continue x=8 y= -2 
etch done x=2.5 y=-2 

etch photoresist start x=22 y=1 
etch continue x=24 y= 1 
etch continue x=24 y= -2 
etch done x=22 y=-2 

implant arsenic dose=5.0e15 energy=55 tilt=7 rotation=0
etch photoresist
Diffusion   Temperature=1100  Time=25



# 刻蚀oxide
etch oxide start x=3.4 y=1 
etch continue x=7 y= 1 
etch continue x=7 y= -2 
etch done x=3.5 y=-2 

etch oxide start x=10 y=1 
etch continue x=12 y= 1 
etch continue x=12 y= -2 
etch done x=10 y=-2 


etch oxide start x=22.5 y=1 
etch continue x=23.5 y= 1 
etch continue x=23.5 y= -2 
etch done x=22.5 y=-2 


# 形成金属PAD

Deposit     Aluminum  Thickness=1.0 div=10

etch Aluminum start x=-1 y=1 
etch continue x=2 y= 1 
etch continue x=2 y= -3 
etch done x=-1 y=-3 

etch Aluminum start x=8 y=1 
etch continue x=9 y= 1 
etch continue x=9 y= -3 
etch done x=8 y=-3 

etch Aluminum start x=13 y=1 
etch continue x=22 y= 1 
etch continue x=22 y= -3 
etch done x=13 y=-3 

etch Aluminum start x=24 y=1 
etch continue x=35 y= 1 
etch continue x=35 y= -3 
etch done x=24 y=-3 




electrode name=emitter x=5 y=-0.5
electrode name=base  x=10 y=-0.5
electrode name=collector x=23 y=-0.5



structure outfile=tmp_01.str
tonyplot tmp_01.str

  


#           Implant and drive-in the antimony buried layer.


go atlas

models bipolar print  
material taun0=1e-6 taup0=1e-6

solve init
method newton trap
solve init
solve vcollector=0.1 vstep=0.1 vfinal=3.0 name=collector 
solve vbase=0.1
 
log outf=bjtex10.log
solve vbase=0.001 vstep=0.01 vfinal=1.0 name=base 

extract name="Vth1" x.val from curve(abs(v."base"),abs(i."collector")) where y.val=1e-5
extract name="Vth2" x.val from curve(abs(v."base"),abs(i."collector")) where y.val=5e-5
extract name="Vth3" x.val from curve(abs(v."base"),abs(i."collector")) where y.val=1e-4
tonyplot  bjtex10.log





#IC/VCE with constant IB

#ramp Vb

log off
solve init
solve vbase=0.025
solve vbase=0.05

#
solve  vbase=0.1 vstep=0.01 vfinal=0.9 name=base
#
#
## switch to current boundary conditions
#
contact name=base current
#
## ramp IB and save solutions
solve ibase=1.e-6
save outf=bjtex04_1.str master
solve ibase=5.e-5
save outf=bjtex04_2.str master
solve ibase=1.e-4
save outf=bjtex04_3.str master
#
#
#
## load in each initial guess file and ramp VCE
load inf=bjtex04_1.str master
log outf=bjtex04_1.log 
solve vcollector=0.0 vstep=0.02 vfinal=3.0 name=collector
#
load inf=bjtex04_2.str master
log outf=bjtex04_2.log
solve vcollector=0.0 vstep=0.02 vfinal=3.0 name=collector
#
load inf=bjtex04_3.str master
log outf=bjtex04_3.log
solve vcollector=0.0 vstep=0.02 vfinal=3.0 name=collector


# plot results
tonyplot -overlay  bjtex04_1.log bjtex04_2.log bjtex04_3.log

quit

3. Gumml 曲线对比

Ve&Vc=0 时, Ic=1e-5A 时:

  1. Vbase(sentaurus): 0.744v
    2)Vbase(silvaco): 0.731v
    两种模拟相差不大,在网格化误差范围内。
    在这里插入图片描述

4. 输出特性曲线Ic-Uce

如图:基极电流为5e-6时,Sentaurus 模拟的电流191uA,而Silvaco为168uA,不同软件是有些差别的。
在这里插入图片描述

5. 总结
两个不同TCAD软件有不同之处:如 X,Y坐标的定义,参数变量的使用,模型参数的提取方面;但是在使用语言,求解的逻辑等方面有很大的相识性。各位看官,如有课题、毕设、项目难点,欢迎骚扰!

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值