4. Sentaurus工艺仿真基础回顾

在进入工艺波动与良率敏感性分析之前,有必要把Sentaurus TCAD中工艺仿真的基本骨架重新梳理一遍。本节不追求面面俱到,而是围绕一条真实可跑的链路:工艺步骤命令 → 网格策略 → 掺杂激活模型 → 扩散与氧化模型 → 器件电学特性提取,把每一步的关键输入、物理含义和结果判读讲清楚。只有这条链路稳定,后续的波动注入(如剂量扰动、退火温度偏移)才有可信的基准。

一、工艺步骤命令:SProcess的“时间轴”

Sentaurus Process(SProcess)用一套按时间顺序排列的命令描述整个工艺。常用命令包括:init(初始化衬底)、deposit(沉积)、etch(刻蚀)、implant(注入)、diffuse(扩散/退火)、photo(光刻胶定义)、mask(掩膜)等。每条命令都带有时间、温度、剂量、能量等参数,仿真器按顺序推进,最终得到掺杂分布与几何结构。

一个典型的NMOS源漏注入片段如下:

implant Boron dose=5e13 energy=30 tilt=7
implant Arsenic dose=3e15 energy=40 tilt=7
diffuse time=10 s temperature=1050

这里tilt=7是注入倾角,用于抑制沟道效应;diffuse的1050 ℃/10 s对应快速热退火(RTA)。命令顺序不可随意调换,因为扩散会改变后续注入的衬底背景。实际工程中,建议把每条命令的时间戳与热预算记录在注释里,便于波动分析时定位敏感步骤。

二、网格策略:精度与成本的平衡

Sentaurus采用自适应网格,但初始网格仍需人工设定。核心原则是:在掺杂梯度大、结深附近、栅氧界面处加密,在体区稀疏。常用命令为refinebox与grid。例如:

refinebox name=chan min=0.0 0.0 max=0.1 0.05 \
  xrefine=0.002 yrefine=0.001
refinebox name=junc min=0.0 0.0 max=0.5 0.2 \
  xrefine=0.01 yrefine=0.005

网格过粗会导致结深和峰值浓度失真,过密则使仿真时间急剧上升。一个实用的判断方法是:退火后检查NetActive分布,若结深位置在两次不同网格下差异超过5%,说明网格仍需加密。对于波动分析,网格一旦确定就应冻结,否则网格变化会与工艺扰动混淆,无法区分灵敏度来源。

三、掺杂激活模型:从化学浓度到电活性浓度

注入后的杂质并非全部电活性。SProcess中常用SolidSolubility或Transient激活模型。前者假设激活浓度不超过固溶度,后者考虑激活过程中的瞬态团簇。以砷在硅中为例,固溶度约在\(1.5\times10^{20}\ \text{cm}^{-3}\)量级,超过部分以非活性团簇存在。

在命令中通常写作:

pdbSetDouble Silicon Arsenic Solubility 1.5e20
pdbSetString Silicon Arsenic ActiveModel Transient

激活模型直接影响NetActive,进而影响阈值电压和导通电阻。波动分析中,若退火温度波动±10 ℃,激活率可能变化几个百分点,这是良率敏感性的重要来源之一。

四、扩散与氧化模型:热预算的物理载体

扩散模型决定杂质如何随温度和时间重新分布。常用模型包括Constant、ChargedFermi和PairDiffusion。对于纳米级器件,ChargedFermi能较好描述费米能级对扩散系数的影响。氧化模型则常用DealGrove或Massoud,前者适合厚氧,后者适合薄氧快速生长阶段。

氧化会消耗硅并推挤杂质,产生氧化增强扩散(OED)。在SProcess中,氧化命令与扩散命令可耦合:

diffuse time=30 min temperature=900 \
  O2=1.0 H2O=0.0

这里O2=1.0表示干氧。氧化速率、界面移动和杂质再分布会同时求解。波动分析时,氧化炉温均匀性、气流稳定性都会转化为氧化层厚度波动,进而影响栅氧电容和阈值电压。

