Skip to content

Ch28(1/4):各向异性基础与近似


title: 第28章

第28章:各向异性特性

本章讨论半导体器件的各向异性特性。

半导体器件的各向异性特性

通常,所有半导体器件方程可以写成以下形式:

其中,向量 ,张量系数 是标量函数,(在二维情况下为 )对称矩阵, 是一阶微分表达式。

在各项同性情况下,张量 是单位矩阵。

在一般情况下,张量 依赖于解。张量 是满矩阵的原因包括:半导体的各向异性特性(如 SiC)以及机械应力的影响(会影响各向异性迁移率,参见第976页的第31章)。

表154 Sentaurus Device 支持的张量系数 各向异性模型

张量系数方程或模型
迁移率 电子和空穴的连续性方程
介电常数 Poisson 方程
热导率 热力学方程
量子势参数 密度梯度模型

Sentaurus Device 为 Poisson 方程、连续性方程和热力学方程以及密度梯度模型(请参阅第922页的各向异性近似)提供不同的各向异性离散化近似。

注意: 各向异性特性可能不仅涉及张量系数 ,还涉及一些产生-复合模型(请参阅第938页的各向异性雪崩产生)。

各向异性近似

由于各向异性模拟的复杂性,Sentaurus Device 提供不同的近似方法:

  • TensorGridAniso 近似(默认) 是最稳健的,但对于非轴对齐网格或各向异性方向与网格方向不一致时,存在一些精度问题。
  • AnisoSG 近似 提供最准确的结果,且与网格方向无关。然而,收敛性可能比 TensorGridAniso 差。
  • StressSG 近似 提供最准确的结果,且与网格方向无关。然而,收敛性可能比 TensorGridAniso 差。
  • AverageAniso 近似 的精度取决于各向异性变换后获得的虚拟网格的 Delaunay 特性。如果该网格是 Delaunay 网格,则结果相对准确。否则,精度会下降。
  • ARBM 离散化方法(请参阅第1237页的任意盒方法)支持各向异性材料参数的精确描述。使用 AnisoSG 近似时,通过 aniso-ARBM 获得的模拟结果与网格相对于各向异性方向的取向无关。然而,由于 aniso-ARBM 引入了额外的非线性,收敛性可能会下降。

TensorGridAniso

这是默认的近似方法,仅适用于张量网格或接近张量网格的网格。

各向异性效应使用张量网格近似进行建模。张量 的特征值和特征向量用作向量 在网格边上的投影的乘法因子。

以下 Math 部分中的选项激活此近似方法:

tcl
Math {
   TensorGridAniso              # only for stress mobility
   TensorGridAniso(Piezo)       # stress problems, same as above
   TensorGridAniso(Aniso)       # anisotropic models, see this chapter
   TensorGridAniso(Aniso Piezo) # anisotropic models and stress
   # mobility
}

AnisoSG

各向异性 Scharfetter-Gummel(AnisoSG)近似适用于 Poisson 方程、连续性方程和热力学方程。如果各向异性方向与网格不一致,则 AverageAniso 和 TensorGridAniso 近似可能不够准确(网格取向效应)。AnisoSG 近似不依赖于网格取向。

传统上,Scharfetter-Gummel 近似用于连续性方程(请参阅第1222页的第38章),其中 Bernoulli 函数的自变量 是有效场 在边 上的投影。如果对于各向同性情况, 仅依赖于边端点的值,那么对于各向异性问题,需要逐元素计算向量 。这个概念允许将 Scharfetter-Gummel 近似推广到各向异性情况。

要激活 AnisoSG 近似,请在全局 Math 部分中指定关键字 AnisoSG:

tcl
Math { AnisoSG }

AnisoSG 分支,如果收敛的话,保证浓度保持为正。然而,由于 Bernoulli 函数自变量 及相应导数的计算不稳定(当载流子浓度非常小时),有时可能会出现收敛问题。为了缓解这个问题,可以使用以下参数:

  • AnisoSG_MinDen 是计算 的稳定化参数。其默认值为
  • AnisoSG_DerivativeMinDen 指定 AnisoSG 近似的载流子密度下限。如果节点载流子密度低于此值,则相应的导数被关闭。其默认值为零。

您可以在 Math 部分修改这些值:

tcl
Math {
   AnisoSG
   AnisoSG_MinDen = 1e6                           # [cm-3]
   AnisoSG_DerivativeMinDen = 1e2                 # [cm-3]
}

StressSG

此近似专为应力问题实现,影响各向异性迁移率(请参阅第976页的第31章)。要激活此近似,请在全局 Math 部分指定 StressSG 关键字:

tcl
Math { StressSG }

AverageAniso

此近似使用局部(逐顶点)线性变换,将各向异性问题转化为各向同性问题。此后,Sentaurus Device 使用 AverageBoxMethod 算法计算控制体积和系数(请参阅第1222页的第38章)。Math 部分中的关键字 AverageAniso 激活此近似。由于 AverageBoxMethod 的要求,AverageAniso 近似要求输入网格仅由三角形(二维)或四面体(三维)组成,或者网格是张量的,且该张量网格的主轴和各向异性主轴与仿真坐标系对齐。

