ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Sentaurus器件仿真入门:从结构搭建到I-V特性全流程

Sentaurus器件仿真入门:从结构搭建到I-V特性全流程 做半导体器件研究这几年几乎每个项目都绕不开 Sentaurus 这套工具。所谓器件仿真就是在真正流片之前先在电脑里把一颗器件“造”出来然后用数值方法求解半导体方程得到它的电流电压特性、击穿行为、电容曲线这些关键数据。对于做器件设计、工艺集成或者准备发论文的人来说Sentaurus Device 基本是绕不开的主力工具。这篇笔记我打算从入门视角把整套流程串一遍从结构搭建、网格划分、物理模型设置到跑通 I-V 仿真再到常见报错的排查思路。适合刚接触 TCAD 的研究生也适合想系统了解 Sentaurus 器件仿真流程的工程师内容会偏实操一些我把很多自己踩过的坑也写了进去。1. 为什么选择Sentaurus做器件仿真1.1 从工艺到器件的完整闭环TCAD 的核心价值在于它能用“工艺步骤”去生成“器件结构”再对结构做电学仿真从而在流片前就评估器件的性能。Sentaurus 最让人服气的地方是把这条链路做成了完整的闭环。工艺端用 Sentaurus Process 模拟氧化、扩散、注入、退火输出掺杂分布和应力场器件端用 Sentaurus Device 读取结构加电极、加物理模型、做电学扫描。两者配合基本能还原一颗器件从制造到测试的全过程。不过我得说句实话如果你是初学者完全没必要一上来就碰工艺仿真。器件仿真的第一步用 Structure Editor 直接画一个矩形或者简单几何形状加上解析掺杂 Profile就能跑通 Device 了。等理解了电学仿真的逻辑再回头啃工艺仿真理解会深很多。这个顺序我建议刚入门的朋友一定记牢否则很容易卡在工艺端复杂的命令里连 Device 的边都没摸到。1.2 和Silvaco比Sentaurus到底强在哪“Silvaco 做工艺仿真Sentaurus 更好吗”这个问题几乎每次培训都会被问到。我用大白话拆开来讲。Silvaco 的 Atlas 在传统平面 MOS、PN 结、常规功率器件上确实够用优点是 deck 式写法非常顺滑命令行一行行垒下去几个小时能上手缺点是网格工具相对简单三维结构支持不够强先进工艺节点需要的量子效应、应力耦合、陷阱辅助隧穿这些模型支持得比较有限。Sentaurus 在这几个点上优势很明显网格生成能力强大、三维器件支持完善、物理模型库丰富尤其是 FinFET、GAA、纳米片这类立体结构基本是业界事实标准。我的结论是如果只是毕业设计或者常规器件演示Silvaco 完全够用别折腾自己但如果目标是先进节点研究、对接工艺厂、发高水平论文Sentaurus 值得你多花几周去啃。两种工具我都长时间用过现在主力还是 Sentaurus不是因为它“高级”而是它在复杂结构上的收敛性和模型完整度确实更稳。2. 上手前先把这套工具链搞明白2.1 Sentinelaurus Workbench是总指挥Sentaurus 不是单一软件而是一整套工具链。新手最容易晕的就是不知道该从哪个工具进去。我的建议是永远从 Sentaurus WorkbenchSWB开始。SWB 是个项目管理器你在里面建立一个工程下面挂很多分支每个分支代表一次完整的仿真任务。它最大的好处是支持变量管理比如定义栅压 Vg 从 0 扫到 1VSWB 会自动生成多个工况批量执行省去手动逐个改参数的痛苦。实际干活的时候我更习惯直接写 SWB 脚本做参数扫描但第一次接触的人建议先用 GUI 模式点点看把工程结构和文件关系搞清楚。SWB 内置了大量示例工程从简单的 PN 二极管到复杂的 FinFET 都有。我的入门建议非常直接找一个最贴近你研究对象的例子复制过来改成自己的结构和参数比从零开始写要快得多。很多人一上来就手写多个工具的 command file其实是给自己挖坑。2.2 Structure Editor、Mesh、Device、Visual各自分工工具链里的角色我用一句话总结Structure Editor 管“画”Mesh 管“切”Device 管“算”Visual 管“看”。Structure Editor 用来定义器件的几何结构。它支持 Scheme 脚本语言通过sde:create-rectangle、sde:set-constant这类命令构建二维或者三维几何。也可以从工艺仿真结果直接导入结构这就是前面说的工艺-器件闭环。Mesh 工具负责把几何结构离散成计算网格。这个步骤极其关键因为后续解方程是在网格点上进行的。网格太疏结果不可信网格太密计算量爆炸还不一定收敛。具体怎么加密后面实操部分我会详细说。Device 是计算核心。它读取网格配置物理模型设置电极和偏置扫描调用数值求解器解半导体方程最后输出电流电压数据。Visual 呢就是后处理工具看 I-V 曲线、能带图、电场分布、载流子浓度云图几乎所有分析工作都在这里面完成。2.3 一套典型器件仿真文件的组织方式一个最简单的 Sentaurus 器件仿真工程文件层级大致是这样结构生成脚本.sde负责画几何、定义掺杂区域网格定义.tdr或者由 Mesh 工具生成包含网格节点、材料区域、电极位置器件仿真命令文件.des或.cmd物理模型、求解器设置、电压扫描都在这里输出文件.plt曲线数据、.tdr场分布、.log运行日志在 SWB 里一个任务节点的下方会按顺序列出这些文件的运行链条非常直观。我强烈建议初学者打开一个自带例子把.sde脚本和.des命令逐行读一遍对照帮助文档看每个参数什么意思。Sentaurus 的帮助文档确实详细虽然篇幅吓人但真正用的时候能查到每个参数的出处这点对于排查问题太重要了。3. 器件仿真到底在解什么方程3.1 漂移-扩散方程组的实际含义Sentaurus Device 默认求解的是半导体物理里的基本方程组泊松方程加上电子和空穴的电流连续性方程。泊松方程把电势和电荷密度联系起来描述的是静电场如何由空间电荷分布决定连续性方程描述的是载流子如何产生、如何复合、如何流入流出。把这三组方程耦合在一起用数值迭代方法去解就能得到每个网格点上的电势、电子浓度、空穴浓度。有了这些量再算电极上的电流就得到了 I-V 曲线。这些背景知识重要吗重要。因为器件仿真里最让人头疼的收敛问题根源往往就是“物理模型设置和解方程的条件不匹配”。比如你开了某个模型但网格太疏无法分辨模型需要的物理量求解器就会一直不收敛。理解方程背景能帮你快速定位这类问题到底出在物理还是数值上。3.2 物理模型怎么选才合理物理模型的叠加直接决定结果能不能用。开少了结果偏得离谱开多了计算量大而且容易不收敛。以最普通的 PN 结二极管为例正向导通时需要考虑SRH 复合和俄歇Auger复合决定少子寿命和复合速率禁带变窄影响高掺杂区的本征载流子浓度高注入下的迁移率退化与速度饱和影响大电流区特性如果忽略禁带变窄仿真出的开启电压会明显偏大忽略俄歇复合大电流区域的电流密度又会失真。对于短沟道器件还要开量子修正模型否则阈值电压会飘得离谱。我的习惯是先按文献找到同类型器件常用的模型组合整体跑通之后再做模型灵敏度分析依次关闭某个模型看结果变化大不大。这能帮你搞清楚哪个模型在主导你的仿真特性写论文时审稿人问起来也能答得有理有据。3.3 边界条件和电极设置边界条件决定了器件行为。最简单的欧姆接触在电极和半导体之间假设无限表面复合速度相当于理想的金半接触肖特基接触则要考虑势垒和热电子发射。栅极则要设置功函数或者平带电压再叠加栅压。初学者最常见的错误是在源漏上加了偏置却忘了给衬底设置参考电极。求解器找不到电位参考点会直接报错。另一个高频坑是栅氧和半导体界面没有正确对应如果接触直接“贴”在硅上仿出来的根本不是 MOS而是一个电阻阈值特性全乱。这些细节不花时间踩一遍光看文档很难注意。4. 实操跑通一个PN二极管的I-V仿真4.1 结构定义与掺杂理论说太多不如动手跑一次。这里我以二维 PN 结二极管为例把完整流程过一遍。结构很简单硅片厚度 5μm左边是 P 区掺杂浓度 1e17 cm⁻³右边是 N 区掺杂浓度 1e16 cm⁻³。Structure Editor 里用sde:create-rectangle画出一个矩形区域再通过掺杂函数定义区域里的浓度分布。解析掺杂的好处是不用走工艺仿真直接把每段的浓度值写进去就行。电极部分左侧 P 区上定义阳极右侧 N 区上定义阴极。初学者先别急着上三维二维结构足够理解所有核心概念等二维流程跑通了再扩展成三维结构就顺理成章了。4.2 网格设计与优化网格是整个 Sentaurus 里最值得研究的主题可以说网格质量决定了仿真的上限。核心原则就一句话在物理量变化剧烈的地方加密在均匀区放宽。对于 PN 结结界面附近载流子浓度和电场变化最大网格尺寸要放到 0.001 到 0.01μm 的量级在远离结的均匀掺杂区网格可以放宽到 0.1 到 0.5μm。Sentaurus 里用 RefinementRegion 定义不同区域的网格密度并可以设置不同区域之间的过渡比例Grading factor避免网格尺寸跳跃太大。我的实操习惯是先跑一套粗网格看趋势再逐步加密直到关键参数比如击穿电压、开启电压不再随网格加密而明显变化这一步叫网格无关性验证。写论文时审稿人几乎必问这个问题所以从一开始就养成这个习惯非常值。4.3 物理模型和数值求解器配置在 Sentinelaurus Device 的 command file 里Physics段用来声明物理模型。一个典型的 PN 结配置是这样Physics { Mobility( DopingDep HighFieldSaturation ) Recombination( SRH Auger ) EffectiveIntrinsicDensity( BandGapNarrowing(Slotboom) ) }这段配置对应我前面说的基础模型组合掺杂相关迁移率加高场饱和SRH 复合加俄歇复合禁带变窄用 Slotboom 模型。对初学者这套组合足够跑通二极管。然后是Math段设置求解器参数。默认的牛顿迭代、最大迭代次数这些对简单结构通常够用。我建议一开始保持默认跑通之后再一个一个参数去改亲眼看看每个设置对收敛和结果有什么影响这样理解最直观。4.4 电学扫描与结果提取电极定义在Electrode段比如阳极、阴极分别对应哪块区域。然后在Solve段设置电压扫描阳极电压从 0 扫到 1V步长 0.05V。这里有个非常实用的技巧正式扫描之前先对零偏压做一次Solve把初始解算好再用Quasistationary配合扫描语句逐步升压。直接一步把电压加到 1V 的后果往往是求解器直接不收敛而有了零偏压解做初始猜测收敛会顺利得多。跑完以后打开.plt文件可以画出 I-V 曲线提取开启电压、理想因子、开态电阻这些物理参数。这一步出了一张能用的曲线图整个流程就算真正跑通了。5. 常见报错、收敛问题与排查技巧5.1 网格相关的坑Sentaurus 报错日志里最常出现的一类就是网格问题。比如Negative Jacobian意思是网格质量太差导致雅可比矩阵出现负值数值求解失效。常见原因包括网格尺寸跳跃太大、几何文件里有自交或重叠结构、接触定义在太薄的区域。解决思路是回看网格定义把过渡区的尺寸比例控制住保证相邻网格尺寸变化平缓。还有个我踩过很多次的坑网格文件和后处理结果路径对不上看起来像是“没保存”实际是仿真早就报错退出只是在 GUI 里表现得不明显。所以每次跑完一定要去检查.log日志的最后几行看是不是真的正常 End。5.2 收敛失败怎么办器件仿真不收敛是家常便饭不用焦虑。排查顺序我一般这样先看日志文件最后的错误号是 Newton 迭代不收敛还是时间步长太小针对不收敛常用手段减小电压步长、增加最大迭代次数、打开阻尼因子、用上一个电压点的解作为初始值继续算还可以换更鲁棒的线性求解器比如 PARDISO如果实在不收敛先把复杂的物理模型关掉只留漂移扩散等算通了再逐步把模型加回来最后这一步尤其好使它能帮你定位到底是哪个物理模型在引发不收敛。我之前调试一个功率器件死活不收敛最后发现是碰撞电离模型和网格尺度不匹配换个网格策略就好了。5.3 从TCAD到电路仿真的模型提取TCAD 器件仿真跑完真正产生工程价值的地方是把它用在电路仿真里。这就要提到热词里“Cadence 仿真器件未定义”那类问题了。TCAD 输出的是网格化的数值结果而 Cadence、SPICE 这类电路仿真器认的是紧凑模型比如 BSIM4、PSP。中间必须做一步“模型提取”用 TCAD 的 I-V / C-V 数据去拟合紧凑模型参数再把模型加载到电路仿真环境里赋给原理图里的器件符号。所谓“device undefined”绝大多数情况就是你在 Cadence 原理图里放了一个器件符号但模型库里没有对应的模型名或者模型文件没有加载成功。解决办法是确认 TCAD 提取出来的模型参数已经正确写入模型库并且模型名和原理图器件的 instance name 能对上。这一步很多人忽略但它是 TCAD 真正流向芯片设计的必经之路。最后再分享一点个人体会。Sentaurus 的学习曲线确实陡尤其你如果是从 Silvaco 那种 deck 式流程转过来的刚接触时会有很强的挫败感。但我自己熬过第一个独立跑通的工程之后反而觉得它这种“繁琐”帮了大忙——结构、网格、物理模型、数值求解每一步都被拆得清清楚楚每一步的结果都看得见。后面这个系列我打算继续往深了写比如 MOSFET 的阈值电压提取、FinFET 三维仿真、以及怎么把 TCAD 结果整理成论文里能用的图。如果这篇笔记对你有帮助或者你在跑 Sentaurus 时遇到了什么奇怪的报错欢迎留言交流我踩过的坑兴许能帮你省几个晚上。
返回列表