Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перевод МММ / 4_%_11 M.E. Law, M. Griglione, E. Patrick, N. Rowsey, and D. Horton Reliability Simulation.pdf
Скачиваний:
19
Добавлен:
27.03.2015
Размер:
1.18 Mб
Скачать

528

M.E. Law et al.

16.3.3 FLOORS Implementation

16.3.3.1Poisson and Continuity Equations

In silicon, the solution variables are electrostatic potential, electrons, and holes. The ionized dopant atoms in silicon are fixed point charges and as such must be included in Poisson’s equation. However, the ionized dopant concentrations are known and do not change in concentration, and so these point defects will not have a continuity, or ddt() equation. Electrons and holes are charged and mobile, and so both drift and diffusion must be accounted for. In FLOORS, the sgrad() operator accounts for both drift and diffusion together.

Under irradiation, a nonequilibrium condition, electron–hole pairs will be generated according to a radiation generation term [26]:

Uradiation ¼ Yf Rd;

(16.16)

where Yf is the yield fraction of electron–hole pairs in SiO2 that survives geminate recombination [27], an initial recombination step that is not modeled in FLOORS, and Rd is the dose rate of the radiation. Thus, the equation set defined in silicon is

r ðerCÞ ¼ Ndþ Na þ n p

(16.17)

 

dn

1

 

*

 

 

 

 

 

¼

 

 

r Jn Uradiation

(16.18)

 

 

dt

q

 

dp

1

*

 

 

 

¼

 

r Jp Uradiation

(16.19)

 

dt

q

where C is electrostatic potential, and Ndþ, Na , n, and p are the concentrations of ionized donors, ionized acceptors, electrons, and holes. The FLOORS implementation is

pdbSetString Silicon DevPsi Equation “eps*grad(DevPsi) + Ndminus - Naplus - Elec+Hole”

pdbSetString Silicon Elec Equation “ddt(Elec) - MOB*sgrad (Elec, Vt) + Uradiation_Si”

pdbSetString Silicon Hole Equation “ddt(Hole) + MOB*sgrad (Hole, Vt) + Uradiation_Si”

In SiO2, the solution variables are electrostatic potential, electrons, holes, protons, molecular hydrogen, uncharged oxygen vacancies (Vþo andVoHþ, which are uncharged point defects), and charged oxygen vacancies (Vþo and VoHþ , which are charged point defects). All the charged species must be included in Poisson’s equation:

r ðerCÞ ¼ Ndþ Na þ p n þ Hþ þ Voþ þ VoHþ

(16.20)

16 Reliability Simulation

529

and the FLOORS implementation is

pdbSetString Oxide DevPsi Equation “eps*grad(DevPsi)- Hole + Elec-Hplus-Voplus-VoHplus”

Any species changing concentration with time must have its own continuity equation. The creation and consumption, or recombination/generation, of species due to the chemical reactions above must be included in the continuity equations. The formulation of these terms will be discussed later and for now will be represented under the term Unet_reactions. Species which are both charged and mobile undergo both drift and diffusion transport. For example, protons will have a continuity equation:

dHþ

1

r JHþ Unet

 

 

 

 

¼

 

 

reactions

(16.21)

dt

q

 

and will use the sgrad() operator:

pdbSetString Oxide Elec Equation “ddt(Elec) - MOB*sgrad (Elec, +DevPsi/Vt)+Urad+UnetR_Elec”

pdbSetString Oxide Hole Equation “ddt(Hole)+MOB*sgrad (Hole, -DevPsi/Vt)+Urad+UnetR_Hole”

pdbSetString Oxide Hplus Equation “ddt(Hplus)+MOB*sgrad (Hplus, -DevPsi/Vt)+UnetR_Hplus”

Species which are mobile, but not charged, have only diffusion in their continuity equation, which is accounted for in FLOORS by the grad() operator:

pdbSetString Oxide H2 Equation “ddt(H2)+D*grad(H2)+ U_net_reactions_H2”

Finally, point defects are not mobile, so have neither drift nor diffusion, but still have net recombination/generation due to the reactions:

pdbSetString Oxide Vo Equation “ddt(Vo)-U_net_ reactions_Vo”

pdbSetString Oxide VoH Equation “ddt(VoH)-U_net_ reactions_VoH”

pdbSetString Oxide Voplus Equation “ ddt(Voplus)-U_net_ reactions_Voplus”

pdbSetString Oxide VoHplus Equation “ddt(VoHplus)-U_net_ reactions_VoHplus”

