ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Atlas材料参数与物理模型:从能跑通到跑得准的仿真标定指南

Atlas材料参数与物理模型:从能跑通到跑得准的仿真标定指南 1. 从“能跑通”到“跑得准”材料参数为什么是Atlas仿真的分水岭很多人第一次用Silvaco Atlas跑通一个MOSFET的Id-Vg曲线之后会产生一种“我已经会TCAD了”的错觉。但接下来只要把结构稍微改一下——比如把沟道材料从硅换成碳化硅或者把栅极从多晶硅换成金属仿真结果立刻就会变得离谱阈值电压偏了几伏击穿电压差了一个数量级迁移率曲线完全不像样。问题往往不在网格、不在算法、也不在求解器设置而在于材料参数和物理模型这一层没有配对。Atlas本质上是一个半导体物理方程组的数值求解器。它求解的是泊松方程、连续性方程和电流密度方程这一套漂移-扩散模型。但方程本身是“空壳”真正决定仿真结果的是两样东西一是每种材料对应的材料参数禁带宽度、电子亲和能、介电常数、迁移率模型系数、复合系数等二是你启用了哪些物理模型迁移率退化、SRH复合、Auger复合、隧穿、碰撞电离等。材料参数是“底料”物理模型是“烹饪方式”两者缺一不可。我见过太多人拿到一个示例代码直接改改尺寸和掺杂就开跑结果在硅器件上勉强能用一换材料就崩。原因很简单Atlas内置的默认材料参数是面向硅工艺标定的对SiC、GaN、GaAs这些化合物半导体默认值要么缺失要么精度远远不够。你必须手动定义或者从可信来源导入材料参数文件。这一篇要讲清楚的就是在Atlas里材料参数到底怎么定义、物理模型怎么选、两者怎么配合才能让仿真结果可信。我会从材料参数文件的组织方式讲起然后逐个拆解关键参数的物理含义和取值来源再讲模型的选择逻辑和参数标定方法最后给出一套可复现的实操流程和几个我踩过的坑。适合已经能跑通基本Atlas仿真、但结果总是不太对的读者。2. Atlas材料参数体系的组织逻辑与文件结构2.1 材料参数到底存在哪里三种定义途径的取舍在Atlas里定义材料参数有三条路可以走每条路的适用场景完全不同。第一条路是在输入文件里直接用material语句定义。这是最直接的方式语法大概是这样的material materialSilicon EG3001.12 PERMITTIVITY11.7 \ MUN1400 MUP450 NC3002.8e19 NV3001.04e19这种方式的好处是所见即所得参数就在输入文件里改起来方便适合快速验证和调试。坏处是当你的仿真涉及多种材料、多个温度点时输入文件会变得极其臃肿而且参数复用性差。第二条路是修改Atlas自带的材料参数文件。Atlas安装目录下有一个material文件夹里面存放着各种材料的默认参数文件比如silicon.mat、sic.mat、gan.mat等。这些文件是纯文本格式你可以直接编辑。但我不建议直接改原文件因为升级或重装时会丢失而且容易把默认值改坏。更好的做法是复制一份到自己的工作目录然后在输入文件里用material file语句加载。第三条路是用material语句配合user.group和user.default机制把自定义参数组织成可复用的参数组。这是最工程化的做法适合需要频繁切换材料配置的项目。提示无论用哪种方式都建议在输入文件开头用注释写清楚每个参数的来源和标定依据。半年后你回头看自己的代码没有注释的参数就是天书。2.2 材料参数文件的字段结构以Silicon为例逐项拆解打开Atlas自带的silicon.mat文件你会看到几十个参数。这些参数可以分成几大类理解分类比死记硬背每个参数更重要。能带结构类参数包括禁带宽度EG300、电子亲和能AFFINITY、导带态密度NC300、价带态密度NV300、禁带变窄系数BGN等。这些参数决定了载流子的本征浓度和能带对齐关系。比如EG300是300K时的禁带宽度硅是1.12eV碳化硅4H-SiC是3.26eV这个差异直接导致本征载流子浓度差了十几个数量级。介电常数类参数主要是PERMITTIVITY硅是11.7SiC是9.7GaN是9.5。这个参数影响电场分布和电容特性对功率器件尤其关键。迁移率类参数包括低场迁移率MUN和MUP以及各种迁移率退化模型的系数。硅的MUN默认值是1400 cm²/V·sMUP是450 cm²/V·s。但注意这只是低场、低掺杂下的值实际器件里迁移率会被掺杂浓度、电场强度、温度、表面粗糙度等因素严重退化。复合类参数包括SRH复合的载流子寿命TAUN和TAUP、Auger复合系数AUGN和AUGP、辐射复合系数等。这些参数决定了器件的漏电流和开关特性。碰撞电离类参数包括IONIZ相关的系数对击穿电压仿真至关重要。下面这张表列出了硅和4H-SiC在几个关键参数上的对比方便你直观感受材料差异对仿真的影响参数硅 (Si)4H-SiC物理意义EG300 (eV)1.123.26禁带宽度决定本征载流子浓度PERMITTIVITY11.79.7相对介电常数影响电场分布MUN (cm²/V·s)1400900低场电子迁移率MUP (cm²/V·s)450120低场空穴迁移率NC300 (cm⁻³)2.8e191.7e19导带有效态密度AFFINITY (eV)4.053.7电子亲和能影响异质结能带对齐这张表里的数值只是典型值实际使用时必须根据你的材料质量、晶向、掺杂浓度做调整。比如4H-SiC的电子迁移率在不同晶面上差异很大沿c轴和垂直于c轴可以差一倍以上。2.3 温度参数的处理为什么不能只填300K的值Atlas的材料参数大多是以300K为基准定义的但实际器件工作温度范围很宽。Atlas内置了温度模型会根据你设定的temperature自动调整禁带宽度、迁移率、饱和速度等参数。但前提是你得把温度系数填对。以禁带宽度为例Atlas用的Varshni公式是Eg(T) Eg(0) - alpha * T² / (T beta)硅的alpha约4.73e-4beta约636。SiC的alpha约3.3e-4beta约0。如果你只填了EG300而没填ALPHA和BETAAtlas在非300K时就会用默认值或者干脆不调整结果在高温仿真时偏差会很大。迁移率的温度依赖通常是mu(T) mu(300) * (T/300)^(-gamma)硅的gamma在1.5到2.5之间SiC的gamma约1.5到2.0。这个指数看起来不起眼但从300K到500K迁移率可能下降30%以上。注意如果你做的是功率器件仿真结温可能到150°C甚至更高温度参数不填对击穿电压和导通电阻的仿真结果都没有参考价值。3. 物理模型的选择逻辑不是越多越好而是越对越好3.1 迁移率模型从恒定迁移率到表面粗糙度散射Atlas里迁移率模型有一大堆从最简单的恒定迁移率到复杂的表面粗糙度散射模型。新手最容易犯的错误是全部打开觉得“模型越多越精确”。实际上模型之间可能互相冲突而且每个模型都引入额外的参数参数没标定好的话模型越多结果越离谱。低场迁移率是基础由MUN和MUP定义。但实际器件里载流子迁移率会被多种散射机制退化。Atlas提供了几个层次的模型CONMOB浓度依赖迁移率模型考虑电离杂质散射。这是最基本的几乎所有仿真都该开。FLDMOB场依赖迁移率模型考虑高场速度饱和。做输出特性仿真时必须开。SURFMOB表面迁移率模型考虑表面粗糙度散射和库仑散射。做MOSFET的沟道迁移率仿真时必须开。TEMP温度依赖迁移率前面提过。这几个模型的启用顺序和组合方式会影响结果。我的经验是对于MOSFET的Id-Vg仿真CONMOBFLDMOBSURFMOB是标配。对于功率二极管的反向击穿CONMOBFLDMOB就够了SURFMOB反而可能引入不必要的复杂性。SURFMOB模型里有一个关键参数叫SURFMOB.C它控制表面散射的强度。这个参数没有通用值必须根据你的工艺条件标定。我通常的做法是先跑一个长沟道器件的转移特性把峰值迁移率调对然后再看短沟道器件的退化是否合理。3.2 复合模型SRH、Auger和辐射复合的适用边界复合模型决定了器件的漏电流和少子寿命行为。Atlas里主要的复合模型有三个SRH复合是 via 缺陷能级的复合由载流子寿命TAUN和TAUP控制。这个模型在几乎所有仿真里都该开因为它是硅器件漏电流的主要来源。TAUN和TAUP的典型值在硅里是1e-7到1e-3秒具体取决于材料质量和工艺。SiC的少子寿命通常很短在1e-7到1e-6秒量级。Auger复合是高注入条件下的三粒子过程由AUGN和AUGP控制。硅的Auger系数约1e-30 cm⁶/s。这个模型在低注入下影响很小但在大电流密度下会显著增加复合电流。做功率器件的大电流仿真时必须开。辐射复合在硅里很弱通常可以忽略。但在GaAs、GaN这些直接带隙材料里辐射复合是主要的复合机制必须开。提示SRH复合的载流子寿命对温度很敏感Atlas里可以用TAUN和TAUP的温度系数来调整。如果你做高温仿真别忘了这个。3.3 隧穿和碰撞电离功率器件仿真的关键模型做功率器件仿真隧穿和碰撞电离是绕不开的。带间隧穿BTBT在高压器件的击穿仿真里很重要尤其是当器件尺寸缩小到纳米级或者电场极高时。Atlas里用BTBT模型关键参数是BTBT.A和BTBT.B这两个参数决定了隧穿速率。硅的典型值BTBT.A约4e14 V/mBTBT.B约1.9e7 V/cm。碰撞电离是雪崩击穿的核心机制。Atlas里用IMPACT模型关键参数是IONIZ相关的系数。硅的电子和空穴电离率可以用Chynoweth公式描述alpha alpha_inf * exp(-E_crit / E)其中alpha_inf和E_crit是材料相关的参数。硅的电子alpha_inf约7.03e5 cm⁻¹E_crit约1.23e6 V/cm。SiC的碰撞电离系数和硅差异很大必须用SiC专用的参数。我踩过的一个坑是做SiC MOSFET的击穿仿真时直接用了硅的碰撞电离参数结果击穿电压仿真出来只有实际值的一半。后来换成SiC的参数才对上。这个教训是材料参数和模型参数必须匹配不能混用。4. 材料参数标定的实操流程从默认值到可信值4.1 标定的基本思路先固定结构再调参数材料参数标定不是盲目试凑而是有逻辑的。我的做法是先建立一个已知结果的基准结构比如一个简单的PN结二极管或者MOS电容然后用实验数据或者可信的文献数据来反推参数。具体步骤是这样的建立基准结构选一个结构简单、物理过程清晰的器件。PN结二极管是最佳选择因为它的I-V特性对SRH寿命和迁移率很敏感而且实验数据容易找到。固定几何和掺杂把器件的尺寸、掺杂浓度、结深这些几何参数固定死不要动。先调迁移率用正向I-V曲线的线性区来标定低场迁移率。如果仿真电流偏小说明迁移率偏低偏大则偏高。再调寿命用反向漏电流或者正向I-V的复合电流区来标定SRH寿命。漏电流偏大说明寿命偏短。最后调碰撞电离用反向击穿电压来标定碰撞电离系数。击穿电压偏早说明电离系数偏大。这个顺序很重要因为迁移率影响的是整体电流水平寿命影响的是复合电流分量碰撞电离影响的是高场行为。如果顺序反了你会陷入“调了一个参数另一个又不对”的死循环。4.2 用实验数据反推参数一个PN结二极管的标定实例假设你有一个硅PN结二极管实验测得的正向I-V曲线在0.7V时电流密度是100 A/cm²反向击穿电压是100V。你需要在Atlas里复现这个结果。首先建立结构go atlas mesh space.mult1.0 x.mesh loc0.0 spac0.1 x.mesh loc1.0 spac0.1 y.mesh loc0.0 spac0.01 y.mesh loc1.0 spac0.1 region num1 materialSilicon electrode nameanode top electrode namecathode bottom doping region1 p.type concentration1e18 doping region1 n.type concentration1e18 peak1.0然后定义材料参数和模型material materialSilicon MUN1400 MUP450 TAUN1e-7 TAUP1e-7 models CONMOB FLDMOB SRH AUGER IMPACT跑正向I-V看0.7V时的电流密度。如果仿真值是50 A/cm²说明迁移率或者寿命偏低。先把TAUN和TAUP调大一个数量级试试如果电流上去了但形状不对再调迁移率。跑反向I-V看击穿电压。如果仿真击穿在80V就发生了说明碰撞电离系数偏大把IONIZ的系数调小10%到20%。这个过程可能需要迭代几次但每次只调一个参数记录每次的变化很快就能收敛。4.3 参数敏感度分析哪些参数最值得花时间调不是所有参数都值得花时间标定。根据我的经验对仿真结果影响最大的参数排序是这样的迁移率相关参数影响最大尤其是MUN、MUP和SURFMOB的系数。迁移率差20%电流差20%。SRH寿命影响漏电流和复合电流对低电流区影响显著。碰撞电离系数只影响击穿电压对正常工作区没影响。禁带宽度和亲和能影响异质结和能带对齐对同质结影响较小。介电常数影响电容和电场分布但对I-V曲线影响不大。所以如果你的仿真时间有限优先把迁移率和寿命调对这两个搞定了80%的仿真结果就靠谱了。5. 那些年我踩过的材料参数坑五个真实案例5.1 坑一SiC的默认迁移率用了硅的值第一次做4H-SiC MOSFET仿真时我直接用了Atlas默认的materialSilicon只是把禁带宽度改成了3.26eV。结果跑出来的导通电阻比实际值低了将近一个数量级。原因很简单硅的电子迁移率是1400SiC只有900左右而且SiC的迁移率对掺杂浓度的依赖更强。后来换成materialSiC并手动调整了MUN和MUP结果才对上。这个坑的教训是换材料不是只换禁带宽度迁移率、态密度、介电常数都要换。5.2 坑二SRH寿命设成了默认的无限大Atlas的默认SRH寿命是无限大意味着不开启SRH复合。如果你不显式设置TAUN和TAUP仿真出来的漏电流会极小看起来“器件很完美”。但实际器件的漏电流是由SRH复合主导的不设寿命等于忽略了最主要的漏电机制。我现在的习惯是任何仿真都显式设置TAUN和TAUP哪怕用典型值也比不设强。5.3 坑三温度系数没填高温仿真全错做功率器件的热仿真时我忘了填禁带宽度的温度系数ALPHA和BETA。结果在200°C时仿真出来的阈值电压几乎没变而实际器件阈值电压会下降0.5V以上。后来补上温度系数结果就合理了。这个坑的教训是温度相关的参数必须填全不能只填300K的值。5.4 坑四模型冲突导致不收敛有一次我同时开了SURFMOB和FLDMOB还开了BTBT结果仿真怎么都不收敛。后来逐个关闭模型排查发现是SURFMOB和FLDMOB在某些电场条件下给出了矛盾的迁移率值导致迭代发散。解决办法是调整模型的启用顺序或者在某些区域禁用某个模型。这个坑的教训是模型不是越多越好要理解每个模型的适用条件。5.5 坑五参数文件路径不对加载了默认值Atlas加载材料参数文件时如果路径写错了它不会报错而是静默地使用默认值。我有一次把material filemy_sic.mat写成了material filemy_sic.mat路径少了一层结果仿真用的还是默认硅参数但我以为用的是自定义SiC参数。排查了半天才发现是路径问题。这个坑的教训是加载自定义参数文件后一定要用tonyplot或者输出语句确认参数真的生效了。6. 从参数定义到结果验证一套可复现的完整流程6.1 输入文件的组织模板下面是我常用的输入文件组织模板把材料参数、模型选择、求解设置分开方便管理和复用go atlas # 网格定义 mesh space.mult1.0 x.mesh loc0.0 spac0.1 x.mesh loc1.0 spac0.1 y.mesh loc0.0 spac0.01 y.mesh loc1.0 spac0.1 # 区域和电极 region num1 materialSilicon electrode nameanode top electrode namecathode bottom # 掺杂 doping region1 p.type concentration1e18 doping region1 n.type concentration1e18 peak1.0 # 材料参数 material materialSilicon EG3001.12 PERMITTIVITY11.7 \ MUN1400 MUP450 NC3002.8e19 NV3001.04e19 \ TAUN1e-7 TAUP1e-7 # 物理模型 models CONMOB FLDMOB SRH AUGER IMPACT # 求解设置 method newton trap solve init solve vanode0.0 vstep0.05 vfinal1.0 nameanode save outfpn_diode.str tonyplot pn_diode.str这个模板的好处是结构清晰改哪个部分一目了然。我建议你也建立自己的模板把常用的材料参数和模型组合固化下来。6.2 参数生效的验证方法定义完材料参数后怎么确认Atlas真的用了你的参数而不是默认值有几个方法方法一用tonyplot查看材料参数。在Atlas里跑完仿真后用tonyplot打开结构文件在菜单里选择Tools - Materials可以看到当前结构里每种材料的实际参数值。方法二输出关键参数到日志。在输入文件里加一行output语句把关键参数打印到日志文件里。比如output material.paramEG300,MUN,MUP方法三做对比仿真。用两组不同的参数各跑一次看结果是否有差异。如果结果完全一样说明参数没生效。6.3 结果合理性检查清单仿真跑完后别急着出图先做几个合理性检查本征载流子浓度硅在300K时约1e10 cm⁻³SiC约1e-9 cm⁻³。如果仿真出来的本征浓度差了几个数量级说明禁带宽度或者态密度设错了。阈值电压和理论估算值对比偏差不应超过0.2V。击穿电压和理论值对比偏差不应超过20%。漏电流和实验值对比偏差不应超过一个数量级。如果这些检查都过了你的材料参数和模型基本就是靠谱的。7. 一些让仿真更稳的个人经验材料参数和模型这块我最大的体会是不要迷信默认值也不要迷信文献值。Atlas的默认值是面向通用硅工艺的你的工艺条件、材料质量、器件结构都可能不一样。文献值可以参考但必须结合自己的实验数据做标定。另一个体会是参数标定是个迭代过程不要指望一次调对。我通常会把标定过程分成三轮第一轮调迁移率和寿命第二轮调碰撞电离和隧穿第三轮微调温度系数。每轮只调一类参数记录每次的变化这样即使结果不对也能快速定位是哪个参数的问题。还有一个小技巧把常用的材料参数组合保存成独立的.mat文件在输入文件里用material file加载。这样你的输入文件会很干净而且参数可以跨项目复用。我自己的SiC参数文件已经用了三年经过多次迭代现在跑出来的结果和实验值吻合得很好。最后如果你做的是化合物半导体或者新型材料Atlas的内置参数可能完全不够用。这时候你需要从文献里找参数或者用第一性原理计算来补充。但无论参数来自哪里一定要在输入文件里注明来源否则半年后你自己都不记得这个参数是怎么来的。
返回列表