五、器件电学特性提取流程

工艺仿真结束后,需要把结构导入Sentaurus Device(SDevice)进行电学求解。典型流程是:SProcess输出_bnd.tdr与_dop.tdr,SDevice读取后施加偏压,提取Id-Vg、Id-Vd、C-V等曲线。关键提取量包括:阈值电压\(V_{th}\)、亚阈值摆幅SS、导通电流\(I_{on}\)、关断电流\(I_{off}\)。

一个简化的SDevice命令片段:

File { Grid = "nmos_bnd.tdr" Doping = "nmos_dop.tdr" }
Electrode { { Name="gate" Voltage=0.0 } { Name="drain" Voltage=0.0 } }
Physics { Mobility( PhuMob ) Recombination( SRH ) }
Solve { Poisson Coupled( {Poisson Electron Hole} ) }

提取\(V_{th}\)常用恒定电流法:在\(V_d=0.05\ \text{V}\)下,取\(I_d=W/L\times10^{-7}\ \text{A}\)对应的栅压。SS则由亚阈值区斜率得到。这些量对工艺参数敏感,正是良率敏感性分析的目标输出。

Sentaurus 工艺仿真链路:命令 → 网格 → 激活 → 扩散/氧化 → 电学提取 ① 工艺步骤命令 init / deposit / etch implant / diffuse 时间·温度·剂量·能量 ② 网格策略 refinebox / grid 结深·栅氧界面加密 波动分析前冻结 ③ 掺杂激活模型 SolidSolubility Transient 团簇 NetActive 电活性浓度 ④ 扩散与氧化 ChargedFermi / Pair DealGrove / Massoud OED 氧化增强扩散 ⑤ 电学提取 SDevice Id-Vg / C-V Vth / SS / Ion 工艺结构文件:_bnd.tdr(几何) + _dop.tdr(掺杂) 工艺波动注入点(良率敏感性分析) 注入剂量 ±3% 能量 ±2% 退火温度 ±10 ℃ 时间 ±5% 氧化炉温 ±5 ℃ 气流 ±2% 栅氧厚度波动 结深波动 输出:Vth / SS / Ion / Ioff 分布 灵敏度排序 → 识别主导波动源 → 良率评估 示例:退火温度对 Vth 的灵敏度约 1.2 mV/℃(合理假设) 注:图中参数为教学示例,非实测数据

六、把链路串起来:一个可复现的检查顺序

实际工作中,建议按以下顺序检查每一步是否可信:

  1. 命令时间轴:确认diffuse的热预算与实验记录一致,避免遗漏某次退火。
  2. 网格收敛:用两套网格对比结深,差异小于5%再继续。
  3. 激活浓度:检查NetActive峰值是否超过固溶度,若超过则确认团簇模型是否开启。
  4. 氧化厚度:与目标栅氧厚度对比,偏差超过10%需调整氧化模型参数。
  5. 电学提取:先跑\(V_d=0.05\ \text{V}\)的\(I_d-V_g\),确认\(V_{th}\)和SS在合理范围,再跑输出特性。
提示:波动分析前,务必用基准工艺跑通整条链路,并保存所有中间文件(_bnd.tdr、_dop.tdr、_msh.tdr)。后续注入扰动时,只需替换对应命令参数,其余保持不变,才能保证灵敏度结果可归因。
注意:网格冻结是波动分析的前提。若每次扰动都重新自适应网格,网格差异会引入额外噪声,导致灵敏度被高估或低估。建议在基准网格上固定refinebox,仅让物理量变化。

本节回顾的这条链路,是后续所有工艺波动与良率敏感性分析的基准。命令、网格、激活、扩散/氧化、电学提取五个环节中,任何一个环节的模型选择或参数设置不当,都会在最终\(V_{th}\)或\(I_{on}\)上放大为不可解释的偏差。因此,在注入波动之前,先把基准链路跑稳、跑准,是整门课程最重要的工程习惯。