Aniso-ARBM

各向异性任意盒方法(aniso-ARBM)适用于 Poisson 方程、连续性方程和热力学方程。因为 aniso-ARBM 在离散化各向异性偏微分方程(PDE)时不引入额外的近似(除标准一阶精度外),与 TensorGridAniso 等近似方法相比,aniso-ARBM 格式有望提高结果质量(QoR)。

要使用 aniso-ARBM 格式,请在全局 Math 部分(请参阅第1237页的任意盒方法)激活 ARBM 离散化方法,并在 Physics 部分中使用各向异性模型。

晶体坐标系与仿真坐标系

Sentaurus Device 使用仿真坐标系(网格几何)和晶体坐标系。各向异性材料参数在晶体坐标系中定义。

仿真坐标系的 x 轴和 y 轴在参数文件的 LatticeParameters 部分中定义:

tcl
LatticeParameters {
   X = (1, 0, 0)
   Y = (0, 0, -1)
}

z 轴计算为 x 轴和 y 轴的外积。仿真坐标系相对于晶体坐标系定义。如果存在关键字 CrystalAxis,则晶体坐标系相对于仿真坐标系定义(请参阅第978页的使用应力和应变)。

实际上,X 和 Y 向量表示必须在晶体坐标系和仿真坐标系之间应用的变换,以正确计算与给定晶体取向相关的物理量,如应力、各向异性和载流子量子化。在本例中,仿真坐标系的 x 轴与晶体坐标系的 x 轴重合。仿真坐标系的 y 轴沿晶体坐标系的负 z 轴。这是 2D 压电极化模拟的常见定义(请参阅第976页的第31章)。

除了 LatticeParameters 部分外,关键字 Piezo 和 PiezoParameters 也被认可。默认情况下,Sentaurus Device 使用 X=(1,0,0)、Y=(0,1,0) 和 Z=(0,0,1)。

Sentaurus Device 从参数文件或直接从 TDR 文件读取 LatticeParameters 部分(X 和 Y 向量)。如果两者都找到,则参数文件中的参数具有更高的优先级。如果没有找到 LatticeParameters 部分,则使用默认值。

注意: 在 2D 情况下,Sentaurus Device 对从参数文件或直接从 TDR 文件读取的 X 和 Y 向量的解释有所不同。存储在 $STROOT/tcad/$STRELEASE/lib/sdevice/MaterialDB/ 文件夹中的所有通用参数文件都没有 X 和 Y 向量的定义。 Sentaurus Process 始终使用 3D 晶体坐标系,并为 2D 和 3D 情况创建相同的 LatticeParameters 部分。如果您为 2D 问题在参数文件中定义了 X 和 Y 向量,则 Sentaurus Device 使用关于 2D 问题坐标系的特殊约定(请参阅第926页的 2D 案例中的各向异性方向)。

各向异性的定义与说明

Sentaurus Device 支持一种双重各向异性,其中模型参数可以沿单一各向异性方向和垂直于该方向的平面内分别指定。具有这种各向异性的材料有时被称为具有圆柱对称性。但是,这不应与可用于建模具有圆柱对称性的 3D 器件的 2D 圆柱坐标系混淆。

其中:

  • 的特征值。
  • 特征向量的 正交矩阵:
  • 表示 的前 主子矩阵。

3D 案例中的各向异性方向

向量 定义仿真坐标系中的各向异性方向。该方向可以在命令文件的 Aniso 子部分中相对于晶体坐标系(默认)或仿真坐标系定义。默认值是 z 轴(2D 情况下的 y 轴)。

例如:

tcl
Physics {
   Aniso( direction = (1, 1, 0) )
               # anisotropic direction in crystal coordinate system
   Aniso( direction(CrystalSystem) = (1, 1, 0) )      # same as above

     # anisotropic direction in simulation coordinate system
     Aniso(Mobility direction(SimulationSystem) = (0, 1, -1) )
}

符号定义如 direction=zAxis(xAxis 或 yAxis)也是可接受的。该向量为除密度梯度模型(请参阅第943页的密度梯度模型的各向异性方向)外的所有各向异性模型定义各向异性方向。

2D 案例中的各向异性方向

2D 案例中各向异性方向的主要规则如下:

各向异性方向在 2D 案例中必须位于仿真平面内。

aniso_dir 为仿真坐标系中的 3D 各向异性向量。首先,Sentaurus Device 计算 aniso_dir=(ax, ay, az)。如果 az 分量不等于零,则 Sentaurus Device 打印错误消息。

其次,Sentaurus Device 使用以下方式之一找到各向异性方向:

  • 命令文件中带方向定义(关键字 direction)的 Aniso 子部分(较高优先级)(请参阅带方向定义的 Aniso 子部分)
  • 从参数文件或 TDR 文件获取的 X 和 Y 向量(请参阅第929页的不带方向定义的 Aniso 子部分)

带方向定义的 Aniso 子部分

在这种情况下,X 和 Y 向量以及方向向量可以是 3D 向量(但 aniso_dir 向量的 z 分量必须为零)。

