只要是对这两个视频的学习记录
4.4.2 npn型晶体管的二维Sentaurus Process建模流程介绍
4.4.3 npn型晶体管的电学二维仿真


4.4.2 建模

视频里所用的网格格点太密,导致我的小电脑内存不够(给虚拟机分配了6GB内存),所以将基础网格的x,y都放大了10倍,mgoals也调整了一下,事实也能够顺利完成后面的电学分析,现在把代码贴在下面

#----------------------------
# 2D NPN Vertical Bipolar Transistor
#------------------------------

#line x location= 4.0<um>  tag= SubTop     spacing= 0.005<um>
#line x location= 5.0<um>                  spacing= 0.005<um>
#line x location= 6.0<um>  tag= SubBottom  spacing= 0.02<um>
#line y location= 0.0<um>  tag= SubLeft    spacing= 0.02<um>
#line y location= 18.0<um>                 spacing= 0.02<um>
#line y location= 18.5<um>                 spacing= 0.02<um>
#line y location= 30.0<um> tag= SubRight   spacing= 0.02<um>

line x location= 4.0<um>    tag= SubTop     spacing= 0.05<um>
line x location= 5.0<um>                    spacing= 0.05<um>
line x location= 6.0<um>    tag= SubBottom  spacing= 0.2<um>
line y location= 0.0<um>    tag= SubLeft    spacing= 0.2<um>
line y location= 18.0<um>                   spacing= 0.2<um>
line y location= 18.5<um>                   spacing= 0.2<um>
line y location= 30.0<um>   tag= SubRight   spacing= 0.2<um>

#GlobalMesh setting for automatic meshing in newly generated layers
#-----------------------

mgoals normal.growth.ratio= 1.1 accuracy= 2e-4 min.normal.size= 50<um> max.lateral.size= 6.0<um>

#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= 1e15<cm-3>  field= Boron

##graphics on cmd="plot.2d grid"

# 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}
struct tdr= tem_file

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

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


# show the final profiles
#-------------

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

# Sinker
# --------------

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

struct tdr= n@node@_vert_npn1

# Base
# refine the mesh in the base region before the base implant.

refinebox clear
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} add
refinebox remesh

photo mask= Base thickness= 1
implant Boron dose= 1e14<cm-2> energy= 50
strip Resist
diffuse temperature= 1100<C> time= 35<min>
struct tdr=n@node@_vert_npn2

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

struct tdr= n@node@_vert_npn3

# 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

mgoals on normal.growth.ratio= 20.0 accuracy= 2e-4 min.normal.size= 300<nm> max.lateral.size= 0.7<um>

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

struct tdr= n@node@_vert_npn4


## add contact device simulation
contact name= "emitter"     box Aluminum    adjacent.material= Gas ylo= 3       yhi= 7      xlo= -1.2       xhi= -0.6
contact name= "base"        box Aluminum    adjacent.material= Gas ylo= 10      yhi= 12     xlo= -1.2       xhi= -0.6
contact name= "collector"   box Aluminum    adjacent.material= Gas ylo= 22.5    yhi= 23.5   xlo= -1.2       xhi= -0.6 add

struct tdr= n@node@_vert_npn5

exit

4.4.3 npn型晶体管的电学二维仿真

正向gummel

File {
    * input files
    Grid= "n@previous@_vert_npn5_fps.tdr"
    * output files
    Current= "npn_Gummel"
    Plot= "npn_Gummel"
    Output= "npn_Gummel"
}


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

Physics {
    Hydrodynamic( eTemperature )
    EffectiveIntrinsicDensity(BandGapNarrowing(Slotboom))
    Mobility (
        DopingDependence
            HighFieldSaturation
    )
    Recombination (
        Auger
        SRH(DopingDependence)
        Avalanche(Okuto)
    )
}

