仿真做过一段时间的人应该都有过这种体验在Sentaurus TCAD里把结构搭好、模型选好材料参数默认一拉跑出来的MOSFET Id-Vg曲线看着挺像那么回事。可一旦把温度从300K改成77K再拿去跟低温实测数据对比阈值电压能偏出去零点几伏亚阈值摆幅完全对不上饱和电流的偏差更是让人挠头。这个问题我当年折腾了快一个月才摸清门道。这篇东西我结合自己用Sentaurus TCAD做MOSFET IV校准的实际经历以77K和300K双温点为例把从仿真到实验的完整校准流程、参数如何取舍、模型怎么选、坑在哪里一次性讲清楚。适合正在用TCAD做器件仿真、尤其做低温器件研究的同学和工程师参考。1. 为什么温度一降仿真和实验就分道扬镳1.1 默认参数里藏着的“室温假设”Sentaurus TCAD装好之后自带的硅材料参数文件比如sdevice默认调用的Constants、Mobility等参数集大量参数都是在300K附近拟合得到的。这里要特别注意TCAD里很多参数不是直接告诉器件物理的温度而是自带温度指数进行外推的。比如迁移率模型里的温度依赖项、禁带宽度随温度变化的Varshni公式、载流子饱和速度的温度修正系数这些系数在300K±50K范围内还算可靠但一旦外推到77K误差会被放大得极其明显。我之前做一个沟道长度0.18μm的NMOS器件300K下仿真和实测Id-Vg吻合得很好但把sdevice的Temperature改成77K重跑Vth居然比实测高了将近0.4V。当时第一反应是怀疑自己参数文件写错了后来逐个排查才确认问题出在低温下本征载流子浓度和费米势的变化没有被模型正确描述。1.2 77K下的物理机制和300K完全不同做低温校准不能把77K简单理解成“把温度数字改小一点”。这里有几个物理机制会变杂质不全电离300K下施主/受主杂质基本完全电离但77K下部分杂质会“冻析”载流子浓度不等于掺杂浓度这直接影响阈值电压和沟道电阻。禁带宽度变宽硅在300K时禁带宽度约1.12eV77K时大概增宽到1.16eV左右本征载流子浓度n_i因此呈指数级下降费米势跟着变阈值电压整体抬升。散射机制主次关系互换室温下声子散射主导迁移率低温下声子散射减弱、库伦散射带电杂质散射和表面粗糙度散射的比例上升。所以有些在300K下好用的迁移率模型到77K不修正就是错的。亚阈值摆幅变好理想情况下SS (kT/q)·ln(10)300K约60mV/dec77K理论值约15.4mV/dec。实验上如果没看到这个量级的改善说明界面态、氧化物电荷或者接触电阻在拖后腿。1.3 校准的本质不是“调参拟合”是让模型对应真实物理很多初学者容易陷入一个误区打开Parameter文件把某个系数调到看着好看为止。这种做法在校准里是不灵的尤其是双温点校准。你很可能在300K下把阈值电压调回来了结果77K又飞了。我的理解是校准的本质是把仿真里每一个偏差归因到一个具体的物理环节然后修正对应模型参数。比如亚阈值区对不上优先怀疑禁带宽度、掺杂浓度、界面态线性区对不上优先怀疑源漏电阻和低场迁移率饱和区对不上优先怀疑速度饱和参数。归因准确了参数一改就收敛归因错了只能越调越乱。2. 动手校准前先把手上的数据功课做扎实校准这件事仿真端工作量其实只占一半另一半在实验数据端。如果实验数据本身不干净再好的TCAD模型也校准不出来。2.1 实验数据的单位统一与坐标检查从探针台或者低温恒温器上拿到的原始数据往往是这样的Id漏电流可能以安培A为单位也可能已经归一成A/μmVgs、Vds伏特V可能还有四探针测的方块电阻、开尔文测试结构测的接触电阻进TCAD之前先统一单位。Sentaurus里电流习惯用A/μm二维仿真默认器件宽度1μm实验数据如果是总电流要除以器件宽度。这个看似简单却是最常出错的点。另外建议把数据用两种坐标画出来反复看线性坐标看线性区和饱和区半对数坐标看亚阈值区。很多人只盯着线性坐标下的Id-Vg亚阈值区那一段压缩在底部几乎看不到结果校准完只觉得“差不多”暗病全藏在看不见的区域。2.2 先提取实验参数作为校准目标校准不能只对着曲线“凭感觉”。动手跑仿真之前先把实验曲线里的关键参数提取出来列成一张表参数300K实测77K实测提取方法阈值电压Vth约0.4V约0.85V常数电流法或线性外推法亚阈值摆幅SS约72mV/dec约25mV/decId-Vg半对数斜率倒数线性区导通电阻Ron视器件而定视器件而定低Vds下Id-Vg斜率倒数饱和漏电流Idsat视偏置而定视偏置而定特定VgsVds下读取有了这张表后面每调一次仿真参数就能明确知道是往哪个目标靠近而不是漫无目的地试。2.3 结构参数必须“先钉死”校准过程中有一个原则结构参数沟道长度、栅氧厚度、结深、掺杂分布等一旦定了就不要当拟合变量反复改。它们应该有独立的实验依据栅氧厚度来自C-V测试沟道长度来自版图尺寸并扣除偏差掺杂分布来自SIMS二次离子质谱或工艺仿真。我见过有人为了让Id-Vg对上把有效沟道长度从0.18μm一路改到0.1μm曲线是对上了物理全毁了。结构参数钉死剩下的可调参数空间就集中在迁移率、饱和速度、串联电阻、界面态等少数几个模型参数上校准才有意义。3. Sentaurus TCAD校准实操按顺序调别一把梭3.1 第一步先对齐亚阈值区再动其他区域校准的推荐顺序一定是从亚阈值区开始。因为亚阈值区主要由禁带宽度、掺杂浓度、界面态决定和迁移率、源漏电阻这些参数基本解耦先把这一区域对上了就能锁定阈值电压和摆幅。在sdevice输入文件里和亚阈值区直接相关的物理模型包括Physics { Temperature 300 EffectiveIntrinsicDensity(OldSlotboom) Mobility(DopingDependence HighFieldSaturation Enormal) IncompleteIonization }这里有几个关键点EffectiveIntrinsicDensity(OldSlotboom)带隙窄化模型默认参数对应300K附着良好低温下建议检查NarrowingModel参数。IncompleteIonization低温仿真必须开启模拟杂质冻析效应。默认的杂质电离能基于硅的常规值但若仿真与实验Vth偏差方向是“仿真偏低、实验偏高”先查这个模型有没有开。亚阈值摆幅对不上时优先用界面态密度Nit修正而不是去改迁移率。3.2 第二步线性区校准修正串联电阻和低场迁移率亚阈值区对上了再调线性区低Vds、Vgs略高于Vth。这个区域的电流受低场迁移率和源漏串联电阻共同影响。关键是你得分清到底是沟道本身的迁移率低了还是源漏串联电阻把它吃掉了。区分方法有个小技巧比较不同沟道长度器件如果手头有的话的线性区导通电阻。如果导通电阻随沟道长度线性变化且截距非零说明串阻不可忽略。没有条件测多组器件就先用TCAD里的外部电阻值粗调。Sentaurus里源漏接触电阻可以用Electrode下的Resistance参数显式指定Electrode { { Namegate Voltage0.0 } { Namedrain Voltage0.05 Resistance200 } // 单位Ω·μm { Namesource Voltage0.0 Resistance200 } { Namesubstrate Voltage0.0 } }单位是Ω·μm要按你的器件宽度换算。若器件宽度10μm、实测总串阻50Ω则等效为500Ω·μm分散到源漏两端各250Ω·μm。如果串阻修正后线性区电流仍然偏低再考虑低场迁移率参数。Sentaurus里常用的掺杂相关迁移率模型是Masetti模型默认参数在sdevice的参数文件里有一段关键项包括Mobility { * low-field mobility (Masetti) mumax 1417.0 mumin 52.2 ... }这里mumax是晶体管的峰值迁移率低温下电子的mumax应当比300K高不少但到底高多少不能拍脑袋要依赖77K下的实测迁移率数据或文献值。没有时从低温霍尔测试数据里提取。3.3 第三步饱和区校准锁定速度饱和参数线性区修好后再看饱和区。饱和电流对高场饱和速度模型最敏感。Sentaurus里常用Canali模型高频饱和参数就在这个模型里Mobility { HighFieldSaturation * Canali model vsat 1.07e7 // cm/s300K默认 ... }300K下硅电子饱和速度大约1e7 cm/s档77K下实际上会略微升高大致1.2e7~1.4e7 cm/s量级具体取决于电场方向和晶向但不至于翻倍。所以如果仿真77K饱和电流偏大很多先检查是不是速度饱和模型里的温度指数没配好。另外深亚微米器件的饱和区还要考虑漏致势垒降低效应。如果亚阈值区在校准后反而不匹配特别在Vds偏高时就要检查DIBL相关的工艺参数比如沟道掺杂的整体水平是不是偏低。不过这属于细调阶段了先把基础曲线匹配了再说。3.4 一个可落地的sdevice温度扫描配置做双温点校准最直观的方法是在sdevice里跑两次一次300K一次77K。也可以用Quasistationary配合温度扫描但通常没必要两次独立仿真更直观、方便对照。我习惯的结构是这样File { Grid nmos_msh.tdr Parameter nmos.par Plot nmos_300k_des.tdr Current nmos_300k_des.plt } Electrode { { Namegate Voltage0.0 } { Namedrain Voltage0.0 } { Namesource Voltage0.0 } { Namesubstrate Voltage0.0 } } Physics { Temperature 300 EffectiveIntrinsicDensity(OldSlotboom) Mobility(DopingDependence HighFieldSaturation Enormal) IncompleteIonization } Plot { eDensity hDensity eMobility hMobility Potential eVelocity hVelocity eQuasiFermi hQuasiFermi Doping DonorConcentration AcceptorConcentration } Math { Extrapolate RelErrControl Iterations 30 Digits 5 NotDamped 100 Method ILS Transient BE } Solve { Coupled { Poisson } Coupled { Poisson Electron Hole } Quasistationary ( InitialStep 0.001 MaxStep 0.02 MinStep 1e-6 Goal { Name gate; Voltage 1.5 } ) { Coupled { Poisson Electron Hole } } }然后把Temperature改成77Plot和Current文件名改成_77k再跑一遍。注意77K仿真中IncompleteIonization必须保留否则阈值电压会偏差非常明显。3.5 用soptimizer自动校准可以但要有边界Sentaurus有SDE、sdevice、还有参数优化工具soptimizer可以自动跑迭代优化。我试过用它对迁移率参数做自动校准效率确实高但有前提必须先手动把结构、物理模型、串阻这些基础配置定好给优化器一个合理的出发点优化参数个数不要贪多一次2~4个就够否则会陷入局部极值优化目标建议同时涵盖300K和77K两条曲线否则模型很可能只在一端有效优化后的参数必须人工检查物理合理性防止出现“数值上完美、物理上荒谬”的结果。4. 77K与300K双温点校准最关键的是温度扩展参数4.1 温度相关核心参数对照双温点校准本质上是同时约束多个温度相关参数的取值。先看一张我常用来对比的参数表物理量300K77K对IV曲线的影响禁带宽度Eg约1.12eV约1.16eV本征载流子浓度下降Vth上升本征载流子浓度ni约1e10 cm⁻³极低可能低于1e-20 cm⁻³量级阈值电压显著上升理想亚阈值摆幅SS约60mV/dec约15mV/dec亚阈值区域斜率变陡低场迁移率约1400cm²/Vs低掺杂显著升高但受库伦散射限制线性区电流上升饱和速度vsat约1e7cm/s约1.2e7~1.4e7cm/s饱和电流上升幅度受限源漏串联电阻主要来自沟道接触和延伸区占比更大线性区压低这张表是双温点校准的“指路地图”。每个参数偏差最终都会表现为曲线某个区域的具体特征。4.2 低温下必须开不全电离模型前面提过300K下默认的完全电离假设基本没问题但77K下杂质冻析现象非常严重。Sentaurus里的做法是打开IncompleteIonization模型并确认掺杂剂电离能参数合理。硅中磷的典型电离能约0.044eV硼约0.045eV。这个能量直接决定77K下有多少杂质仍然带电。如果发现阈值电压漂移方向和幅度不对可以排查这几个地方是否开了IncompleteIonization电离能参数是否被改动过默认值通常可用但掺杂浓度很高时会发生金属-绝缘体转变不完全电离模型本身也会失效衬底掺杂浓度取值是否准确这个直接影响Vth的温度漂移斜率。4.3 77K下的迁移率模型修正很多人以为温度降低迁移率一定大幅升高实际上在真实MOSFET器件里77K的迁移率提升远没有理论预期那么夸张。原因有几个沟道表面附近存在高浓度掺杂和强垂直电场库伦散射和表面粗糙度散射在低温下成为主导Sentaurus里的Enormal模型垂直电场迁移率衰减在低温下的行为需要额外修正参数高掺杂源漏延伸区在77K下电阻显著上升有时候这部分电阻甚至主导了总的导通电阻。实际操作中我通常这样处理迁移率校准先保持300K已经校准好的参数不动77K下先看线性区电流如果偏低先调串阻注意不是调沟道迁移率如果串阻调过了还偏低才动低场迁移率的温度指数项关注库伦散射项在低温下是否被模型覆盖必要时打开更精细的迁移率模型。4.4 双温校准的交互迭代策略最实用的流程是“先300K再77K再回300K”形成闭环300K第一轮锁定结构参数、掺杂分布、栅氧厚度。调迁移率低场参数、串阻让300K的线性区和饱和区先对上。77K第二轮固定300K的结构参数和物理模型选项只调温度相关参数如电离能、迁移率温度指数、vsat温度项让77K曲线尽量贴近实测。300K复核回到300K再跑一遍确认第一轮校准没有被第二轮破坏。若有偏差说明你改的参数“串味”了需要重建模型或拆解参数耦合关系。重复上述过程直到两个温度点同时满足误差要求。这个流程看着笨但效果非常稳。我一开始图快直接对77K一顿猛调结果300K又失败了来回折腾的时间远大于按闭环走的成本。5. 校准中的典型坑与完整排查链路5.1 亚阈值区匹配但线性区偏低串阻还是迁移率如果亚阈值区已经非常吻合了但线性区电流明显偏低这是最典型的一组矛盾。排查链路如下先在仿真里把外部串阻设成0重跑一遍。如果线性区电流大幅上升、和实验差距缩小说明问题在串阻如果变化很小问题在沟道迁移率。串阻方面继续细分是源漏接触电阻还是源漏延伸区电阻。低温下后者往往更显著因为它跟掺杂浓度和冻析效应直接相关。迁移率方面先检查低场迁移率模型的掺杂依赖项是否设置合理。器件沟道掺杂浓度高时迁移率会被杂质散射压制不要只盯着mumax往大了调。验证手段看不同栅压下线性区电流的比值。如果高栅压下偏差更大往往更像串阻或垂直场迁移率衰减问题如果低栅压下就偏差大更像低场迁移率或Vth问题。5.2 低温SS偏大不是网格不够就是界面态77K下实验测到SS在25~40mV/dec是比较常见的理想值15.4mV/dec。如果仿真SS也偏大先别急着动模型看一下网格沟道耗尽区网格是否足够密。77K下本征载流子浓度极低耗尽区展宽、载流子浓度梯度极大默认网格很容易出现非物理的离散误差导致IV曲线抖动、SS虚高。检查阈值点附近的迭代是否收敛充分。低温下Newton迭代比室温更容易不收敛如果Current文件里对应Vgs点的数据有明显跳变大概率是收敛问题。排除网格和收敛问题后再考虑物理原因界面态密度Nit会影响亚阈值摆幅。在Sentaurus里可以用Traps模型加界面态室温下可能影响很小但77K下同样的界面态对SS的影响会被放大。这也能解释为什么有些器件室温仿真好得很低温曲线就是压不下去——问题可能不在体硅而在氧化层/界面。5.3 饱和区电流对不上vsat别乱调饱和区电流偏高或偏低总是让人本能地想调vsat。但这个参数非常敏感而且低温下的取值有相对明确的物理范围乱调容易失真。优先检查这个逻辑饱和区电流偏高同时线性区是准的可能是vsat过大或高场迁移率衰减过缓。用Canali模型时检查beta参数温度相关指数。饱和区电流偏低同时线性区偏低回到第5.1节先解决线性区线性区对了饱和区通常能改善一半。饱和区形态不对比如没有明显饱和趋势或电流随Vds增长过陡先排除短沟道效应比如DIBL、衬底偏置效应不要急着调迁移率。5.4 77K收敛困难降低求解难度的实操技巧低温仿真的收敛性问题绝对值得单独说。77K下载流子浓度动态范围比室温大得多从亚阈值到强反型浓度可能跨了十几个数量级sdevice默认求解策略经常直接发散。我踩过几次之后总结出几个有效手段给一个更保守的初始步长把Quasistationary的InitialStep设到1e-4甚至更小等迭代稳定后再慢慢增大步长。慢就是快。打开Extrapolate并合理设置Iterations让求解器在前一步解的基础上外推初始猜测能显著提高收敛速度。Iterations设在20~30太少容易在强非线性点直接崩掉。使用更鲁棒的线性求解器选项比如Method ILS配合NotDamped 100或者必要时开启SuperLU。这些选项在sdevice的Math部分里配。分步加载偏置先把Vds设成非常低比如1mV算一遍再把Vds逐步抬到目标值。相当于给求解器一个“热身”过程比直接从高Vds开始容易收敛得多。网格做局部加细在沟道表面、源漏结附近用Refinement局部加密避免低温下载流子分布急剧变化区域网格过粗导致的不收敛。加密后计算量上升一点但收敛稳定性收益极大。这些技巧在300K下可能不痛不痒但77K下往往是能不能跑通的生死线。6. 双温校准的泛化价值与后续延展做完了300K和77K的校准之后这套方法和经验完全可以泛化到其他温度点。比如你要继续做100K、150K或者200K的仿真不需要从头再校准一遍只需要利用已有的温度依赖参数做插值验证。我的习惯是把校准好的模型参数文件固定下来然后跑一个温度扫描比如80K、100K、150K、200K、300K把每个温度点的Vth、SS、Idsat提取出来和实验中间温度点对比。如果中间点也对得上说明温度模型的外推能力是可靠的如果对不上通常说明某个温度相关参数的函数形式选错了比如电离能模型、迁移率温度指数只在一端有效。这种“双端点校准中间点验证”的方法是做低温器件TCAD仿真的通用策略能极大提升模型的说服力。此外如果你后续要做的仿真涉及热效应比如自热那么77K下器件的热导率变化、界面热阻、局部温升又会成为下一批需要关注的问题。但无论如何IV曲线本身的电学校准是一切的基石电路仿真、可靠性分析、器件优化全建立在“IV曲线可信”这个前提上。有一个能同时拟合77K和300K的TCAD模型再往任何方向延展都会省力非常多。