以下示例展示正确和错误的定义。

示例1:SimulationSystem 选项

在这种情况下,不依赖于 LatticeParameters 部分。

tcl
Aniso( direction(SimulationSystem)=(ax ay 0) )                   # correct
Aniso( direction(SimulationSystem)=(ax ay az) )                  # incorrect

示例2:CrystalSystem 选项(默认)

在这种情况下,依赖于 LatticeParameters 部分。

tcl
Aniso( direction(CrystalSystem)=(cx cy cz) )

在这种情况下,Sentaurus Device 使用向量 =(cx cy cz) 和 X、Y 向量来计算 aniso_dir=(ax, ay, az)。如果 az=0,则定义正确。否则,定义不正确。

示例3:LatticeParameters 部分

设 LatticeParameters 部分如下:

tcl
LatticeParameters {
   X = ( 0.0000e+00, 0.0, -1.0)
   Y = (-8.6603e-01, 0.5, 0.0)
}

图片:../../../public/images/sdevice/ch28_fig53.png

图53展示了由此规范产生的 2D 仿真平面相对于晶体坐标系的关系。还展示了使用 CrystalSystem 规范的两个各向异性方向规范尝试。

要从晶体坐标系中指定的方向 计算相对于仿真坐标系的各向异性方向 ,使用以下变换:

其中,X 和 Y 是在 LatticeParameters 部分中指定的行向量,Z 自动计算以形成正交仿真坐标系。

以下示例相对于晶体坐标系指定各向异性方向:

  • 情况1: Aniso(direction(CrystalSystem)=(0 0 1)) 如图53所示,此规范导致各向异性方向沿仿真坐标系中的负 x 方向,即 aniso_dir=(-1 0 0)。因为此方向位于仿真坐标系的平面内,所以这是各向异性方向的有效规范。
  • 情况2: Aniso(direction(CrystalSystem)=(0 1 0)) 如图53所示,此规范导致各向异性方向位于 2D 仿真坐标系之外,即 aniso_dir=(0, 0.5, 0.86603)。因为此方向不在 2D 仿真坐标系内,所以被认为是无效的规范。

不带方向定义的 Aniso 子部分

在这种情况下,Sentaurus Device 仅使用 X 和 Y 向量来计算 aniso_dir=(ax, ay, az)。如果 az=0,则定义正确。否则,定义不正确。

Sentaurus Device 在以下情况下对 X 和 Y 向量进行不同解释:

  • 从参数文件读取的向量(请参阅从参数文件读取的 X 和 Y 向量)
  • 从 TDR 文件读取的向量(请参阅第930页的从 TDR 文件读取的 X 和 Y 向量(Sentaurus Process))
从参数文件读取的 X 和 Y 向量

所有通用参数文件都没有 X 和 Y 向量的定义。如果您在 2D 问题的参数文件中定义 X 和 Y 向量,则 Sentaurus Device 使用关于二维坐标系({Xc, Yc} 和 {Xs, Ys})的特殊约定:

  • 在晶体坐标系和仿真坐标系中都只有两个轴。
  • 晶体坐标系的 y 轴是各向异性方向。
  • X 和 Y 向量必须是二维向量,即第三个坐标必须等于零。这意味着在 2D 情况下只有以下定义是正确的:
tcl
LatticeParameters {
   X = (x1, x2, 0)
   Y = (y1, y2, 0)
}
从 TDR 文件读取的 X 和 Y 向量(Sentaurus Process)

Sentaurus Process 始终使用 3D 晶体坐标系,并为 2D 和 3D 情况创建相同的 LatticeParameters 部分。晶体坐标系的 z 轴是各向异性方向。

tcl
LatticeParameters {
   X = (x1, x2, x3)
   Y = (y1, y2, y3)
   # Z = (z1, z2, z3) is a vector product of X and Y, that is, Z=[X,Y]
}

在这种情况下,aniso_dir=(x3, y3, z3)。如果 z3=0,则定义正确。否则,定义不正确。

例如,使用 LatticeParameters 部分(示例3)的定义:

tcl
LatticeParameters {
   X = ( 0.0000e+00, 0.0, -1.0)
   Y = (-8.6603e-01, 0.5, 0.0)
}

aniso_dir=Z=[X,Y]=(0.5, 8.6603e-01, 0.0),如果 z3=0,则定义正确。

Aniso(direction) 与 LatticeParameters 的比较

如果您知道仿真坐标系中的各向异性方向,则带有 SimulationSystem 选项的关键字 direction 是定义各向异性方向的最简单方法。

由特征向量 Q 构成的正交矩阵

是一个行向量, 是一个列向量。

如果各向异性方向具有默认值(3D 中为 z 轴,2D 中为 y 轴),则矩阵 为:

其中,向量行 X、Y 和 Z 在 LatticeParameters 部分中定义。

如果各向异性方向是晶体坐标系中的向量 ,则矩阵 为:

如果各向异性方向是仿真坐标系中的向量 ,则矩阵 为:

Sentaurus Device 计算向量 以确保矩阵 是正交的。

基于 Sentaurus TCAD 官方文档构建

代码块