
在半导体器件仿真这个圈子里Sentaurus TCAD 算是绕不开的工具。很多人第一次接触它都是冲着能算器件电学特性去的但真正上手之后才发现最难的往往不是软件操作本身而是搞清楚我改的这个几何尺寸和掺杂浓度到底会怎样影响器件的开态电流和关态电流。这个问题听起来简单实际上牵扯到器件物理、工艺参数、仿真设置三个层面的交叉。我自己在做 MOSFET 的 Ion/Ioff 调优时前前后后踩了不少坑有些是参数设错了有些是物理模型选得不对还有些纯粹是对器件工作原理的理解有偏差。这篇文章就把这些经验整理出来围绕几何参数和掺杂参数这两条主线讲清楚它们各自怎么影响 Ion 和 Ioff以及在实际仿真中应该怎么设置、怎么排查问题。1. 先搞清楚 Ion 和 Ioff 到底在衡量什么1.1 开态电流的物理本质Ion也就是开态电流衡量的是 MOSFET 在导通状态下能流过多少电流。从物理上讲它取决于沟道区的载流子浓度和迁移率而这两者又跟栅极电压、沟道掺杂、沟道长度、氧化层厚度等参数直接相关。在 Sentaurus 里Ion 通常是在 Vgs Vdd、Vds Vdd 的条件下提取的这个条件对应的是器件完全开启的状态。很多人会直觉地认为沟道越短Ion 越大这个结论在大多数情况下是对的但前提是你得把短沟道效应控制住。如果沟道太短漏极附近的耗尽区会侵入沟道导致有效沟道长度缩短这时候 Ion 确实会增大但同时 Ioff 也会急剧上升器件的开关比会严重恶化。所以 Ion 和 Ioff 从来都不是孤立的问题必须放在一起看。1.2 关态电流的组成与来源Ioff 是关态电流理想情况下 MOSFET 在关断时应该没有电流流过但实际上总会有一些漏电流。这些漏电流主要来自几个方面亚阈值泄漏、栅极氧化层隧穿泄漏、结泄漏、以及短沟道效应引起的穿通电流。在 Sentaurus 仿真中如果你只用了漂移-扩散模型那看到的 Ioff 主要是亚阈值泄漏和穿通电流如果你加了隧穿模型那栅极泄漏也会体现出来。这里有个很容易被忽略的点Ioff 的提取条件。通常是在 Vgs 0、Vds Vdd 的条件下提取但有些工艺节点下Vgs 可能会设成一个负值来确保器件完全关断。这个条件不同提取出来的 Ioff 数值可能差好几个数量级。所以在做对比仿真时一定要确保 Ioff 的提取条件是一致的否则数据没有可比性。1.3 开关比为什么比单个数值更重要在实际工程中Ion/Ioff 的比值往往比单独的 Ion 或 Ioff 更有意义。一个器件如果 Ion 很大但 Ioff 也很大那它在逻辑电路中的表现可能还不如一个 Ion 稍小但 Ioff 极低的器件。对于低功耗应用Ioff 的控制甚至比 Ion 的提升更关键。在 Sentaurus 中提取这两个参数时我习惯用sdevice的命令行工具配合CurrentPlot和Save语句把转移特性曲线完整保存下来然后在后处理中提取特定偏置点的电流值。这样做的好处是你可以随时回看曲线形状判断器件的亚阈值摆幅是否正常而不只是盯着两个数字。2. 几何参数对 Ion 和 Ioff 的影响机制2.1 沟道长度最敏感也最容易出问题的参数沟道长度 Lg 是影响 Ion 和 Ioff 最直接的几何参数。在长沟道器件中Ion 大致与 1/Lg 成正比Ioff 对 Lg 的依赖相对较弱。但当 Lg 缩短到一定程度后短沟道效应开始主导Ioff 会随 Lg 减小而指数级上升。我在仿真中做过一组对比固定其他参数不变只改变 Lg 从 100nm 到 20nm。结果发现Ion 从大约 500 μA/μm 增加到 800 μA/μm增幅约 60%但 Ioff 从 1e-12 A/μm 飙升到 1e-7 A/μm增加了五个数量级。这个结果说明单纯靠缩短沟道来提升 Ion 是不可持续的必须配合其他手段来抑制 Ioff。在 Sentaurus 中设置沟道长度时要注意sde中的几何定义和sdevice中的电极位置必须一致。我遇到过好几次因为栅极边缘和源漏结的位置没对齐导致仿真结果异常的情况。建议在sde中明确定义关键尺寸的变量然后在sdevice中引用这些变量避免手动输入出错。2.2 氧化层厚度栅控能力的直接体现栅氧化层厚度 Tox 决定了栅极对沟道的控制能力。Tox 越薄栅极对沟道的控制越强亚阈值摆幅越好Ioff 越低。但同时Tox 减薄也会导致栅极泄漏电流增加这是隧穿效应导致的。在 Sentaurus 中仿真不同 Tox 时如果 Tox 小于 2nm建议开启直接隧穿模型Direct Tunneling否则仿真结果会低估栅极泄漏。我一般会在sdevice的Physics段中加入GateDirectTunneling模型并设置合适的隧穿质量参数。从数据上看Tox 从 3nm 减薄到 1.5nmIon 大约提升 20%-30%Ioff 可以降低一个数量级左右但栅极泄漏会从 1e-10 A/μm 上升到 1e-6 A/μm 量级。所以在先进工艺节点中高 K 介质的使用就是为了在保持等效氧化层厚度EOT的同时增加物理厚度来抑制隧穿泄漏。2.3 结深与源漏扩展区影响串联电阻和短沟道效应源漏结深 Xj 和源漏扩展区LDD的长度与掺杂浓度主要影响的是源漏串联电阻和沟道边缘的电场分布。结深越浅短沟道效应越好控制但串联电阻会增加导致 Ion 下降。我在做 28nm 节点仿真时发现把结深从 30nm 减到 20nmIoff 改善了约 3 倍但 Ion 下降了约 15%。后来通过优化 LDD 区的掺杂浓度和长度把 Ion 的损失补回来了一部分。具体做法是在sde中定义 LDD 区的掺杂分布用高斯分布或者解析函数来描述然后在sdevice中检查沟道边缘的电场分布是否合理。这里有个实操技巧在sde中定义掺杂时可以用constant、gaussian、erfc等函数但要注意这些函数的参数设置。比如高斯分布的标准差Characteristic Length如果设得太大掺杂会扩散到不该去的地方导致仿真结果偏离预期。2.4 栅极功函数与几何的耦合效应栅极功函数虽然严格来说不算几何参数但它和几何参数之间有很强的耦合。比如在 FinFET 或 GAA 结构中栅极包裹沟道的几何形状会直接影响功函数对沟道电势的调制效果。在 Sentaurus 中栅极功函数是通过Electrode段中的WorkFunction参数设置的但这个参数的效果会随着器件几何结构的变化而变化。我建议在做几何参数扫描时把栅极功函数也作为一个变量一起扫这样才能看清楚几何和材料参数之间的交互作用。具体操作是在sdevice中定义一个参数化扫描用System或Math段中的Parameter语句来控制。3. 掺杂参数对 Ion 和 Ioff 的调控逻辑3.1 沟道掺杂浓度在 Ion 和 Ioff 之间找平衡沟道掺杂浓度 Na 是调控阈值电压和 Ioff 的关键参数。Na 越高阈值电压越大Ioff 越低但 Ion 也会因为库仑散射增强而下降。这个 trade-off 是器件设计中最经典的矛盾之一。在 Sentaurus 中设置沟道掺杂时我通常会用非均匀掺杂比如在沟道表面设一个较高的浓度来抑制短沟道效应而在沟道深处设较低的浓度来减小耗尽层电容。这种retrograde掺杂分布可以通过sde中的解析函数或者从工艺仿真中导入。从数据上看Na 从 1e17 cm^-3 增加到 5e17 cm^-3Ioff 可以降低约两个数量级但 Ion 会下降 10%-20%。所以在实际设计中需要根据应用场景来权衡。对于高性能逻辑可能更倾向于低 Na 加其他手段来抑制 Ioff对于低功耗应用高 Na 是更直接的选择。3.2 源漏掺杂降低串联电阻的关键源漏区的掺杂浓度 Nd 主要影响串联电阻。Nd 越高串联电阻越小Ion 越大。但 Nd 太高也会导致带间隧穿BTBT泄漏增加尤其是在漏极附近的高场区。在 Sentaurus 中源漏掺杂通常设为 1e20 cm^-3 左右接近掺杂激活的极限。但要注意实际工艺中掺杂激活率不可能是 100%所以在仿真中设置掺杂浓度时最好用电活性掺杂浓度而不是化学掺杂浓度。这个细节很多人会忽略导致仿真结果和实测数据对不上。我一般会在sde中定义源漏区的掺杂时用constant函数设一个均匀浓度然后在sdevice中检查源漏区的电势分布确保接触电阻不会成为限制 Ion 的主要因素。3.3 晕环掺杂短沟道效应的利器晕环Halo掺杂是在源漏附近注入与沟道同型的掺杂用来抑制短沟道效应。Halo 掺杂可以显著降低 Ioff但也会增加沟道边缘的电容影响器件的开关速度。在 Sentaurus 中实现 Halo 掺杂通常是在sde中定义一个局域的高斯分布位置在源漏结附近峰值浓度比沟道掺杂高一个数量级左右。我试过不同的 Halo 峰值浓度和位置发现峰值浓度在 2e18 到 5e18 cm^-3 之间、位置在源漏结边缘内侧 5-10nm 处时Ioff 的抑制效果最好同时对 Ion 的影响最小。这里有个坑Halo 掺杂的分布函数参数如果设得不好会导致掺杂分布出现非物理的尖峰或凹陷仿真会报错或者结果异常。建议在设置完之后用sde的可视化功能检查一下掺杂分布是否平滑合理。3.4 掺杂梯度与结电容的关联掺杂梯度即掺杂浓度随位置的变化率会影响结电容和沟道边缘的电场分布。梯度越陡结电容越小但电场集中效应越明显可能导致局部击穿或泄漏增加。在 Sentaurus 中掺杂梯度是通过分布函数的特征长度来控制的。比如高斯分布的特征长度越小梯度越陡。我一般会在源漏结附近用较小的特征长度5-10nm在沟道深处用较大的特征长度20-30nm这样既能保证结的 abruptness又能避免电场过度集中。4. 仿真设置中的关键细节与常见错误4.1 网格划分精度与效率的平衡Sentaurus 的网格划分直接影响仿真精度和收敛性。在沟道区和结附近网格需要足够密才能准确捕捉电势和载流子浓度的变化在体区和衬底网格可以适当放粗以节省计算时间。我通常会在sde中使用Refinement语句来定义网格细化区域。关键是要在沟道表面、源漏结、栅极边缘这些地方设置足够的细化等级。但网格也不是越密越好太密的网格会导致仿真时间急剧增加而且可能因为数值精度问题导致收敛困难。一个实用的经验是先用手动网格跑一遍看看收敛情况和结果是否合理然后再用sde的自动网格细化功能优化。自动网格细化虽然方便但有时候会在不需要的地方生成过多网格点反而拖慢仿真。4.2 物理模型的选择什么时候该加什么模型Sentaurus 提供了大量的物理模型但并不是所有模型都需要开启。对于常规的 MOSFET 仿真漂移-扩散模型加上 SRH 复合和 Fermi-Dirac 统计就足够了。但如果沟道长度小于 50nm建议加入流体动力学模型Hydrodynamic来考虑载流子加热效应。对于 Ioff 的仿真如果 Tox 很薄一定要加直接隧穿模型如果源漏掺杂很高建议加带间隧穿模型。这些模型对 Ioff 的影响可能达到几个数量级不加的话仿真结果会严重偏离实际。我踩过的一个坑是在仿真一个 22nm 节点的器件时没有加带间隧穿模型结果 Ioff 比实测值低了将近三个数量级。后来加上 BTBT 模型后结果就合理多了。所以模型的选择一定要根据器件的实际工作条件来定不能图省事全用默认设置。4.3 收敛问题的排查思路Sentaurus 仿真中最常见的问题就是不收敛。不收敛的原因可能有很多网格太密、模型太复杂、参数设置不合理、初始猜测太差等。我的排查思路一般是这样的首先检查网格看看有没有异常密集或者畸变的网格单元。然后检查掺杂分布看看有没有非物理的跳变。接着检查物理模型看看有没有互相冲突的模型同时开启。最后检查求解器的设置比如Math段中的Iterations、ErrorResidual等参数是否合理。如果以上都没问题可以尝试用Quasistationary逐步增加偏压而不是直接跳到目标偏压。这样可以让求解器逐步适应提高收敛概率。4.4 参数扫描的设置技巧在做几何或掺杂参数扫描时我建议用 Sentaurus 的sdevice配合swbSentaurus Workbench来实现。swb可以自动生成参数组合、提交任务、收集结果非常适合做大规模的参数扫描。在设置扫描时要注意每个参数的取值范围和步长。范围太窄可能看不到趋势范围太宽可能导致仿真不收敛。我一般会先做一个小范围的预扫描确定合理的范围后再做精细扫描。另外扫描的结果最好用脚本自动提取 Ion 和 Ioff然后画成趋势图。手动提取不仅效率低还容易出错。我通常会用 Python 或 Perl 脚本解析sdevice的输出文件提取特定偏置点的电流值然后用 matplotlib 画图。5. 从仿真数据到设计洞察的转化5.1 如何解读 Ion-Ioff 散点图把不同参数组合下的 Ion 和 Ioff 画成散点图可以直观地看到参数变化对器件性能的影响。理想的参数组合应该是在散点图的左上角即高 Ion 和低 Ioff。我在做沟道长度和掺杂浓度的联合扫描时发现了一个有趣的现象当 Lg 缩短到一定程度后单纯增加沟道掺杂已经无法有效抑制 Ioff 了必须配合 Halo 掺杂或者减薄 Tox。这个结论在散点图上表现为低 Lg 区域的散点整体向右上方移动即 Ioff 上升的同时 Ion 也在上升但开关比在恶化。5.2 工艺窗口的确定方法工艺窗口是指在保证器件性能满足要求的前提下各工艺参数允许的波动范围。在 Sentaurus 中可以通过参数扫描来确定工艺窗口。具体做法是固定其他参数改变某一个参数观察 Ion 和 Ioff 是否仍在可接受范围内。我一般会设定一个性能指标比如 Ion 600 μA/μm 且 Ioff 1e-9 A/μm然后找出满足这个指标的参数范围。这个范围就是该参数的工艺窗口。如果窗口太窄说明该参数对器件性能太敏感需要在工艺上加以控制。5.3 仿真与实测的偏差分析仿真结果和实测数据之间有偏差是正常的关键是要搞清楚偏差的来源。常见的偏差来源包括掺杂激活率不是 100%、界面态密度未知、串联电阻估计不准、模型参数不准确等。我在对比仿真和实测的 Ion 时发现仿真值通常偏高因为仿真中假设了理想的接触和完美的掺杂激活。后来通过在sdevice中加入接触电阻和调整掺杂激活率把偏差缩小到了 10% 以内。这个过程虽然麻烦但非常值得因为只有仿真和实测对得上仿真结果才有参考价值。5.4 从单器件到电路级的参数提取Sentaurus 仿真的是单器件特性但实际应用是电路级的。所以从仿真数据中提取出可用于电路仿真的参数如阈值电压、迁移率参数、亚阈值摆幅等非常重要。我通常会用sdevice生成转移特性和输出特性曲线然后用脚本提取关键参数最后把这些参数填入 SPICE 模型中进行电路仿真。这个过程需要反复迭代因为 SPICE 模型是集总模型而 TCAD 仿真是分布式模型两者之间需要做一定的等效和拟合。6. 一些实操中的经验与教训做 Sentaurus TCAD 仿真这些年最大的体会就是仿真结果的可靠性取决于你对器件物理的理解程度。软件只是工具如果你不清楚每个参数背后的物理意义那仿真就变成了调参游戏出来的结果也不可信。另外仿真设置中的每一个细节都可能影响结果。我遇到过因为网格太粗导致 Ioff 被高估的情况也遇到过因为模型选错导致 Ion 被低估的情况。所以每次仿真前我都会花时间检查网格、掺杂、模型、求解器设置这四个方面确保没有明显的错误。还有一点不要迷信仿真结果。仿真和实测之间总有偏差关键是要理解偏差的来源并在仿真中尽可能还原实际条件。只有这样仿真才能真正指导设计和工艺优化。最后分享一个小技巧在做参数扫描时可以先用较粗的网格和简化的模型快速扫一遍找出大致趋势和敏感参数然后再对关键参数做精细扫描。这样可以大大节省时间同时保证最终结果的精度。