Материал: 4w6ruoSS8h

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Physics {

[list of models]

}

и/или:

Physics (Material="[material name]") {

[list of models]

}

и/или:

Physics (RegionInterface="[region name]") {

[list of models]

}

Секция Physics без каких-либо дополнительных параметров в скобках означает, что включённые модели применяются ко всем регионам устройства.

Секция Physics с параметром Material=="[material name]" или Region="[region name]" означает, что включённые модели применяются только к определённому материалу или региону соответственно.

Примечание. В секции Physics модели только объявляются или активируются.

Изменить параметры модели можно в файле параметров.

Далее приводится реализация секции Physics на примере простого МОПтранзистора n-типа:

Physics {

Mobility( DopingDep HighFieldSat Enormal )

EffectiveIntrinsicDensity( OldSlotboom )

}

В данном случае используются следующие модели, описывающие подвижность носителей заряда:

DopingDep – понижение подвижности носителей заряда из-за высокой концентрации примесей.

HighFieldSat – насыщение скорости при больших полях.

36

Enormal – понижение подвижности носителей заряда из-за рассеивания на деффектах поверхности.

∙ Секция Plot используется для задания переменных, которые должны быть сохранены в Plot-файл (имя которого задано в секции Plot):

Plot {

[list of variables]

}

Например, это могут быть концентрация носителей заряда, плотность тока, распределение электрического поля. Значения переменных могут быть сохранены в файл после окончания работы программы либо во время её работы с помощью команд в секции Solve. Массив сохранённых значений переменных можно просмотреть с помощью программы Tecplot SV.

Для векторных величин, например электрического поля, может быть сохранен векторный компонент переменной. Для этого необходимо добавить "/Vector" (либо “/v”) после имени переменной. Например:

Plot { eCurrent/v

}

Далее представлена типичная секция Plot:

Plot {

eDensity hDensity eCurrent hCurrent Potential SpaceCharge ElectricField eMobility hMobility eVelocity hVelocity

Doping DonorConcentration AcceptorConcentration

}

∙ Секция Math используется для контроля численных вычислений при моделировании. Далее приведена типичная секция Math:

Math {

Extrapolate *off by default RelErrControl *on by default Iterations=20 *default = 50 Notdamped=100 *default = 1000

}

Extrapolate: начальное приближение решения для конкретной точки базируется на решениях для двух предыдущих точек.

37

RelErrControl: включает усовершенствованную схему контроля ошибок. Данная опция включена по умолчанию.

Iterations=20: используется максимум 20 итераций. Если после 20 итераций решение не найдено, то шаг уменьшается.

Notdamped=100: No damping algorithm используется для первых ста ите-

раций методом Ньютона. Damping не рекомендуется использовать для большинства случаев.

∙ Секция Solve содержит информацию, определяющую передаточные характеристики моделируемого объекта. Далее представлена секция Solve для получения ВАХ транзистора:

Solve {

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

*- Bias drain to target bias Quasistationary(

InitialStep=0.01 Increment=1.35

MinStep=1e-5 MaxStep=0.2

Goal{ Name="drain" Voltage= 0.05 }

){ Coupled{ Poisson Electron Hole } }

*- Gate voltage sweep Quasistationary(

InitialStep=1e-3 Increment=1.35

MinStep=1e-5 MaxStep=0.05

Goal{ Name="gate" Voltage= 1.5 }

){ Coupled{ Poisson Electron Hole } }

}

Уравнение Пуассона первый раз считается для нахождения начальных решений. Начальные значения напряжений на электродах берутся из секции

Electrode.

Дальше уравнение Пуассона и уравнения непрерывности решаются.

38

Первый оператор Quasistationary увеличивает напряжение стока (drain voltage) до 0.05 В. На самом деле оператор Quasistationary увеличивает переменную t от 0 до 1 и рассчитывает напряжение на каждом шаге так:

V(t) = Vinitial + t * (Vgoal – Vinitial)

Все параметры, написанные для оператора Quasistationary, применяются к переменной t. Начальный шаг устанавливается как InitialStep, который равен 0.01 в этом примере. Тогда начальный шаг по напряжению получаем:

Vinitial+InitialStep*(Vgoal – Vinitial) = 0.0005 V, if Vinitial = 0

Величина шага автоматически изменяется с учетом результата предыдущего шага. Если предыдущий шаг был успешно посчитан, то величина шага для следующего расчёта увеличивается на величину Increment, которая равна 2 по умолчанию и 1.35 в примере. Если предыдущий шаг не был успешно посчитан, то величина шага уменьшается на величину Decrement, которая по умолчанию равна 2. Если величина шага оказалась меньше величины MinStep, то расчёт прекрашается неудачей и выводится соответствующее сообщение. Также величина шага не может быть больше чем MaxStep.

Далее приведён необходимый файл для расчёта:

File{

Grid = "n25_msh.tdr"

Plot = "n3_des.tdr"

Current = "n3_des.plt" Output = "n3_des.log"

}

Electrode{

{Name="source" Voltage=0.0 }

{Name="drain" Voltage=0.0 }

{Name="gate" Voltage=0.0 }

{Name="substrate" Voltage=0.0 }

}

Physics{

* DriftDiffusion eQCvanDort

39

EffectiveIntrinsicDensity( OldSlotboom )

Mobility(

DopingDep

eHighFieldsaturation( GradQuasiFermi )

hHighFieldsaturation( GradQuasiFermi )

Enormal

)

Recombination(

SRH( DopingDep )

)

}

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 Band2Band * Auger

AvalancheGeneration eAvalancheGeneration hAvalancheGeneration

*--Driving forces

eGradQuasiFermi/Vector hGradQuasiFermi/Vector eEparallel hEparallel eENormal hENormal

40

Источник: https://studfile.net/preview/16438836/