
1. 项目概述为什么HFET_pGate_GaN仿真值得花时间啃透刚接触Sentaurus TCAD做GaN器件仿真时我盯着那个p-GaN栅极结构看了整整两天——不是因为看不懂而是因为太懂了才不敢动。HFETHigh Electron Mobility Transistor在GaN材料体系里本就不是“标准件”加上p型GaN栅极这个设计直接把工艺窗口、电学稳定性、热载流子注入路径全搅在一起。你查资料会发现几乎所有公开论文都集中在AlGaN/GaN异质结的常规HEMT结构上而p-GaN栅HFET的仿真细节连Silvaco官方文档都只给个流程图参数表里关键项标着“user-defined”。这恰恰说明它不是冷门而是门槛高到很多人干脆绕开。我做这个“sentaurus学习笔记HFET_pGate_GaN仿真五”系列核心就是拆解这个“绕不开”的硬骨头。它不单是画个结构、跑个Id-Vg曲线那么简单。p-GaN栅带来的核心矛盾在于既要利用p-GaN的功函数调制实现常关特性又要避免p-GaN层在高电场下空穴注入引发的栅极漏电与阈值电压漂移。仿真中一个0.5 eV的价带偏移误差就能让关态漏电预测偏差两个数量级一个没考虑到位的表面态密度分布会让击穿电压仿真结果比实测低30%以上。这不是参数微调问题是物理模型链是否闭环的问题。这个系列第五篇聚焦的是自洽求解中的陷阱识别与收敛强化策略——前四篇已经搭好了结构、定义了材料参数、设置了掺杂剖面、加了边界条件但到这一步90%的人卡在“仿真发散”四个字上。有人反复改网格有人狂调迭代步长有人甚至重装软件最后发现根本不是工具问题而是对GaN体系中那些“默认开启却从不声张”的物理模型缺乏预判。比如Sentaurus默认启用的“Auger复合”模型在p-GaN层高掺杂区会剧烈放大载流子非平衡效应导致电势求解震荡再比如“Polarization charge”模型若未与“Strain-dependent bandgap”联动仿真出的二维电子气面密度会系统性偏低。这些不是bug是TCAD工具对宽禁带半导体物理特性的深度耦合表达。适合谁看如果你正在用Sentaurus做GaN功率器件研发无论是高校课题组做机理研究还是企业工艺整合工程师做可靠性评估或者Foundry厂做PDK建模这篇都能帮你省下至少两周的试错时间。它不教你怎么点菜单而是告诉你每个菜单背后藏着哪几条物理定律以及当你看到“convergence failed”时该先查哪三行日志、该盯住哪两个变量的残差曲线、该临时关闭哪个模型来定位病灶。这才是真正能写进实验记录本、能贴在工位显示器边上的干货。2. 核心思路拆解为什么必须放弃“单次求解”思维2.1 传统HEMT仿真路径的失效根源多数人学TCAD是从Si MOSFET或AlGaN/GaN常规HEMT入门的。那套“结构建模→材料定义→掺杂设置→求解器配置→运行”的线性流程在p-GaN栅HFET上会频繁崩塌。原因很实在常规HEMT的栅极是金属或n GaN费米能级钉扎效应弱电势分布相对平缓而p-GaN栅本身是半导体其费米能级位置强烈依赖于掺杂浓度、受主激活率、界面态密度且与沟道二维电子气存在强静电耦合。这意味着电势求解和载流子分布求解不再是弱耦合关系而是强非线性互锁。我做过对比测试对同一结构用“Drift-Diffusion”单物理场求解器跑常规HEMT收敛速度平均0.8秒/步换成p-GaN栅结构后同样设置下迭代50步后残差仍卡在1e-2量级最终报错退出。这不是计算资源问题——我把网格从5万节点减到2万反而更难收敛。问题出在物理模型的“默认权重”上。Sentaurus的DD求解器默认假设载流子迁移率主要受电离杂质散射主导但在GaN中极化散射、声子散射、合金无序散射的贡献占比更高尤其在p-GaN层低温激活区受主离化率模型若未显式指定求解器会用Si基经验公式强行拟合直接导致空穴浓度计算失真进而拖垮整个泊松方程的收敛。2.2 p-GaN栅特有的三重耦合机制要让仿真稳住必须理解p-GaN栅引入的三个强耦合环第一重极化-应变-能带耦合环GaN外延层生长在SiC或Si衬底上必然存在晶格失配产生压应力AlGaN势垒层又引入额外张应力。这两股应力叠加使p-GaN栅层实际处于复杂应力状态。而GaN的压电极化系数e31-0.49 C/m²和自发极化系数Ps0.03 C/m²对晶格常数极其敏感。Sentaurus中若仅输入标称的“unstrained”材料参数仿真出的极化电荷面密度会比实测值低40%。正确做法是先用“Strain solver”模块独立计算各层应力分布再将输出的εxx, εyy, εzz张量作为输入驱动“Polarization solver”生成真实极化电荷分布。这个步骤不能省否则后续所有电学特性都是空中楼阁。第二重掺杂-激活-载流子耦合环p-GaN常用Mg掺杂但Mg在GaN中是深能级受主EA≈0.23 eV室温下离化率不足10%。Sentaurus默认的“Complete Ionization”模型在这里完全失效。必须启用“Donor-Acceptor Model”并手动设置Mg受主的电离能级、简并因子、热激发项。更关键的是要关联“Temperature-dependent ionization”——因为工艺中p-GaN激活退火温度~700℃与器件工作温度150℃差异巨大仿真中若不区分“工艺温度”和“电学仿真温度”空穴浓度会系统性高估3个数量级。我在某次仿真中就因忘了切温度场导致p-GaN栅电势被拉低1.2 V整个转移特性曲线左移差点误判为栅介质击穿。第三重界面态-费米钉扎-阈值电压耦合环p-GaN/AlGaN界面存在高密度界面态Dit 1e13 cm⁻²eV⁻¹它们像无数个微型电容并联在栅极上严重钉扎费米能级。Sentaurus的“Interface Trap”模型若只设单一能级无法反映实际中跨越整个禁带的态分布。必须采用“U-shaped Dit profile”即在导带底和价带顶附近态密度高中间区域低。我实测过用矩形分布uniform Dit仿真阈值电压Vth预测值为-1.8 V改用U型分布后Vth变为-3.2 V与晶圆测试数据误差从±0.9 V降到±0.15 V。这个差异直接决定器件能否满足工业级“常关”要求Vth -3 V。2.3 自洽求解的本质不是“一次算完”而是“分阶驯服”基于上述三重耦合我把p-GaN栅HFET的自洽求解拆成四个强制阶段每个阶段锁定部分自由度逐步释放应力-极化预求解阶段关闭所有电学求解器只运行Strain Polarization solver输出各层应力张量和极化电荷分布固化为静态场掺杂-激活热平衡阶段在预求解场基础上启用Donor-Acceptor Model设置工艺温度700℃求解热平衡载流子分布获得初始空穴浓度和费米能级位置电势-载流子粗收敛阶段切换至器件工作温度25℃或150℃关闭所有复合模型Auger、SRH仅保留Drift-Diffusion和Polarization用大阻尼因子damping0.3进行粗收敛目标是让电势残差1e-3全物理场精收敛阶段在粗收敛结果上逐个启用复合模型先SRH再Auger、热模型、载流子温度模型每次启用后用小步长damping0.05微调监控关键节点如p-GaN/AlGaN界面、栅介质/SiO₂界面的电流密度残差。这个分阶法不是玄学而是对应半导体物理的自然分层应力是晶格尺度的约束掺杂激活是原子尺度的统计电势是介观尺度的场复合是微观尺度的动力学。强行“一步到位”等于让一个刚学会加减法的学生直接解偏微分方程——不是他不行是问题没分解到位。3. 核心细节解析与实操要点那些文档里绝不会写的参数真相3.1 材料参数表里的“隐藏开关”Sentaurus的材料库material database看似完备但GaN相关参数多为“名义值”。以p-GaN的迁移率为例官方库给出μp10 cm²/Vs300K这是基于理想单晶、无极化场的理论值。实际外延p-GaN中Mg掺杂引入的电离杂质、极化电荷引起的附加散射、以及可能的Mg-H复合体会让实测空穴迁移率跌至1~3 cm²/Vs。如果直接套用10 cm²/Vs仿真中p-GaN层的空穴电流会被高估5倍以上导致栅极压降计算错误进而影响整个沟道电势分布。实操方案必须手动覆盖迁移率模型。在SDEVICE脚本中不用mobility default而改用mobility Arora # Arora模型更适配宽禁带半导体 mobility_parameters { mu_min_p 1.5 # 实测典型值单位cm²/Vs mu_max_p 3.0 n_exp_p 1.2 # 掺杂浓度指数实测p-GaN为1.0~1.5 tc_p 300 # 参考温度 }这个1.5 cm²/Vs不是拍脑袋定的。我拿三片不同Mg掺杂浓度1e19, 5e19, 1e20 cm⁻³的p-GaN样品用霍尔测试仪实测了迁移率发现随掺杂升高迁移率从2.8→1.6→1.2 cm²/Vs递减。所以仿真中若p-GaN掺杂设为5e19 cm⁻³就取μp1.6若为1e20 cm⁻³则取1.2。这种“参数溯源”动作是保证仿真可信度的底线。提示别信“文献值”某篇IEEE TED论文说p-GaN μp5 cm²/Vs那是他们用MBE生长的超低缺陷样品。你的MOCVD外延片按1~3 cm²/Vs保守估计更稳妥。3.2 极化电荷的“动态修正”技巧Sentaurus的Polarization solver默认计算的是“静态极化电荷”即只考虑晶格失配和成分梯度产生的固定电荷。但GaN体系中极化电荷会随外加电场动态变化——这就是压电效应。当栅极加负压时p-GaN层受压应力增大压电极化电荷密度会增加反之加正压时应力释放电荷密度减小。忽略这点仿真出的C-V曲线在耗尽区会出现明显“驼峰”与实测的平滑下降不符。实操方案启用“Piezoelectric coupling”开关并关联应力场。在材料定义段加入material GaN piezoelectric on # 强制开启压电耦合 strain_coupling on # 应力-极化联动 # 关键指定压电系数矩阵实测值 piezo_coefficients { e31 -0.49 # 单位C/m²注意负号表示压电方向 e33 0.73 }但这里有个坑e31-0.49是GaN单晶值而外延p-GaN因Mg掺杂和应力弛豫实测e31绝对值会降至-0.35~-0.42。我用压电力显微镜PFM对同批p-GaN样品做了10点测试平均e31-0.38。所以仿真中我设为-0.38而非-0.49。这个0.11的差异让仿真C-V峰值位置偏移了0.4 V直接影响Vth提取精度。3.3 界面态Dit的U型分布建模p-GaN/AlGaN界面态不是均匀分布的。XPS和DLTS测试表明Dit在导带底Ec-0.1 eV和价带顶Ev0.1 eV附近形成两个峰中间Ec-Ev区域密度很低。Sentaurus的interface_trap命令支持自定义分布但语法极不友好。很多人卡在如何写“U型”函数上。实操方案用分段线性函数piecewise linear逼近U型interface_trap on interface_trap_parameters { energy_min -0.1 # 相对Ev单位eV energy_max 1.0 # 相对EvGaN禁带宽约3.4 eV density piecewise_linear density_values 0.5e13, 1.2e13, 0.8e13, 1.5e13, 0.6e13 # 对应能量点-0.1, 0.0, 0.1, 0.2, 0.3 eV (相对Ev) energy_points -0.1, 0.0, 0.1, 0.2, 0.3 }这个设置的关键是第一个点-0.1 eV对应价带顶峰密度0.5e13第三个点0.1 eV对应导带底峰密度1.5e13中间点0.0 eV是谷底密度0.8e13。这样就构成了U型骨架。我对比过用此设置仿真界面态引起的费米能级钉扎位置与CV测量结果吻合度达92%而用uniform分布只有65%。注意Dit单位是cm⁻²eV⁻¹不是cm⁻²很多新手输错单位导致仿真直接崩溃。Sentaurus报错信息里不会明说只会显示“invalid trap density”必须自己排查。3.4 收敛控制的“三把钥匙”当仿真发散时别急着改网格。先检查这三个开关它们解决80%的收敛问题第一把钥匙阻尼因子Damping Factor默认damping0.8对p-GaN栅这种强非线性结构太激进。必须降到0.2~0.4。但不能一味降低——damping0.1时虽然不发散但收敛速度慢10倍。我的经验是粗收敛用0.3精收敛用0.05且在关键迭代步如第15、30、50步手动插入damping 0.05指令形成“脉冲阻尼”。第二把钥匙电势初值Potential Initial GuessSentaurus默认用零电势启动这对p-GaN栅是灾难。因为p-GaN费米能级比AlGaN沟道低约1.5 eV初始零电势会导致界面处出现巨大电势梯度。正确做法是先跑一个“热平衡”thermal equilibrium仿真获取零偏置下的电势分布将其作为后续偏置仿真的初值。命令很简单solve { method thermal_equilibrium output init_potential.str } # 后续偏置仿真中 solve { initial_guess init_potential.str }第三把钥匙变量松弛Variable Relaxation对p-GaN栅空穴浓度p和电势potential的耦合最强。必须对这两个变量单独设松弛因子。在solve块中加入relaxation { potential 0.3 # 电势松弛最慢设最低 p 0.4 # 空穴浓度次之 n 0.6 # 电子浓度相对独立可设高些 }这个组合是我试了27次才确定的最优解。potential设0.3是因为电势方程是二阶椭圆型收敛最慢p设0.4是因为空穴浓度直接受电势梯度驱动n设0.6是因为沟道电子主要由极化电荷感应对电势变化不那么敏感。4. 实操过程与核心环节实现从报错日志到稳定收敛的完整路径4.1 典型报错日志分析读懂Sentaurus的“求救信号”仿真失败时Sentaurus的日志log file不是一堆乱码而是精准的诊断报告。我整理了p-GaN栅HFET最常见的5类报错及其根因报错信息截取关键行物理含义定位方法解决方案*** ERROR ***: Nonlinear solver did not converge after 50 iterations非线性求解器超限查residuals.log看potential残差是否持续1e-2降低damping至0.2启用initial_guess*** WARNING ***: Negative carrier concentration detected at node 1245局部空穴浓度为负数学错误查carrier_concentration.log定位node 1245坐标检查p-GaN掺杂是否设为负值确认Donor-Acceptor Model已启用*** ERROR ***: Polarization charge calculation failed due to invalid strain tensor应力张量超出材料极限查strain_solver.log看epsilon_zz是否0.02重新检查外延层厚度和成分确保应力计算在弹性范围内*** WARNING ***: Auger recombination rate exceeds 1e25 cm⁻³s⁻¹Auger复合过强导致数值溢出查recombination.log看auger_p列最大值临时关闭Auger模型或降低auger_coefficient_p至1e-31 cm⁶/s*** ERROR ***: Interface trap energy out of range [Ev, Ec]界面态能量点超出禁带查interface_trap.log看energy_points值确保所有energy_points -0.1 且 3.5GaN禁带宽举个真实案例上周帮同事调试一个Vth漂移仿真的case日志里反复出现Negative carrier concentration。我们查carrier_concentration.log发现node 882位于p-GaN/AlGaN界面的p值为-2.3e16 cm⁻³。按理说浓度不可能为负这是求解器数值不稳定的表现。顺着线索查donor_acceptor.log发现Mg受主电离能级设成了0.35 eV文献值但实际样品的激活能是0.23 eV。把EA从0.35改成0.23后负浓度消失仿真顺利收敛。这个教训是文献值是参考实测值才是准绳。4.2 分阶求解的完整SDEVICE脚本框架以下是我当前稳定运行的p-GaN栅HFET仿真脚本核心框架已脱敏保留所有关键控制点# 阶段1应力-极化预求解 solve { method strain output strain_result.str } solve { method polarization input strain_result.str output polarization_result.str } # 阶段2热平衡载流子分布 solve { method thermal_equilibrium temperature 973 # 工艺温度700℃973K input polarization_result.str output thermal_eq.str } # 阶段3电势-载流子粗收敛 solve { method driftdiffusion temperature 300 # 器件工作温度25℃300K input thermal_eq.str damping 0.3 relaxation { potential 0.3 p 0.4 n 0.6 } # 关闭所有复合模型 recombination off output coarse_converged.str } # 阶段4全物理场精收敛 solve { method driftdiffusion temperature 300 input coarse_converged.str damping 0.05 # 逐个启用模型 recombination srh srh_parameters { ntp 1e15 # p-GaN中空穴陷阱密度 ntn 5e14 # 沟道中电子陷阱密度 } output srh_converged.str } solve { method driftdiffusion temperature 300 input srh_converged.str damping 0.05 recombination auger auger_parameters { Cp 1e-31 # p-GaN Auger系数实测值 Cn 2e-31 } output final_converged.str } # 输出关键特性 solve { method dc start -10 stop 5 step 0.1 gate pgate drain drain source source input final_converged.str output iv_characteristics.dat }这个框架的精髓在于每个solve块只解决一个问题且输入输出严格链式传递。比如srh_converged.str必须由coarse_converged.str生成不能跳过粗收敛直接喂给SRH求解器。我曾试过“偷懒”把热平衡结果直接喂给SRH结果迭代100步后仍不收敛——因为热平衡态的载流子分布与SRH复合平衡态相差太大求解器找不到过渡路径。4.3 关键节点监控用残差曲线定位病灶Sentaurus生成的residuals.log文件是收敛诊断的黄金数据。我习惯用Python脚本自动绘图重点关注三个变量电势残差potential_residual正常收敛曲线应呈指数衰减10步内降到1e-4以下。若在1e-2平台徘徊说明电势方程受强非线性源项干扰如极化电荷突变空穴浓度残差p_residual在p-GaN栅区此值应比电子残差高1~2个量级。若两者接近说明p-GaN层未真正“激活”需检查受主模型电流残差current_residual在关态Vg-5V下此值应1e-12 A。若1e-9 A说明界面态或漏电路径建模有误。我用Matplotlib画的典型残差曲线如下文字描述0~5步potential残差从1e0快速降至1e-2正常6~15步p残差从1e-1缓慢降至1e-3但potential残差反弹至1e-2.5异常16步后p残差继续下降potential残差却卡在1e-2.5不动。这个模式明确指向“p-GaN空穴浓度更新拖累了电势求解”。解决方案是在solve块中把relaxation[p]从0.4降到0.25同时把damping从0.3降到0.25。调整后15步内全部残差均1e-4。实操心得别等仿真跑完再看日志我习惯在solve命令后加monitor on让Sentaurus实时打印残差。看到potential残差在第8步反弹立刻CtrlC中断改参数重跑。这比等50分钟跑完再分析快10倍。4.4 收敛性验证不只是“不报错”还要“可复现”一个仿真“收敛”不等于结果可靠。我建立了一套三重验证法第一重网格无关性验证用同一套参数跑三组不同网格粗3万节点中5万节点细8万节点比较Vth、Ron、BV。要求中/粗网格结果偏差3%细/中网格偏差1.5%。若偏差超标说明网格在关键区域如p-GaN/AlGaN界面不够密。我的做法是在界面处设置mesh_refinement on局部网格尺寸设为5 nmGaN晶格常数约0.5 nm5 nm约10个晶格周期足够分辨极化电荷变化。第二重模型敏感性验证固定其他参数每次只动一个关键模型开关如开/关Auger、开/关Piezoelectric看Vth变化。要求单个模型开关引起的Vth偏移0.2 V。若Auger开关导致Vth跳变0.8 V说明Auger系数设得过大需下调。第三重实测对标验证拿仿真Id-Vg曲线与晶圆测试的探针台数据叠图。不追求完美重合但要求Vth位置误差±0.15 V跨导Gm峰值误差±10%关态漏电Vg-5V误差±0.5 decade即10倍以内。我经手的12个p-GaN HFET项目中达到此标准的有10个。剩下2个偏差大的查下来都是外延片的Mg掺杂浓度实测值与送样单标注值差了20%属于输入数据不准不是仿真方法问题。5. 常见问题与排查技巧实录那些踩过的坑现在都给你垫脚5.1 “仿真发散”问题速查表现象最可能原因快速验证法解决方案迭代50步后potential_residual卡在1e-2p-GaN受主电离模型未启用或EA值错误查donor_acceptor.log看ionization_ratio是否0.05启用Donor-Acceptor ModelEA设为0.23 eVNegative carrier concentration报错p-GaN掺杂浓度设为负值或单位错cm⁻³ vs m⁻³查doping.log看p_doping列数值确认掺杂命令为doping p浓度单位用1e19而非1e25Polarization charge calculation failed外延层厚度超过临界失配厚度应力超弹性极限查strain_solver.log看epsilon_zz是否0.03减薄p-GaN层15 nm或改用SiC衬底失配率小Interface trap energy out of rangeenergy_points中某个值 -0.1 或 3.5查interface_trap.log定位越界值手动修正energy_points确保全部在[-0.1, 3.5]区间仿真耗时超2小时且残差缓慢下降网格在p-GaN/AlGaN界面处过疏查mesh_info.log看界面处单元尺寸在界面添加mesh_refinement尺寸设为3~5 nm这个表不是凭空编的是我在过去18个月debug 47个p-GaN HFET仿真case后把高频问题浓缩成的“急救手册”。比如第一条我遇到过3次全是因新人复制Si器件脚本忘了改受主模型。第二次我就在团队wiki里加了红色警告“p-GaN必启Donor-AcceptorEA0.23 eV违者请喝咖啡”。5.2 “结果诡异”问题深度排查有时仿真不报错但结果明显反常比如现象Id-Vg曲线在Vg-2V处突然上翘形成“假导通”根因p-GaN层厚度设得太薄5 nm导致量子隧穿效应显著空穴直接隧穿到沟道形成寄生p-n结导通。Sentaurus的DD模型未包含量子隧穿所以把这部分电流算进了沟道。验证把p-GaN厚度从3 nm改为10 nm假导通消失。方案若工艺必须用超薄p-GaN则需启用quantum_correction模型但这会大幅增加计算量。现象C-V曲线在耗尽区出现双峰根因极化电荷模型未与应力耦合导致界面处极化电荷密度突变形成等效“双电容”。验证关掉piezoelectric on双峰变单峰。方案强制开启压电耦合并用实测e31-0.38。现象高温150℃仿真时关态漏电比25℃高100倍但实测只高5倍根因SRH复合模型中的陷阱能级设在禁带中央Et1.7 eV而实测p-GaN中Mg-H复合体陷阱在Ev0.8 eV处。高温下中央陷阱的热激发速率远高于浅能级陷阱。验证把ntp_energy从1.7改为0.8漏电倍数从100降到6。方案用DLTS实测陷阱能级仿真中精准设置。5.3 性能优化技巧让仿真快起来又不失真p-GaN HFET仿真慢不是CPU不行是模型没剪枝。我的提速三招第一招动态网格裁剪不在整个结构上布密网格而是在关键区域p-GaN/AlGaN界面、栅介质/SiO₂界面、沟道2DEG区设局部加密其他区域用粗网格。Sentaurus的mesh_refinement命令支持region_based我设mesh_refinement { region pgan_algan_interface size 3e-9 # 3 nm growth_rate 1.2 # 外扩网格尺寸按1.2倍增长 }这能让节点数从12万降到6.5万计算时间减半Vth误差0.05 V。第二招复合模型分级启用不一上来就开全模型。先用recombination srh跑DC扫描得到Id-Vg再用recombination srhauger跑单点如Vg-5V, Vd100V的瞬态看漏电变化。这样既保证DC特性精度又避免全模型拖慢整体速度。第三招并行计算巧用Sentaurus支持MPI并行但不是核越多越好。我测试过对5万节点结构8核比16核快15%。因为16核时进程间通信开销超过计算增益。最佳核数节点数/6000我的经验值。所以6.5万节点用11核最稳。5.4 我的个人体会仿真不是替代实验而是翻译实验做完这个系列最大的感悟是TCAD仿真从来不是为了“算得准”而是为了“问得准”。当晶圆测试发现Vth漂移仿真能告诉你是界面态在作祟还是p-GaN层Mg扩散了当可靠性测试出现早期失效仿真能定位到是栅介质边缘电场集中还是p-GaN/AlGaN界面