3. 不确定度建模的数学基础
在 Sentaurus 工艺与器件仿真中,输入参数的不确定度建模本质上是一次“物理量 → 随机变量 → 联合分布 → 可采样输入”的映射过程。若把每个不确定参数都当作独立均匀分布处理,往往低估或高估器件性能的分散程度;而正确建立协方差矩阵,则能保留参数之间真实的物理耦合关系。本节从随机变量、概率分布、联合分布、相关系数与协方差矩阵五个层次,说明如何把 Sentaurus 的输入参数转化为可采样的随机输入模型。
一、随机变量:把物理量映射为可采样对象
Sentaurus 的输入参数可分为两类。第一类是“可控但存在波动”的工艺参数,例如注入剂量 Dose、注入能量 Energy、氧化温度 T_ox、刻蚀时间 t_etch;第二类是“不可控或难以精确测量”的物理参数,例如界面陷阱密度 Dit、肖特基势垒高度 Φ_B、迁移率模型系数、SRH 寿命 τ。这些量在建模时都应视为随机变量 X,其取值由概率分布描述,而不是单一标称值。
以 NMOS 阈值电压为例,若注入剂量标称值为 3.0×10¹³ cm⁻²,工艺波动约 ±3%,则可定义 Dose ~ N(3.0e13, (0.09e13)²)。这里均值对应标称工艺,标准差对应工艺波动幅度。Sentaurus 中可通过 sde 或 sdevice 的参数化命令,将 Dose 替换为从分布中抽取的样本值,从而把确定性仿真变为随机仿真。
二、概率分布:选择与物理机制匹配的形式
分布形式的选择必须与物理机制一致,否则采样结果会偏离真实波动。常见对应关系如下:
- 正态分布:适用于由大量独立微小因素叠加形成的参数,如注入剂量、氧化温度、薄膜厚度。
- 对数正态分布:适用于只能取正值且波动呈乘性关系的参数,如 SRH 寿命、缺陷密度、接触电阻。
- 均匀分布:适用于只知道上下限、缺乏中心趋势信息的参数,如某些模型系数的取值范围。
- 截断正态分布:当物理量存在硬边界(如剂量不能为负)时,对正态分布做截断。
例如,SRH 寿命 τ 通常跨越一个数量级,若用正态分布可能采到负值,应改用对数正态分布:ln τ ~ N(μ_lnτ, σ_lnτ²)。在 Sentaurus 中可先生成标准正态样本 z,再通过 τ = exp(μ_lnτ + σ_lnτ · z) 转换后写入参数文件。
三、联合分布与相关系数:保留参数间的物理耦合
多个参数往往并非独立。例如,注入剂量与注入能量在同一个离子注入机台上可能由同一组束流条件决定,存在正相关;氧化温度与氧化时间共同决定氧化层厚度,二者对厚度的影响可能相互补偿,呈现负相关。若忽略相关性,独立采样会生成物理上不可能出现的参数组合,导致仿真结果失真。
相关系数 ρ_ij 描述两个随机变量线性相关的方向和强度,取值范围为 [-1, 1]。协方差 Cov(X_i, X_j) = ρ_ij · σ_i · σ_j,而协方差矩阵 Σ 的对角线元素为各参数方差 σ_i²,非对角线元素为对应协方差。对于 n 个参数,Σ 是一个 n×n 对称正定矩阵,它是联合分布的核心描述量。
在 Sentaurus 工作流中,协方差矩阵通常由实验数据、文献或工艺设计套件(PDK)给出。若缺乏数据,可先假设独立(Σ 为对角阵),再通过敏感性分析识别强相关参数对,逐步补充非对角元素。
四、从联合分布到可采样输入:实现路径
给定均值向量 μ 和协方差矩阵 Σ,生成相关样本的标准做法是 Cholesky 分解:令 Σ = L·Lᵀ,其中 L 为下三角矩阵。先独立采样标准正态向量 z ~ N(0, I),再计算 x = μ + L·z,得到的 x 即服从 N(μ, Σ)。若某参数为对数正态,则先对 ln 空间构造 μ 和 Σ,采样后再取指数。
下面给出一个可直接参考的 Python 示例,用于生成 1000 组相关参数样本并写出 Sentaurus 可读的参数文件:
import numpy as np
# 参数顺序: Dose, Energy, T_ox, tau
mu = np.array([3.0e13, 30.0, 850.0, np.log(1e-6)])
sigma = np.array([0.09e13, 0.9, 8.5, 0.15])
# 相关系数矩阵 (示例假设)
R = np.array([
[1.0, 0.6, 0.0, 0.0],
[0.6, 1.0, 0.0, 0.0],
[0.0, 0.0, 1.0, -0.4],
[0.0, 0.0, -0.4, 1.0]
])
# 构造协方差矩阵
Sigma = np.outer(sigma, sigma) * R
L = np.linalg.cholesky(Sigma)
N = 1000
Z = np.random.randn(N, 4)
X = mu + Z @ L.T
X[:, 3] = np.exp(X[:, 3]) # tau 还原到线性空间
np.savetxt("samples.txt", X, fmt="%.6e")
生成的 samples.txt 每行对应一次仿真输入,可在 Sentaurus 的 sde 或 sdevice 脚本中通过循环读取并替换参数。这样,原本分散在多个工具中的物理量,就被统一转化为可采样、可复现的随机输入模型。
五、建模中的常见陷阱与检查要点
第一,量纲与数量级。协方差矩阵中不同参数的数量级差异极大(如 Dose 为 10¹³,Energy 为 10¹),直接构造 Σ 会导致数值不稳定。建议先对参数做标准化,即 x' = (x - μ)/σ,在标准化空间构造相关矩阵 R,采样后再还原。
第二,正定性检查。由实验数据估计的协方差矩阵可能因样本不足而失去正定性,导致 Cholesky 分解失败。可用特征值分解检查最小特征值,若为负则采用最近正定矩阵修正或收缩估计。
第三,相关性的物理合理性。相关系数不能随意设定。例如注入剂量与能量若来自同一机台,正相关合理;而氧化温度与氧化时间对厚度的影响若通过同一目标厚度约束,则可能呈现负相关。建模时应记录每个 ρ_ij 的来源(实验、文献或假设),便于后续敏感性分析追溯。
完成上述步骤后,Sentaurus 的输入参数就不再是孤立的标称值,而是一个具有明确均值、方差和相关结构的联合随机模型。后续的蒙特卡洛采样、敏感性分析和良率评估,都建立在这个可采样输入模型之上。