2. Sentaurus仿真流程与不确定度来源映射

在Sentaurus TCAD中,一次完整的工艺-器件仿真并不是单一软件的行为,而是由Sentaurus Workbench(SWB)统一调度、多个求解器协同完成的数据流过程。理解这条链路上每个模块的输入输出关系,是识别不确定度来源的前提。因为不确定度并非只来自“参数填错”,更多时候它隐藏在模块之间的数据传递、模型切换和离散化决策中。

典型仿真链路与模块分工

以最常见的“工艺仿真+器件仿真”链路为例,其数据流可以概括为:SWB定义实验矩阵与参数变量 → SPROCESS执行工艺步骤(氧化、扩散、注入、刻蚀等)生成掺杂与几何结构 → SDE读取结构或直接构建器件几何、定义电极与掺杂 → SDevice进行电学求解(漂移扩散、热传导、隧穿等) → 结果回传SWB进行提取与对比。若采用“结构编辑+器件仿真”的快速路径,则SDE直接生成器件结构,跳过SPROCESS。两条路径的不确定度分布并不相同:前者多一层工艺模型误差,后者则更依赖几何与掺杂的人工设定精度。

SWB本身不参与物理求解,但它决定了参数扫描方式、变量绑定关系和结果提取脚本。一个常见的隐性不确定度是:SWB中的变量名与SDE/SDevice命令文件中的变量引用不一致,导致扫描值未真正生效,仿真结果看似变化实则来自其他参数。因此,链路映射的第一步不是看物理模型,而是确认“变量是否真正注入到了求解器”。

Sentaurus 仿真链路与不确定度输入点映射 Sentaurus Workbench 变量定义 · 实验矩阵 · 调度 结果提取脚本 SPROCESS 氧化 · 扩散 · 注入 · 刻蚀 生成掺杂与几何结构 SDE 几何构建 · 电极定义 掺杂剖面 · 网格划分 SDevice 漂移扩散 · 隧穿 热传导 · 数值求解 参数 结构 网格 不确定度输入点 • 变量绑定错误 • 扫描范围设定 • 提取脚本偏差 • 版本/环境差异 • 并行调度一致性 不确定度输入点 • 注入剂量/能量 • 扩散系数模型 • 氧化速率参数 • 刻蚀各向异性 • 激活模型选择 不确定度输入点 • 几何尺寸公差 • 掺杂剖面插值 • 电极位置偏移 • 网格密度分布 • 材料界面定义 不确定度输入点 • 迁移率模型 • 复合模型 • 隧穿参数 • 收敛容差 • 温度设定 迭代与校准回路 仿真结果 → 与实验数据对比 → 参数修正 → 重新扫描 → 收敛判定 参数修正反馈 图例: 模块 不确定度输入点 数据流 反馈/校准 注:虚线框内为各环节主要不确定度来源,非穷举

各环节不确定度输入点的具体识别

几何尺寸是最直观的不确定度来源。在SDE中,栅长、氧化层厚度、结深等尺寸通常以参数形式给出,但实际工艺中这些量存在±5%~±10%的波动。例如,一个标称栅长50 nm的器件,若在SDE中固定为50 nm而忽略光刻与刻蚀偏差,则后续所有电学特性(阈值电压、驱动电流)的预测都会偏离真实分布。更隐蔽的是,SDE中几何尺寸的微小变化会改变网格划分结果,进而影响数值求解的截断误差。

掺杂分布的不确定度来自两个层面:一是SPROCESS中注入剂量、能量、退火温度与时间的设定误差;二是从工艺仿真到器件仿真传递时,掺杂剖面被插值到新网格上产生的信息损失。例如,SPROCESS输出的掺杂剖面分辨率较高,但SDE在构建器件网格时若采用较粗的网格,则峰值掺杂浓度可能被平滑,导致阈值电压预测偏高。这种误差不会在日志中报错,只能通过对比不同网格密度下的结果来发现。

材料参数包括禁带宽度、迁移率、饱和速度、复合寿命等。这些参数在Sentaurus材料库中有默认值,但默认值往往来自特定实验条件,未必适用于当前器件的工作温度、掺杂浓度或电场范围。例如,迁移率模型中的低场迁移率与掺杂浓度相关,若直接使用默认的常数迁移率,则在重掺杂区域会高估电流。识别这类不确定度的方式是:检查材料参数文件中哪些参数被显式覆盖,哪些仍为默认值,并对关键参数做敏感性扫描。

模型选择是容易被忽视的不确定度源。漂移扩散模型在沟道长度小于100 nm时精度下降,需要引入能量平衡或流体动力学模型;隧穿模型在栅氧厚度小于2 nm时必须开启。模型选择不当不会导致仿真失败,但会使结果系统性偏离。一个实用的判断方法是:用同一结构分别运行简化模型和精细模型,若两者差异超过10%,则说明模型选择本身已成为主要不确定度贡献者。

网格离散与数值求解共同构成数值不确定度。网格过粗会引入离散误差,网格过细则增加计算量并可能放大舍入误差。SDevice中的收敛容差、迭代次数上限、线性求解器类型都会影响最终结果。例如,将电子连续性方程的相对容差从1e-5放宽到1e-3,可能使电流结果变化百分之几,而这一变化在收敛日志中仅表现为迭代次数减少。因此,在不确定度映射中,必须把“数值设置”视为与物理参数同等重要的输入点。

实操建议:在SWB中建立一个“不确定度映射表”作为仿真前置检查。对每个模块,列出至少3个关键输入参数,标注其来源(默认值/实验数据/文献估计)、名义值、可能波动范围,以及是否已做敏感性测试。这张表不需要复杂工具,用SWB的变量注释或外部CSV即可维护,但能显著减少“参数未生效”或“模型误用”类错误。

从链路映射到不确定度量化

完成上述映射后,下一步不是立即做全局敏感性分析,而是先区分“可量化不确定度”与“认知不确定度”。可量化不确定度有明确的概率分布,如工艺波动引起的尺寸偏差;认知不确定度则来自模型形式本身的局限,如迁移率模型在强场下的外推误差。前者适合用蒙特卡洛或拉丁超立方采样量化,后者更适合用模型对比或区间分析。在Sentaurus中,SWB的变量扫描功能可以方便地实现前者,而后者需要手动切换模型并对比结果。

一个常见的误区是:把所有参数都设为均匀分布并做大规模扫描,结果发现计算资源耗尽却得不到有意义的敏感度排序。更有效的做法是:先基于链路映射筛选出3~5个最可能主导结果变化的输入点,用单变量扫描确定其影响量级,再对其中影响最大的2~3个参数做联合扫描。这样既控制了计算成本,又能快速定位主要不确定度来源。

最后需要强调的是,不确定度映射不是一次性的工作。当仿真目标从“预测阈值电压”变为“预测击穿电压”时,主导不确定度来源会从几何尺寸和掺杂分布转移到碰撞电离系数和雪崩模型参数。因此,每次调整仿真目标后,都应重新审视链路映射表,确认当前关注量对应的敏感环节是否已被覆盖。