Inputting equations by hand for more than three species gets very cumbersome and can lead to careless errors. Instead, we use a Tcl procedure that will take the name of each variable, and some information about the variable, such as whether it is charged and mobile, or fixed and uncharged, to build a continuity equation for you. For example, the procedure AddSpecies

530

M.E. Law et al.

proc AddSpecies {Name Mat Const Val Charge} { set eqn “ddt($Name)”

if {$Const ¼¼ “D”} {

append eqn “-$Val*grad($Name)” pdbSetBoolean $Mat $Name mobile_yn 1

}

if {$Const ¼¼ “MOB”} {

if {$Charge ¼¼ “-”} {append eqn “-$Val*Vt*sgrad (($Name), +DevPsi/Vt)”}

if {$Charge ¼¼ “+”} {append eqn “-$Val*Vt*sgrad (($Name), -DevPsi/Vt)”}

pdbSetBoolean $Mat $Name mobile_yn 1

}

#Add dharged terms to Poisson Equation if {$Charge !¼”0”} {

if {[pdbIsAvailable $Mat DevPsi Equation]} { set eqnP [pdbGetString $Mat DevPsi Equation] set eqnP [append eqnP “ $Charge $Name”] pdbSetString $Mat DevPsi Equation $eqnP puts “Amending Poisson Eqn in $Mat to: $eqnP”

}

}

#Store the transport equation in the pdb puts “Adding $Name Equation in $Mat: $eqn” pdbSetString $Mat $Name Equation $eqn

#for understanding the type of species for the k-calc pdbSetString $Mat $Name Const $Const;#probably don’t need this

pdbSetString $Mat $Name Charge $Charge

}

takes the species name, its transport type (MOB for drift-diffusion, D for diffusion, or 0 for fixed), the value of that constant (mobility in cm2/V/s, diffusion in cm2/s, or 0 for fixed), and its charge type (+/ /0) and builds the appropriate continuity equation based on this information and also adds any charged species to Poisson’s equation. In this way, you can add many species, easily keeping track of them, their equations, and their parameters:

#Example:

 

 

 

 

 

#Procedure

Name

Mat

Const

Val Charge

#- - - - - - - -

- - - -

- - - - - - -

- - - - -

- - - - - - -

- -

AddSpecies

H2

Oxide

D

1.7e-15

0

16 Reliability Simulation

531

16.3.3.2Generation and Recombination Due to Chemical Reactions

Each Unet_reactions term is built based on energy balance equations [28]. Consider Eqs. 16.12 and 16.13 under equilibrium. From the law of mass action, the concentrations of all the species are related in equilibrium via

kf 0 ½Vo& ½hþ& ¼ kr0 Voþ

(16.22)

kf 0 Voþ ½H2& ¼ kr1 ½VoH& ½Hþ&

(16.23)

where the bracket indicates concentration of the species and kf and kr are reaction rates, related by the reaction’s equilibrium constant. Equations (16.22) and (16.23) above are true in equilibrium. For nonequilibrium conditions, there will be either net recombination or generation of each species involved in a reaction. For each reaction, a net recombination term can be assembled. This term is then added to continuity equation for species that are being generated and subtracted from continuity equations for each species experiencing recombination. For example, in Eq. 16.12, Vo+ is being generated according to

GVoþ;R0

¼ kf 0 ½Vo& ½hþ& kr0 Voþ

(16.24)

and Vo and h+ are recombining according to

 

Ghþ;R0

¼ kr0 Voþ kf 0 ½Vo& ½hþ&

(16.25)

Since these terms are the opposite of each other, we can simply create one recombination/generation term for each reaction:

GR0 ¼ kf 0 ½Vo& ½hþ& kr0 Voþ

(16.26)

which must then be subtracted from the continuity equation for each species on the left hand side of the reaction and added to the continuity equation for each species on the right hand side of the equation. In other words, GR0 must be subtracted from the continuity equations for Vo and h+ and added to the continuity equation for Vþo . We can follow the same procedure for 13:

GR1 ¼ kf 1 Voþ ½H2& kr1 ½VoH& ½Hþ&

(16.27)

GR1 must be subtracted from the continuity equations for Vþo and H2 and added to the continuity equations for VoH and H+. This may seem simple with only two reactions to consider, but the process can get confusing and prone to error as more reactions are added. However, the process of adding the recombination/generation terms due to reactions for each appropriate continuity equation can be automated as well. [29] used an automated script that parsed reactions inputted as simple text,