Plot {
    * --Density and Current, etc
    eDensity hDensity
    TotalCurrent/Vector 
    eMobility hMobility
    eVelocity hVelocity
    eQuasiFermi hQuasiFermi

    *--Temprerature
    eTemperature Temperature hTemperature

    *--Fields and charges
    ElectricField/Vector Potential SpaceCharge

    *--Band structure
    BandGap
    BandGapNarrowing
    Affinity
    ConductionBand ValenceBand
    xMoleFraction
}

Math {
    NumberOfThreads= 6
    Extrapolate
    Notdamped= 50
    Iterations= 15
    ExitOnFailure
    Digits= 7
    DrForceRefDens= 1e12
    eMobilityAveraging= ElementEdge
    hMobilityAveraging= ElementEdge
    GeometricDistances
    ParameterInheritance= Flatten
}

Solve {
    * initial guess
    Coupled ( Iterations= 100 ) { Poisson }
    coupled { Poisson Electron Hole }

    *base and colletor and base ramp
    Quasistationary (
        InitialStep= 1e-3 Increment= 1.5
        Minstep= 1e-6 MaxStep= 0.03
        Goal { Name= "base"     Voltage= 1.1 }
        Goal { Name= "collector"    Voltage= 1.1 }
    ){  Coupled { Poisson Electron Hole }
        CurrentPlot ( Time= (Range= (0 1) intervals= 50))
        Plot( FilePrefix= "npn_snap" Time= (0.5;0.7) NoOverWrite)
    }
}


输出曲线

File {
    * input files
    Grid= "n@previous|-1@_vert_npn5_fps.tdr"
    * output files
    Current= "npn_Gummel"
    Plot= "npn_Gummel"
    Output= "npn_Gummel"
}


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

Physics {
    Hydrodynamic( eTemperature )
    EffectiveIntrinsicDensity(BandGapNarrowing(Slotboom))
    Mobility (
        DopingDependence
            HighFieldSaturation
    )
    Recombination (
        Auger
        SRH(DopingDependence)
        Avalanche(Okuto)
    )
}

Plot {
    * --Density and Current, etc
    eDensity hDensity
    TotalCurrent/Vector 
    eMobility hMobility
    eVelocity hVelocity
    eQuasiFermi hQuasiFermi

    *--Temprerature
    eTemperature Temperature hTemperature

    *--Fields and charges
    ElectricField/Vector Potential SpaceCharge

    *--Band structure
    BandGap
    BandGapNarrowing
    Affinity
    ConductionBand ValenceBand
    xMoleFraction
}

Math {
    Extrapolate
    Notdamped= 50
    Iterations= 15
    ExitOnFailure
    Digits= 7
    DrForceRefDens= 1e12
    eMobilityAveraging= ElementEdge
    hMobilityAveraging= ElementEdge
    GeometricDistances
    ParameterInheritance= Flatten
}

Solve {
    NewCurrentFile= "init"
    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.5 }
    ){ 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-7 }
    ){ Coupled { Poisson Electron Hole }
        Save(FilePrefix= "Ib" Time=(0;0.5;1) NoOverWrite )
    }

    NewCurrentFile="Ib0"
    Load(FilePrefix="Ib_0000")

    Quasistationary (
        InitialStep= 0.01 Increment= 1.3
        MaxStep= 0.2 MinStep= 1e-6
        Goal{ Name= "collector" Voltage= 1.5 }
    ){ Coupled { Poisson Electron Hole }
        }


    NewCurrentFile="Ib1"
    Load(FilePrefix="Ib_0001")

    Quasistationary (
        InitialStep= 0.01 Increment= 1.3
        MaxStep= 0.2 MinStep= 1e-6
        Goal{ Name= "collector" Voltage= 1.5 }
    ){ Coupled { Poisson Electron Hole }
        }   

    NewCurrentFile="Ib2"
    Load(FilePrefix="Ib_0002")

    Quasistationary (
        InitialStep= 0.01 Increment= 1.3
        MaxStep= 0.2 MinStep= 1e-6
        Goal{ Name= "collector" Voltage= 1.5 }
    ){ Coupled { Poisson Electron Hole }
        CurrentPlot(Time=(Range=(0 1) Intervals=20))
        }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注