GaN HEMT 这个方向,我前前后后断断续续折腾了快两年,从最开始连极化效应都搞不明白,到后来能独立跑通一套完整的器件仿真流程,中间踩的坑实在太多了。Silvaco 这套 TCAD 工具链在化合物半导体领域算是比较成熟的选择,尤其是 Atlas 模块对 GaN 器件的支持,虽然文档写得让人想骂人,但功能确实够用。这篇文章我打算把整个探索过程拆开来讲,包括器件结构怎么搭、物理模型怎么选、极化电荷怎么设置、仿真结果怎么验证,以及那些文档里绝对不会告诉你的坑。如果你也是刚接触 GaN HEMT 仿真,或者之前用 Silvaco 做过硅器件但想转到化合物半导体方向,这篇内容应该能帮你省下不少时间。
1. 为什么 GaN HEMT 的仿真和硅器件完全不是一回事
1.1 从硅到 GaN 的思维转换
如果你之前用 Atlas 仿真过 MOSFET 或者 BJT,第一次打开 GaN HEMT 的仿真案例时大概率会懵。硅器件的核心是掺杂浓度决定一切,PN 结、MOS 电容、沟道形成,这些概念在硅体系里非常直观。但 GaN HEMT 不一样,它的导电沟道不是靠掺杂形成的,而是靠自发极化和压电极化在 AlGaN/GaN 异质结界面处感应出来的二维电子气(2DEG)。
这意味着什么呢?你在硅器件里习以为常的"掺杂浓度越高,载流子越多"的逻辑,在 GaN HEMT 里完全不适用。2DEG 的浓度主要取决于 AlGaN 势垒层的 Al 组分、厚度,以及极化电荷的建模方式。我一开始就是没转过这个弯,按照硅器件的思路去调掺杂,结果仿真出来的转移特性曲线完全不对,折腾了好几天才发现问题出在极化模型上。
另一个容易让人迷惑的地方是 GaN 材料的自发极化方向。纤锌矿结构的 GaN 沿 c 轴生长时,Ga 面和 N 面的极化方向是相反的。常见的 Ga 面 AlGaN/GaN 异质结,极化方向指向衬底,2DEG 形成在 AlGaN/GaN 界面靠近 GaN 一侧。如果你把衬底方向搞反了,仿真结果会完全对不上。这个细节在 Silvaco 的文档里提了一嘴,但很容易被忽略。
1.2 2DEG 的形成机制与仿真中的关键参数
2DEG 的形成可以这样理解:AlGaN 和 GaN 的自发极化强度不同,加上晶格失配产生的压电极化,在异质结界面处会形成一个极化电荷面密度。为了保持电中性,自由电子会聚集在界面处,形成高浓度的 2DEG。这个过程不需要任何掺杂,这也是 GaN HEMT 能实现高电子迁移率的原因。
在 Silvaco Atlas 中,极化效应的建模主要靠以下几个参数控制:
| 参数 | 含义 | 典型值(AlGaN/GaN) |
|---|---|---|
POLARIZATION | 是否开启极化模型 | 必须设为 1 |
PIEZO | 压电极化系数 | 与 Al 组分相关 |
SPONT | 自发极化系数 | 与 Al 组分相关 |
ALMOL.FRAC | AlGaN 中 Al 的摩尔分数 | 0.15~0.35 |
CALC.STRAIN | 是否计算应变 | 建议开启 |
我实测下来,Al 组分在 0.2 到 0.3 之间时,2DEG 浓度大概在 8e12 到 1.5e13 cm^-2 这个量级,和文献报道基本吻合。如果仿真出来的 2DEG 浓度差了一个数量级,大概率是极化参数没设对,或者异质结界面的网格太粗导致电荷分配出了问题。
1.3 网格划分:GaN 器件仿真中最容易被低估的环节
硅器件仿真里,网格划分虽然重要,但通常不会成为决定性的因素。GaN HEMT 就不一样了,异质结界面的网格精度直接决定了 2DEG 的仿真结果是否可信。我试过在 AlGaN/GaN 界面处用 1nm 的网格间距,和用 0.5nm 的网格间距,仿真出来的阈值电压差了将近 0.5V。
原因在于,极化电荷是面电荷,在数值求解时会被分配到界面附近的网格节点上。如果网格太粗,电荷分配就会出现"涂抹"效应,导致界面处的电势分布失真。我的经验是,在异质结界面附近至少要有 3 到 5 个网格点,间距控制在 0.5nm 以内。势垒层和沟道层内部的网格可以适当放宽到 1 到 2nm,衬底部分可以更粗。
另外,GaN 材料的自发极化和压电极化在界面处的突变也需要网格来"捕捉"。如果网格太粗,这个突变会被平滑掉,2DEG 的浓度就会被严重低估。这一点在仿真输出中表现为转移特性曲线的跨导偏低,或者输出特性曲线的饱和电流偏小。
2. Silvaco Atlas 中 GaN HEMT 器件结构的搭建细节
2.1 从零开始定义器件结构
在 Atlas 中搭建 GaN HEMT 结构,核心是mesh、region、electrode这几个语句的配合。我一般会按照外延层的实际结构来定义,从衬底开始往上依次是:衬底、GaN 缓冲层、AlGaN 势垒层、GaN 帽层(可选)、钝化层(可选)。
衬底的选择对仿真结果影响不大,但会影响热仿真。如果只做电学仿真,用蓝宝石或者 SiC 衬底都可以,主要区别在于热导率。我通常用 SiC 衬底,因为实际器件中 SiC 衬底更常见,而且后续如果要加热仿真,SiC 的热导率参数也更好找。
GaN 缓冲层的厚度一般在 1 到 2 微米,仿真时可以适当减薄到 0.5 到 1 微米,以节省计算时间。但要注意,如果缓冲层太薄,缓冲层/衬底界面的缺陷和陷阱效应可能会影响到沟道。我一般用 1 微米,兼顾精度和速度。
AlGaN 势垒层的厚度通常在 15 到 25nm,Al 组分在 0.2 到 0.3 之间。这个厚度和组分直接决定了 2DEG 的浓度和器件的阈值电压。势垒层越厚、Al 组分越高,2DEG 浓度越大,阈值电压越负。
2.2 极化电荷的手动设置与自动计算
Silvaco Atlas 提供了两种极化电荷的处理方式:一种是自动计算,通过POLARIZATION语句开启,Atlas 会根据材料参数和应变自动计算极化电荷;另一种是手动设置,通过INTERFACE语句在特定界面处指定固定电荷。
我一开始用的是自动计算,但发现结果和实验数据对不上。后来查了一些文献,发现 Atlas 内置的极化系数和最新报道的值有偏差,尤其是压电极化系数。于是改成手动设置,在 AlGaN/GaN 界面处直接指定面电荷密度。
手动设置的好处是可控性强,你可以根据文献中的实验数据来调整电荷密度。缺点是如果器件结构复杂(比如有多个异质结),手动设置的工作量会很大。我的建议是,先用自动计算跑一遍,看看结果的大致趋势,然后根据实验数据微调。如果偏差在 20% 以内,可以通过调整 Al 组分或者势垒层厚度来补偿;如果偏差很大,就需要手动设置极化电荷了。
2.3 电极定义与接触类型的选择
GaN HEMT 的电极包括源极、漏极和栅极。源极和漏极通常是欧姆接触,栅极是肖特基接触。在 Atlas 中,欧姆接触用name=source和name=drain定义,肖特基接触用name=gate并指定功函数。
这里有一个坑:Atlas 默认的欧姆接触是理想接触,接触电阻为零。但实际 GaN HEMT 的源漏欧姆接触电阻通常在 0.5 到 2 欧姆·毫米之间,不能忽略。如果仿真时不考虑接触电阻,仿真出来的饱和电流会偏高。我一般会在源漏电极处串联一个电阻来模拟接触电阻,或者用CONTACT语句指定接触电阻。
栅极的肖特基势垒高度也是一个关键参数。GaN 上常用的栅极金属有 Ni/Au、Pt/Au 等,势垒高度在 0.8 到 1.2eV 之间。我一般用 1.0eV 作为默认值,然后根据实验数据进行调整。如果仿真出来的栅极漏电流偏大,可以适当提高势垒高度;如果阈值电压偏负,可以降低势垒高度。
3. 物理模型的选择:哪些必须开,哪些可以关
3.1 迁移率模型:场依赖迁移率是必须的
GaN HEMT 的沟道电场很高,尤其是在饱和区,场依赖迁移率效应非常明显。Atlas 提供了多种迁移率模型,我一般用FLDMOB模型,它考虑了平行电场对迁移率的影响。对于 GaN 材料,还需要设置低场迁移率和饱和速度。
GaN 的低场电子迁移率在 1000 到 2000 cm^2/Vs 之间,取决于材料质量和 2DEG 浓度。我一般用 1500 cm^2/Vs 作为默认值。饱和速度在 1.5e7 到 2.5e7 cm/s 之间,我一般用 2e7 cm/s。这些参数需要根据实际材料质量进行调整,如果仿真出来的跨导偏低,可以适当提高低场迁移率。
另外,AlGaN 势垒层的迁移率也需要设置。由于 AlGaN 的合金散射效应,其迁移率远低于 GaN。我一般用 100 到 300 cm^2/Vs。如果势垒层的迁移率设得太高,仿真出来的栅极漏电流会偏大。
3.2 极化模型与陷阱效应的耦合
GaN HEMT 的一个显著特点是电流崩塌效应,也就是在高压开关过程中,由于表面陷阱和缓冲层陷阱的充放电,导致导通电阻增大、饱和电流降低。要仿真这个效应,需要在 Atlas 中开启陷阱模型,并在表面和缓冲层中定义陷阱。
陷阱的定义包括陷阱能级、浓度、俘获截面等参数。这些参数很难从文献中直接找到,通常需要根据实验数据进行拟合。我一般先用一个简单的单能级陷阱模型,能级设在禁带中央附近,浓度在 1e12 到 1e13 cm^-2 之间,俘获截面在 1e-15 到 1e-14 cm^2 之间。然后根据脉冲 I-V 或者瞬态仿真的结果进行调整。
这里有一个经验:陷阱效应对直流特性的影响不大,但对瞬态特性和射频特性影响很大。如果你的仿真只关注直流特性,可以暂时不开启陷阱模型,以节省计算时间。但如果要仿真开关特性或者射频特性,陷阱模型是必须的。
3.3 热效应模型:什么时候需要开
GaN HEMT 的功率密度很高,自热效应非常显著。如果仿真时不考虑热效应,仿真出来的饱和电流会偏高,尤其是在高漏压条件下。Atlas 提供了GIGA和HEAT等热模型,可以耦合电学和热学仿真。
我一般会在以下情况下开启热模型:一是仿真高功率器件,漏压超过 20V;二是仿真连续波工作模式;三是需要评估器件的热阻和温度分布。如果只是仿真小信号特性或者低功率条件下的直流特性,可以暂时不开启热模型。
开启热模型后,需要设置材料的热导率、热容等参数。GaN 的热导率在 1.3 到 1.5 W/cm·K 之间,AlGaN 的热导率更低,在 0.3 到 0.5 W/cm·K 之间。衬底的热导率取决于材料,SiC 衬底在 3.5 到 4.5 W/cm·K 之间,蓝宝石衬底在 0.3 到 0.4 W/cm·K 之间。这些参数需要根据实际材料进行设置。
4. 仿真调试:当结果不对时怎么排查
4.1 转移特性曲线异常的第一轮排查
转移特性曲线是 GaN HEMT 仿真中最基本的输出,也是最能反映问题的。如果转移特性曲线不对,通常有以下几种表现:
第一种是没有开启电压,也就是栅压从负到正扫描时,漏电流一直很小,没有明显的开启点。这种情况通常是 2DEG 没有形成,或者栅极肖特基势垒太高。排查方法是先看异质结界面的电势分布,确认 2DEG 是否存在。如果 2DEG 浓度为零,检查极化模型是否开启,Al 组分和势垒层厚度是否设置正确。
第二种是阈值电压偏负,也就是器件在栅压为零时就已经导通了。这种情况通常是 2DEG 浓度太高,或者势垒层太厚。排查方法是检查 Al 组分和势垒层厚度,适当降低 Al 组分或者减薄势垒层。另外,栅极的肖特基势垒高度也会影响阈值电压,如果势垒高度设得太低,阈值电压会偏负。
第三种是跨导偏低,也就是转移特性曲线的斜率不够大。这种情况通常是迁移率设得太低,或者源漏接触电阻太大。排查方法是检查迁移率模型和参数,以及接触电阻的设置。
4.2 输出特性曲线的常见问题
输出特性曲线反映的是器件的饱和电流和输出电阻。如果输出特性曲线不对,通常有以下几种表现:
第一种是饱和电流偏低。这种情况通常是 2DEG 浓度偏低,或者迁移率偏低,或者源漏接触电阻太大。排查方法是先确认 2DEG 浓度是否合理,然后检查迁移率参数和接触电阻。
第二种是输出电阻偏低,也就是在饱和区漏电流随漏压增加而明显增大。这种情况通常是沟道长度调制效应太强,或者缓冲层漏电太大。排查方法是检查沟道长度和缓冲层的掺杂浓度。如果缓冲层掺杂浓度太高,缓冲层漏电会增加,导致输出电阻降低。
第三种是电流崩塌效应不明显。如果你开启了陷阱模型,但仿真出来的输出特性曲线没有明显的电流崩塌,可能是陷阱参数设置不对。排查方法是检查陷阱的能级、浓度和俘获截面,适当增加陷阱浓度或者调整能级位置。
4.3 收敛性问题:GaN 仿真中最让人头疼的事
GaN HEMT 仿真中最常见的问题就是不收敛。尤其是开启极化模型和陷阱模型后,收敛难度会大幅增加。我总结了几条经验:
第一,逐步开启模型。不要一上来就把所有模型都打开,先跑一个最简单的仿真,确认基本结构没问题,然后逐步添加迁移率模型、极化模型、陷阱模型。每添加一个模型,都跑一次仿真,确认收敛后再添加下一个。
第二,调整数值方法。Atlas 提供了多种数值方法,比如METHOD语句中的GUMMEL、NEWTON、BLOCK等。对于 GaN 器件,我一般用NEWTON方法,配合CLIMIT和DVMAX等参数来控制收敛。如果还是不收敛,可以尝试降低CLIMIT的值,或者增加迭代次数。
第三,检查网格质量。网格太粗或者太细都可能导致不收敛。太粗会导致电场和电荷分布失真,太细会导致矩阵太大、条件数变差。我一般会在异质结界面处用较细的网格,在体材料区域用较粗的网格,过渡要平滑。
第四,检查材料参数。如果材料参数设置不合理,比如禁带宽度、电子亲和能、介电常数等,也会导致不收敛。我一般会对照文献中的材料参数表,逐一核对。
5. 从仿真到实验:如何验证结果的可靠性
5.1 与文献数据对比的正确姿势
仿真做完之后,最重要的一步是验证结果的可靠性。最直接的方法是和文献中的实验数据对比。但这里有一个坑:不同文献中的器件结构、材料质量、工艺条件都不一样,直接对比可能会得出错误的结论。
我的做法是,先找一篇器件结构和你仿真结构最接近的文献,对比转移特性曲线和输出特性曲线。如果趋势一致,但数值有偏差,可以通过调整材料参数或者模型参数来拟合。如果趋势都不一致,那说明仿真设置有问题,需要重新检查。
对比的时候要注意,文献中的实验数据通常是在特定条件下测得的,比如脉冲 I-V 和直流 I-V 的结果就不一样。如果你的仿真是直流仿真,就要和文献中的直流数据对比,不要和脉冲数据对比。
5.2 关键参数的敏感性分析
在验证仿真结果时,我一般会做一轮敏感性分析,看看哪些参数对结果影响最大。具体做法是,固定其他参数,只改变一个参数,观察仿真结果的变化。
我实测下来,对 GaN HEMT 仿真结果影响最大的参数依次是:Al 组分、势垒层厚度、极化电荷密度、低场迁移率、源漏接触电阻。其中 Al 组分和势垒层厚度的影响最大,因为它们直接决定了 2DEG 浓度。极化电荷密度的影响也很大,但通常和 Al 组分、势垒层厚度耦合在一起。
敏感性分析的好处是,当你发现仿真结果和实验数据有偏差时,可以快速定位到最可能的原因。比如,如果饱和电流偏低,而阈值电压基本正常,那可能是迁移率或者接触电阻的问题;如果阈值电压偏负,那可能是 Al 组分或者势垒层厚度的问题。
5.3 仿真中的常见误区与纠正
最后说几个我踩过的误区。第一个误区是过度追求参数精确。GaN 材料的很多参数,比如极化系数、陷阱参数,本身就有很大的不确定性,文献中的值也各不相同。过度追求参数精确,反而会陷入"调参"的泥潭。我的建议是,先保证趋势正确,再逐步优化参数。
第二个误区是忽略自热效应。很多人在仿真 GaN HEMT 时只关注电学特性,忽略了自热效应。但在高功率条件下,自热效应会导致迁移率下降、饱和电流降低,仿真结果和实验数据偏差很大。如果你的器件工作在高功率条件下,一定要开启热模型。
第三个误区是不重视网格收敛性检查。网格太粗会导致结果失真,网格太细会导致计算时间过长。我一般会做一轮网格收敛性检查,逐步加密网格,直到结果变化小于 5%。这样既能保证精度,又能控制计算时间。
第四个误区是盲目相信自动极化模型。Atlas 的自动极化模型虽然方便,但内置的极化系数可能和最新文献有偏差。我一般会先用自动模型跑一遍,然后根据实验数据手动调整极化电荷密度。如果偏差在 20% 以内,可以通过调整 Al 组分来补偿;如果偏差很大,就需要手动设置极化电荷了。
6. 一些提高仿真效率的实用技巧
6.1 利用 Atlas 的日志和输出文件定位问题
Atlas 在仿真过程中会输出大量的日志信息,包括每一步的收敛情况、错误信息、警告信息等。很多人只看最后的仿真结果,忽略了日志中的信息。其实,日志中的警告信息往往能帮你快速定位问题。
比如,如果日志中出现 "Warning: Convergence problem at bias step...",说明在某个偏压点不收敛。你可以查看这个偏压点附近的电势分布和载流子浓度,找出不收敛的原因。如果日志中出现 "Warning: Negative carrier concentration...",说明载流子浓度出现了负值,通常是网格或者模型设置有问题。
我一般会在仿真脚本中加入OUTPUT语句,把关键的电势、载流子浓度、电场等参数输出到文件中,方便后续分析。另外,Atlas 还支持PROBE语句,可以在特定位置监测电势、载流子浓度等参数的变化。
6.2 参数扫描的自动化脚本
GaN HEMT 仿真通常需要做大量的参数扫描,比如扫描 Al 组分、势垒层厚度、栅压等。如果手动一个一个跑,效率太低了。我一般会写一个 Python 脚本,自动生成 Atlas 输入文件、调用 Atlas 仿真、提取结果并绘图。
Python 脚本的核心是字符串替换和文件操作。你可以先写一个 Atlas 输入文件的模板,然后用 Python 替换其中的参数,生成新的输入文件。仿真完成后,用 Python 读取 Atlas 的输出文件,提取关键参数,然后用 Matplotlib 绘图。
这样一套流程下来,跑几十个甚至上百个仿真点都不在话下。我实测下来,用 Python 脚本自动化后,参数扫描的效率提高了至少 5 倍。
6.3 计算资源的合理分配
GaN HEMT 仿真对计算资源的要求比较高,尤其是开启热模型和陷阱模型后。如果计算资源有限,可以通过以下方式优化:
第一,减小仿真区域。如果只关注沟道附近的特性,可以适当减小衬底和缓冲层的厚度,节省计算时间。
第二,使用非均匀网格。在关键区域用细网格,在非关键区域用粗网格,可以在保证精度的同时减少网格数量。
第三,分步仿真。先跑一个简单的直流仿真,确认基本结构没问题,然后再跑复杂的瞬态仿真或者热仿真。这样可以在早期发现结构问题,避免在复杂仿真中浪费时间。
第四,利用并行计算。Atlas 支持多线程并行计算,可以在METHOD语句中设置THREADS参数。我一般用 4 到 8 个线程,计算速度能提高 2 到 3 倍。
6.4 材料参数的整理与复用
GaN 材料的参数很多,而且不同文献中的值差异很大。我一般会建一个材料参数库,把常用的参数整理成表格,包括 GaN、AlGaN、SiC、蓝宝石等材料的禁带宽度、电子亲和能、介电常数、迁移率、饱和速度、热导率等。
这样在搭建新器件结构时,可以直接从参数库中调用,不用每次都去查文献。另外,我还会在参数库中记录每个参数的来源和适用范围,方便后续追溯和调整。
材料参数库的另一个好处是,当你发现仿真结果和实验数据有偏差时,可以快速检查材料参数是否合理。比如,如果仿真出来的阈值电压偏负,可以检查 AlGaN 的电子亲和能是否设置正确;如果饱和电流偏低,可以检查 GaN 的迁移率是否设置正确。
7. 从单器件到电路:GaN HEMT 仿真的扩展方向
7.1 从器件仿真到电路仿真的过渡
单器件仿真跑通之后,下一步通常是做电路级仿真,比如 GaN HEMT 的开关特性、射频特性等。Atlas 本身是器件级仿真工具,但可以和 SPICE 模型结合,实现电路级仿真。
具体做法是,先用 Atlas 仿真出器件的 I-V 特性,然后提取 SPICE 模型参数,比如阈值电压、跨导、输出电阻、寄生电容等。然后用这些参数在 SPICE 中搭建电路模型,仿真开关特性或者射频特性。
这里有一个坑:Atlas 仿真出来的 I-V 特性和实际器件的 I-V 特性可能有偏差,尤其是高频特性。因为 Atlas 是准静态仿真,不考虑高频下的寄生效应。如果要做射频仿真,需要在 Atlas 中开启高频仿真模块,或者用专门的射频仿真工具。
7.2 热-电耦合仿真的实际应用
GaN HEMT 的功率密度很高,自热效应是限制器件性能的重要因素。热-电耦合仿真可以帮助你评估器件的热阻、温度分布、热失效点等。
在 Atlas 中做热-电耦合仿真,需要开启HEAT模型,并设置材料的热导率、热容、热边界条件等。热边界条件通常设置为衬底底部恒温,比如 300K。仿真完成后,可以查看器件的温度分布,找出热点位置。
我实测下来,GaN HEMT 的热点通常在栅极靠近漏极一侧的沟道处,因为这里的电场最强、功率密度最高。如果热点温度超过材料的承受范围,就需要优化器件结构或者散热设计。
7.3 可靠性仿真:陷阱效应与退化机制
GaN HEMT 的可靠性问题,比如电流崩塌、阈值电压漂移等,都和陷阱效应有关。通过仿真陷阱效应,可以帮助你理解器件的退化机制,优化器件设计。
在 Atlas 中仿真陷阱效应,需要定义陷阱的能级、浓度、俘获截面等参数。这些参数通常需要根据实验数据进行拟合。我一般会先用一个简单的单能级陷阱模型,然后根据脉冲 I-V 或者瞬态仿真的结果进行调整。
陷阱效应的仿真结果通常表现为:在脉冲条件下,由于陷阱来不及充放电,器件的导通电阻较小、饱和电流较大;在直流条件下,陷阱充分充放电,器件的导通电阻较大、饱和电流较小。这个趋势和实验数据基本一致。
8. 个人经验总结与后续探索方向
折腾了这么久,我最大的体会是:GaN HEMT 仿真不是一个"设好参数就能跑出正确结果"的过程,而是一个不断迭代、不断验证的过程。你需要在材料参数、模型选择、网格划分、数值方法之间反复权衡,才能得到可靠的结果。
另外,仿真永远只是工具,不能替代实验。仿真可以帮助你理解物理机制、优化器件结构、预测器件性能,但最终的验证还是要靠实验数据。我一般会把仿真和实验结合起来,用仿真指导实验,用实验验证仿真,这样才能真正发挥仿真的价值。
后续我打算继续探索几个方向:一是 GaN HEMT 的射频特性仿真,尤其是高频下的寄生效应和陷阱效应;二是 GaN 功率器件的可靠性仿真,包括电流崩塌、阈值电压漂移等;三是 GaN 器件的热管理仿真,尤其是高功率密度下的散热设计。如果你也在做类似的方向,欢迎一起交流。