做半导体的朋友应该对 TCAD 仿真不陌生。这几年 FinFET 从 22nm 一路用到 5nm甚至 3nm GAA 时代研究机构和先进工艺产线里依然大量依赖三维器件结构仿真。原因很简单FinFET 是一个真正意义上的三维器件——硅鳍片立起来栅极从左、右、上三个面把沟道包住传统的二维截面仿真在很多关键问题上已经不够用了。Sentaurus TCAD 作为业界最主流的工艺器件仿真套件之一其工艺仿真模块 Sentaurus Process 可以逐工艺步骤地还原 FinFET 从衬底到金属化的完整流程把结构、掺杂、应力、缺陷这些状态一步一步“长”出来。这篇文章就以 FinFET 工艺建模例程为主线把怎么学、怎么跑通、怎么排查问题一次性讲透。不管你是刚接触 TCAD 的研究生还是产线上想用仿真辅助工艺开发的工程师只要目标都是“把 FinFET 的工艺建模例程真正吃透并能自己改参数”这篇文章应该能帮你省下不少弯路。我会从最基础的底层概念讲起再拆解例程里的核心技术点最后给出实打实的操作过程和问题排查思路。1. 学习Sentaurus工艺建模之前先搞清楚这些底层概念1.1 FinFET为什么必须用三维工艺建模在平面 MOSFET 时代沟道宽度 W 就是版图上栅极的横向宽度漏电流路径基本在一个二维平面内所以用二维截面仿真就能把器件行为描述得差不多。FinFET 出现后情况变了沟道变成了立在衬底上的鳍片电流从鳍片的两侧和顶部三个面流过等效沟道宽度要按“2×鳍高 鳍宽”来估算。举个例子一个鳍高 40nm、鳍宽 15nm 的单鳍 FinFET它的单鳍等效 W 大概是 95nm但它在版图上占的横向宽度其实只有 15nm 左右。这就是 FinFET 的核心优势——在同样面积里塞进更大的驱动电流同时栅极三面包裹沟道对短沟道效应的控制能力远强于平面器件。但立体结构带来的麻烦是二维截面建模回答不了顶角电场集中、鳍片与鳍片之间的热耦合与机械耦合、三面沟道对掺杂分布的不均匀响应等问题。尤其是栅氧化层在鳍片顶角长得更快、更薄电场集中效应明显这些都必须放到三维空间里才能准确描述。工艺建模在这里的角色不仅仅是用画图工具画一个 FinFET 的轮廓而是通过仿真还原真实的制造顺序——刻蚀、沉积、注入、退火——每一步都改变材料的几何边界和杂质分布。最终得到的结构文件直接作为后续器件电学仿真的输入。结构建得准不准直接决定了后面 SDevice 算出来的转移特性、泄漏电流、阈值电压靠不靠谱。1.2 Sentaurus TCAD工具链里谁是谁Sentaurus TCAD 不是单一个软件而是一整套工具链各模块各管一段。SWBSentaurus Workbench是项目管理平台可以在里面创建工程、组织实验矩阵、批量跑参数扫描适合做工艺和器件的 DOE 分析。SProcessSentaurus Process是工艺仿真核心负责模拟从衬底开始的一系列工艺步骤输入是一个命令脚本通常叫 command file。SDeviceSentaurus Device是器件电学仿真模块读入工艺仿真输出的结构文件求解泊松方程和载流子输运方程输出 I-V、C-V 特性。SDEStructure Editor则是一个直接构建器件结构的工具你可以用命令脚本直接画几何、定掺杂、生成网格不走工艺仿真流程。很多人刚开始会把 SProcess 和 SDE 搞混。简单区分SDE 是“凭空捏一个结构”SProcess 是“按工艺流程长出一个结构”。对于 FinFET 工艺建模例程重点在 SProcess但想快速验证某个器件结构是否合理时SDE 更轻量。后处理端常用的是两个工具Inspect 用于画一维曲线和截面图比如掺杂浓度沿深度方向的分布SVisual 用于显示二维、三维结构看几何形状、网格和掺杂分布。整个工作流大致就是SWB 调度 SProcess 跑完工艺 → 生成 .tdr 结构文件 → SDevice 读入做电学仿真 → Inspect/SVisual 看结果。1.3 例程学习的正确打开方式官方例程是学习 TCAD 最好的入口。安装完 Sentaurus 之后安装目录下通常会带 samples 或类似目录里面按器件类型、工艺类型组织了大量例程。FinFET 工艺建模相关的例程往往带有完整的 command file、参数文件和说明文档有的还配套了讲义 PDF。我见过很多人一上来就抱着 Sentaurus Process User Guide 啃结果一个月过去了还在前几章的语法说明里打转这完全不划算。例程学习的正确姿势应该是三步第一步原封不动跑一遍。不要改任何参数先把它跑通重点看每一步输出的 log 和最终生成的 .tdr 文件。跑通的意思是没有报错结构文件能正常打开并显示。第二步对照流程看结构。打开 SVisual把工艺步骤和结构变化对应起来。例如沉积氮化硅之后结构里那层是什么刻蚀之后鳍片形状对不对注入之后掺杂浓度分布是否合理。这一步是把“命令”和“物理结构”建立映射的关键。第三步改参数看变化。比如改鳍片高度、改注入剂量观察结构如何变化。这个阶段你才开始真正理解每个参数在工艺仿真里的作用。说白了例程不是用来背的是用来拆的。真正有价值的是你从例程里提取出的工艺模块、参数范围和网格控制策略这些东西才是后面自己搭工艺流时最需要的基础元件。2. FinFET工艺建模例程的完整技术拆解2.1 从衬底到鳍片光刻、硬掩膜与各向异性刻蚀FinFET 工艺建模的第一步不是急着刻鳍片而是先把衬底定义清楚。在 SProcess 里你需要指定硅衬底的掺杂类型、掺杂浓度、晶向等基本信息。比如 p 型衬底、浓度为 1e15 cm⁻³、晶向 100这是大多数例程的默认设置。鳍片的形成本质上是“光刻定义图形 刻蚀转移图形”的过程。光刻胶曝光显影定义出鳍片的平面形状然后用硬掩膜把图形转移到下方的氮化硅和硅中。SProcess 里并不像真实光刻那样解析曝光和显影的全部物理过程通常是用一个 mask 区域或者 hardmask 定义图形然后执行刻蚀。这一段的两个关键技术参数是刻蚀深度和各向异性程度。刻蚀深度直接决定鳍片高度 Hfin而各向异性刻蚀让侧壁尽量垂直保证鳍片侧面轮廓接近矩形。SProcess 里刻蚀命令一般写成类似下面的形式# 类 Sentaurus Process 语法不同版本存在差异 photo maskFinMask etch materialSilicon typeanisotropic thickness0.04 strip resist这里的 thickness0.04 表示刻蚀深度为 0.04μm也就是 40nm。如果采用全各向同性刻蚀侧壁会形成弧形轮廓这不符合 FinFET 鳍片的真实形貌。例程里通常给出的刻蚀命令都带有明确的方向性目的就是让侧壁尽量陡直。需要特别提醒网格问题。刻蚀之后鳍片顶部、底部转角处是电场和应力集中的地方这些区域的网格密度必须明显高于衬底区域。如果网格太稀疏后续氧化层生长、掺杂扩散都会在转角处出现非物理的锯齿状分布器件仿真阶段甚至可能直接不收敛。2.2 栅极栈构建氧化层、功函数金属与栅极刻蚀鳍片形成后紧接着就是栅极栈的构建。对于典型的 FinFET 工艺栅氧化层需要覆盖在鳍片的三面这对工艺仿真的网格和沉积保形性都有要求。栅氧化层有两条路径一是用热氧化方式生长 SiO2二是用原子层沉积方式沉积 high-k 介质比如 HfO2。例程中为了简化往往选择直接沉积的方式因为热氧化在三维鳍片顶角生长不均匀虽然真实但建模和网格处理更麻烦。如果目标是学习 FinFET 工艺建模的主干流程沉积方式更合适如果研究的是栅氧可靠性或顶角电场分布那就需要认真做热氧化模拟。栅极材料方面传统工艺用多晶硅先进工艺使用金属栅极。金属栅极往往会先沉积一层功函数金属比如 TiN再填充低电阻率的金属材料如钨。功函数金属的厚度和材料参数直接影响器件的阈值电压但在 SProcess 阶段主要保证几何结构正确真正体现功函数影响的是后续 SDevice 仿真里设定的金属功函数值。栅极刻蚀是另一个关键步骤。它决定栅极长度 Lg 和栅极侧壁形貌。SProcess 里刻蚀各向异性的设置要特别注意如果侧壁不够陡直栅极下方对沟道的控制不均匀后续器件仿真中会看到亚阈值摆幅变差等非预期结果。还有一个容易被忽略的细节栅极刻蚀完成后栅极侧壁下方的源漏延伸区已经被几何上暴露出来。侧墙的形成就是这个区域的保护性覆盖它保证了后续源漏注入时杂质不会打到栅极正下方。2.3 侧墙、源漏注入与退火掺杂分布怎么算才靠谱侧墙spacer在 FinFET 工艺中的主要作用是自对准地定义源漏注入区域与栅极边缘的距离。工艺仿真中侧墙的形成是通过“全表面沉积一层氮化硅然后各向异性刻蚀掉水平表面的部分”来实现的。各向异性刻蚀只保留侧壁上的氮化硅平面上的材料被去除留下来的就是侧墙。这一步最重要的现象是侧墙宽度直接影响源漏注入与栅极边缘的对准程度。如果侧墙厚度沉积得偏大源漏结就会离沟道更远导致寄生电阻上升如果偏小注入杂质可能太靠近沟道造成短沟道效应恶化。所以你在例程里看到的侧墙沉积厚度通常经过精心选择比如 15~30nm。源漏注入是掺杂分布建模的核心环节。SProcess 里的 implant 命令需要关注的参数有注入种类species、剂量dose、能量energy和倾斜角度tilt。以 n 型 FinFET 为例典型源漏注入可能是砷Arsenic剂量 1e15 cm⁻² 量级能量 10~30 keVtilt 角度通常接近 0 或者设置成小的角度来避免沟道效应。退火过程在 SProcess 里通常用 diffuse 命令描述它模拟的是高温下杂质的扩散和激活过程。现代 FinFET 工艺多采用尖峰退火温度高、时间短比如 1000°C 保持 5 秒左右。仿真中温度、时间、升降温速率都会影响结深和掺杂分布。说实话源漏注入和退火这两个步骤的参数调优是最需要对照实验数据来做的。如果手头有 SIMS 实测的掺杂分布一定要用 SVisual 的切割线功能把仿真截面的掺杂浓度分布导出来和实测数据叠在一起比较。没有实测数据时至少要对“结深大致在什么量级”有个合理预期。2.4 应力与迁移率容易被忽略的进阶项FinFET 性能提升的一大支柱是应力工程。p 型 FinFET 通常在源漏区外延生长 SiGe对沟道施加压应力提高空穴迁移率n 型 FinFET 则可能使用 SiC 源漏产生张应力。在工艺仿真中应力建模需要给材料设定本征应力和沉积应力状态刻蚀去除某些膜层时还会发生应力释放。整个力学过程与几何变化耦合在一起对网格和求解器设置都有额外要求。但实话实说FinFET 工艺建模例程往往不会把应力仿真放到主线流程里而是放在进阶章节或者干脆留给器件仿真时用固定的迁移率模型替代。我的建议是初学阶段先不要碰应力建模把几何、掺杂、网格这些基础项玩明白了再逐步加入应力模块。否则三维网格叠加应力求解运行时间和报错率都会大幅上升学习成本太高。3. 手把手跑通一个FinFET工艺建模例程3.1 跑例程前的环境和文件准备启动 Sentaurus 之前先确认几件事。license 要能正常解析这是最基础的。如果你是通过学校或公司的 license 服务器获取授权确保环境变量指向的 license 文件路径正确。在命令行输入 swb 或者通过启动脚本进入 SWB 界面能看到项目列表就说明环境基本没问题。磁盘空间要充足。三维工艺仿真的网格文件、中间结果文件都很占空间一个中等规模的 FinFET 结构跑到最后产生几个 GB 的文件很正常。内存方面建议至少 16GB 起步32GB 会更从容。然后是例程文件。SWB 里打开例程项目时你会看到项目树里通常包含这几类文件文件类型作用.command 文件SProcess 输入脚本定义工艺步骤、结构、网格.par 文件工艺参数集有些例程会把易调参数提取出来.plt 文件输出请求定义要保存哪些中间结果.sav / .tdr 文件保存的结构结果文件README / 讲义例程说明包含步骤描述和预期结果建议不要直接在原例程目录上改参数。复制一份到自己的工作目录保持原始例程不动这样随时可以对比。3.2 核心命令逐条解读deposit、etch、implant、diffuse下面我用一个简化的 FinFET 工艺流程来帮助理解命令逻辑。注意这只是类 SProcess 语法的示意不同版本存在差异实际运行以你手上的例程为准。# 步骤1定义衬底与初始网格 line x loc0 spacing0.01 tagtop line x loc0.20 spacing0.02 tagbottom line y loc0 spacing0.01 tagleft line y loc0.20 spacing0.02 tagright region silicon xlotop xhibottom yloleft yhiright init concentration1e15 typep dopantBoron # 步骤2沉积硬掩膜层 deposit oxide thickness0.01 deposit nitride thickness0.05 # 步骤3光刻定义鳍片图形并刻蚀 photo maskFinMask etch nitride thickness0.05 typeanisotropic etch oxide thickness0.01 typeanisotropic etch silicon thickness0.04 typeanisotropic strip resist # 步骤4去除硬掩膜 etch nitride thickness0.05 typeisotropic etch oxide thickness0.01 typeisotropic # 步骤5栅氧化层与栅极沉积 deposit oxide thickness0.002 deposit polySilicon thickness0.05 # 步骤6栅极光刻与刻蚀 photo maskGateMask etch polySilicon thickness0.05 typeanisotropic strip resist # 步骤7侧墙沉积与回刻 deposit nitride thickness0.02 etch nitride thickness0.02 typeanisotropic # 步骤8源漏注入与退火 implant speciesArsenic dose1e15 energy10 tilt0 diffuse temperature1000 time5 ramprate25 # 步骤9保存结构 struct tdrfinfet_after_sd.tdr重点解释几个关键行为。line 和 region 是网格和几何定义的基础。x 方向的多条 line 把衬底在深度方向上切成不同间距的网格层顶部靠近沟道的地方 spacing 小网格密底部远离器件的地方 spacing 大网格疏。这种非均匀网格是三维工艺仿真的标配目的就是省网格量同时保证关键区域的精度。deposit 命令是“加材料”。它模拟沉积工艺在结构表面上均匀增加一层材料。厚度参数控制沉积量材料类型决定后续刻蚀和掺杂的行为。栅氧化层只有 2nm 厚度在三维网格上这个尺寸非常小所以栅氧区域的网格必须提前细化到位否则沉积出来的氧化层会呈现明显的锯齿形。etch 命令是“减材料”。typeanisotropic 表示各向异性刻蚀垂直方向为主typeisotropic 表示各向同性刻蚀侧向也会侵蚀。硬掩膜去除通常用 isotropic鳍片刻蚀和栅极刻蚀用 anisotropic。implant 和 diffuse 是掺杂建模的灵魂。implant 负责把杂质打进去diffuse 负责模拟高温退火下杂质的重新分布。你可以在一条 diffuse 命令里设置升降温过程ramprate25 表示升温速率有些例程还会分升温阶段、保温阶段、降温阶段分别建模以获得更真实的温度历史。3.3 结构可视化与网格质量检查跑完之后用 SVisual 打开生成的 .tdr 文件。第一次看到三维 FinFET 结构时你会直观感受到鳍片立在那里、栅极横跨其上、侧墙夹在中间的空间关系。建议切一个剖面来看掺杂分布比如在鳍片中心沿沟道方向切一刀查看源漏区的掺杂浓度等值线。网格质量检查是很多人会跳过但强烈不建议跳过的一步。打开网格显示模式后逐区域看网格过渡是否自然。正常情况应该是衬底深处网格稀疏向鳍片靠近逐渐加密栅氧化层区域网格最细。如果你看到某些区域的网格出现严重的拉伸、扭曲、甚至不连续这个结构直接拿去做器件仿真很容易出问题。还可以用 Inspect 提取一维截面。比如沿垂直方向从栅极顶部到衬底底部画一条线看掺杂浓度的分布曲线。这条曲线是否符合“沟道区掺杂低、源漏区掺杂高”的基本特征是判断工艺建模是否合理的第一道自检。4. 常见问题与排查技巧实录4.1 网格问题从崩溃到内存爆炸三维工艺仿真遇到最多的报错基本都跟网格有关。比如“negative Jacobian”或“degenerate element”翻译成人话就是网格里出现了翻转或者退化单元数值求解无法继续。造成这类问题的原因通常是工艺过程中材料边界发生了大幅移动比如刻蚀掉一大块材料、沉积了很厚的膜层而该区域的网格初始设置没有预留足够的余量。排查的思路是用二分法定位注释掉后面一半工艺步骤看问题是否复现如果问题不复现说明问题出在后半段逐步缩小范围找到具体出错的工艺步骤。另一个常见现象是内存溢出OOM。三维仿真的网格数量很容易突破百万量级如果全结构都用细网格内存很快不够。应对手段是局部细化只在鳍片表面、结深附近、沟道区域加密网格其余部分保持粗网格。工艺仿真的网格设计本身就是一门手艺。还有一个很隐蔽的问题时间步长设置不合适。退火过程中扩散时间较长如果最大时间步设得太大掺杂在每个时间步内的变化量过大求解器可能无法收敛或者收敛到非物理解。检查 diffuse 命令的 maxstep 参数适当调小通常能缓解。4.2 掺杂分布异常怎么查如果注入之后掺杂分布完全不符合预期比如注入深度明显过深或者杂质完全没有进入指定区域先检查 mask 定义。很多例程会把光刻掩膜做成一个独立的几何体如果 mask 区域没有正确覆盖或没有去除注入可能打在光刻胶上无法进入硅中。还要检查 tilt 角度。在 FinFET 三维结构中离子注入的 tilt 角度如果设置得过大阴影效应会非常明显一侧的鳍片可能遮挡另一侧鳍片的掺杂注入。真实工艺中为了减小阴影效应会做多步旋转注入但例程通常默认 tilt0。退火后的掺杂分布如果出现明显的“外扩散”现象也就是杂质扩散到了不该去的地方比如穿透栅氧化层进入沟道通常是退火温度过高或时间过长导致的。可以对比不同温度、时间参数下的结深变化找到一个与目标器件规格匹配的参数组合。4.3 算力不够时的简化思路三维工艺仿真的计算量对个人电脑来说确实是个不小的挑战。我的做法是分层次简化。第一步用二维截面先验证流程合理性。很多 FinFET 例程会提供二维版本作为快速验证用比如沿鳍片中心取一个截面跑完整的工艺步骤。二维仿真速度快得多先确认工艺流程和掺杂量级没问题再切三维。第二步用对称性和周期性缩减结构体积。FinFET 通常有多个鳍片周期性排列如果关注的是单器件电学特性可以只建一个鳍片甚至半个鳍片配合适当的边界条件。SProcess 里的对称边界设置能显著减少网格数量。第三步合理设置中间步骤的输出频率。不要每一步都保存完整的 .tdr 文件只在关键节点保存。这样能省不少磁盘空间和存储时间。最后如果条件允许可以申请服务器上的多核并行计算。SProcess 支持并行运行但要注意网格划分的负载均衡。并行加速在三维工艺仿真里能省的时间相当可观。关于 FinFET 工艺建模例程的学习我个人的体会是不要贪多求快先把一个例程彻底吃透比草草跑完十个例程更有价值。你从单个例程里学到的网格控制策略、参数量级、工艺步骤之间的先后关系都是可以复用和迁移的底层能力。还有一个我后来才意识到的小技巧每次跑完例程把修改过的关键参数记录在一个表格里标注清楚改了之后结构发生了什么变化。时间长了这份记录就是你自己的“参数调优手册”后面搭新工艺流的时候翻起来非常有用。
阅读完成 · 觉得有帮助?