☰
TCAD工艺仿真全流程:氧化、淀积、刻蚀、注入与扩散模型实战解析
2026/10/14 7:40:42 网站建设 项目流程

接手这套“半导体器件与工艺模拟-氧化淀积刻蚀及扩散注入工艺模型”的项目时,我不是第一次跑工艺仿真了,但把这五个工艺模块当成一个完整链条来搭,还是踩了不少坑。很多人觉得工艺模拟就是点几下软件、填几个参数、等一个剖面图出来,可实际干过的人都知道:氧化长出来的厚度、注入后的杂质分布、退火后的扩散结深,每一步都互相耦合,模型选错一个,后面全跟着偏。这篇东西就是把我从模型选型、参数校到完整流程复现的经验整理出来,给准备碰TCAD工艺仿真或者正在被工艺偏差折磨的同行做个参考。

工艺模拟到底解决什么问题?一句话:在不流片的情况下,用计算机把硅片上每一步工艺之后的结构和掺杂分布算出来。它处在器件设计和芯片制造之间,上游接收版图和工艺菜单,下游给你的器件仿真或电学提取提供掺杂剖面、几何结构、应力分布。适合谁看呢——做工艺开发的工程师、算器件特性但需要真实掺杂分布的仿真工程师、微电子方向准备入坑仿真方向的研究生,以及所有被“为什么仿真和实测总是对不上”困扰的人。

1. 先搞明白:工艺模拟到底在算什么

1.1 从“一片硅片”到“一个掺杂分布”的转化过程

工艺模拟的对象是一个虚拟的硅片截面。初始条件通常是硅衬底(晶向、掺杂类型、掺杂浓度,比如P型掺硼1e15 cm-3),然后按顺序叠加工艺步骤。每个步骤本质上都是数学物理方程在网格上的求解:氧化求解氧化剂在氧化层里的扩散和界面反应,淀积求解表面反应速率和输运,刻蚀求解表面形貌的推进,离子注入求解离子在靶材里的射程分布,扩散退火求解杂质在浓度梯度和点缺陷耦合下的再分布。

我合作过的一个项目组刚开始犯了个典型错误:想直接拿一个商用TCAD套件跑全流程,结果格子画得太粗,栅氧边缘的氧化增厚效应完全没有体现出来,导致后续注入结深偏了20%以上。后来把氧化区域网格尺寸从0.2微米细化到0.02微米,结果才和实测的椭偏仪数据对上。这说明工艺模拟的第一性真理:网格即精度,但网格也即成本。你必须在关键界面(氧化层/硅界面、注入峰值区域、PN结附近)加密,把远离界面的均匀区域放粗,才能同时保证精度和算得动。

1.2 工艺步骤之间的耦合关系

很多人以为工艺模拟是独立地跑每个步骤,实际上这些步骤是强耦合的。氧化过程会消耗硅衬底,生成氧化层的同时把原来硅里的掺杂推到氧化层里或者赶走(掺杂分凝)。淀积的多晶硅会在后续刻蚀里成为注入的掩蔽层或是栅极。离子注入产生的晶格损伤会极大加速后续退火时的杂质扩散,这就是著名的瞬态增强扩散(TED),如果不把这个损伤分布算准,退火后的结深一定偏浅或偏深好几个量级。

我习惯在搭建整个流程之前,先画一张表格,把每个工艺步骤的输出量、输入量、对后续步骤影响列清楚,磨刀不误砍柴工。这么一张表不仅能帮你选模型,排查问题时候也是索引,知道哪个参数变动会影响后面哪一步的结果,省掉大量无效试错时间。

2. 五个核心工艺模型的物理本质与数学表达

2.1 热氧化:不只是Deal-Grove那么简单

经典的热氧化模型是Deal-Grove方程,氧化层厚度x和氧化时间t满足关系:

x²/A + x = B(t + τ)

其中B是抛物线速率常数,受氧化剂在氧化层中的扩散控制;B/A是线性速率常数,受氧化剂在Si/SiO2界面的反应速度控制。实际使用中最直观的经验是:氧化温度每升高100°C,生长速率能够翻几倍甚至一个数量级,这源于速率常数是阿伦尼乌斯型的指数形式。干氧和湿氧的差异也非常大,同样温度下湿氧因为H2O分子在氧化层中扩散快,氧化速率可能比干氧高出五到十倍,所以在做栅氧化层用干氧(致密、界面态低)、做厚场氧化用湿氧,是有充分物理依据的。

但只靠Deal-Grove在先进工艺里不够。薄氧化层(大约10nm以下)时会观测到初始快速氧化现象,实测厚度比Deal-Grove预测的要厚——这个偏差来源于初始阶段界面反应不完整和氧化剂输运的额外通道。掺杂浓度高的时候氧化速率也会变快,因为硼、磷等掺杂元素会改变氧化层粘度和界面反应条件。还有一个非常容易被忽略但实际影响很大的点:非平面结构(如STI沟槽角落、栅极边缘)的氧化速率与平面不同,因为应力会减缓氧化反应,而这些角落正是器件漏电的敏感点。所以模型选型上,如果仿真常规平面氧化,经典模型配合校准系数就够了;如果仿真深槽隔离或有源区边缘,必须开启应力相关氧化模型,不然形貌一定会失真。

2.2 淀积:表面反应与输运的博弈

淀积模拟不像氧化那样有那么强的自限制效应,核心逻辑很简单:薄膜厚度等于淀积速率乘以时间。但“速率”本身是温度、压力、反应气体浓度和表面取向的函数。LPCVD多晶硅典型速率在100-200nm/min左右,PECVD氧化层速率则更快、温度更低。工艺模拟里你要做的是选对速率模型:表面反应限制(反应物快速供给,速率受表面化学反应控制)还是输运限制(反应物到表面的扩散跟不上反应消耗)。

这两种机制直接决定了台阶覆盖性。表面反应限制时薄膜在大高宽比结构里的保形性好,因为反应物浓度均匀;输运限制时开口处沉积快、深处沉积慢,形成所谓的“面包檐”形貌。模拟时我用过一个很简单但有效的判据:给一个竖立的台阶结构,淀积完后看侧壁厚度和顶部厚度之比,比值越接近1说明表面反应限制主导。这个比值在TSV填充和栅极多晶硅填充里非常关键,直接决定后续刻蚀余量。如果你要模拟的是PVD金属淀积,还要额外考虑入射角分布和黏附系数,台阶覆盖性比CVD差很多,这在接触孔填充模拟中常被当成瓶颈。

2.3 刻蚀:各向异性是怎么来的

刻蚀模拟的数学核心是表面推进算法,给定表面每个点的刻蚀速率,用水平集或单元移除方法更新几何轮廓。湿法刻蚀(如BOE腐蚀氧化层)是各向同性的,横向和纵向速率一致,所以会出现底切;干法等离子体刻蚀则依靠离子轰击的方向性实现对掩膜侧壁的刻蚀抑制,各向异性比可以达到10:1以上甚至更高。

工艺模拟里常见的等离子体刻蚀模型会将刻蚀速率分解为两个分量:一个与离子通量和入射角度相关(物理溅射和离子辅助化学反应),另一个与中性自由基浓度相关(各向同性化学刻蚀)。调节这两者的比例就能模拟出不同的剖面轮廓。关键参数是掩膜选择比和刻蚀速率比,比如多晶硅刻蚀对栅氧的选择比如果只设了30:1,过刻时氧层消耗量那几纳米在仿真里是能看到明显区别的,这个厚度对后续器件阈值电压影响极大,千万别为了省时间忽略它。

2.4 扩散:单看费克定律远远不够

杂质在硅中的扩散,基础方程是费克第二定律:

∂C/∂t = ∇·(D∇C)

但这个D不是常数。对硼、磷、砷这类常用掺杂剂来说,扩散系数强烈依赖温度、掺杂浓度、晶格点缺陷浓度以及是否处于氧化环境。我到今天还记得第一次用基本扩散模型仿真磷的推进,结果结深比实测浅了一倍还多——查了半天才发现是源漏注入后的损伤没有在模型里体现,退火时损伤释放的间隙原子导致瞬态增强扩散,扩散系数在退火前几秒钟能增大几个数量级。

另外氧化气氛下的扩散也要特别注意,氧化过程中会产生大量硅自间隙原子,这会使间隙原子辅助扩散的杂质(硼、磷)扩散速率显著增加,这叫氧化增强扩散(OED)。如果你的工艺里退火是在氧化气氛下进行的,必须开启氧化增强耦合选项,否则纵向结深一定偏小。砷和锑主要是空位机制扩散,对氧化增强不那么敏感,这也是为什么实际工艺中要精确控制掺杂分布就需要针对不同杂质选择不同的扩散物理模型。

2.5 离子注入:解析分布还是蒙特卡洛

离子注入模拟有两类方法:解析模型(高斯、双皮尔森分布)和蒙特卡洛(MC)方法。解析模型用投影射程Rp、纵向散乱度ΔRp、偏度和峰度来勾勒注入浓度分布,速度快但精度受限于查表参数的插值,特别是对层叠结构(比如注入穿过氧化层或多晶硅)时误差明显变大。蒙特卡洛模拟逐个跟踪离子与靶原子的碰撞过程,可以精确处理多层靶、沟道效应和损伤分布,代价是计算量大了两个数量级。

经验上,单纯做工艺流程调试和趋势分析,用解析模型完全够了;但做器件级的阈值匹配或者设计需要知道准确的损伤分布时,我建议至少关键注入步骤用蒙特卡洛。离子注入的入射角必须设成7°左右来避免沟道效应——这是行业里几乎通用的标准做法,因为完美对准晶向注入会让一部分离子沿晶格沟道穿透很深,实际分布和设计分布天差地别。很多工艺模拟的新手看到“投影射程”就以为注入是高斯峰打进去就完事了,实际上注入产生的晶格损伤(非晶化层)才是后续退火结深最大的变数。损伤超过阈值剂量(比如硅在室温下注入砷约1e14 cm-2量级就会非晶化),退火时发生固相外延再生长,掺杂分布和低损伤情况完全不同。

3. 实操走一遍:从栅氧生长到源漏注入的完整仿真流程

3.1 网格设计与模型层级选择

正式跑流程之前,最值得花时间的是画网格。我通常在窗口尺寸上先按目标器件画一个从硅表面到衬底2-3微米深度的矩形,衬底区域均匀网格0.05微米,硅/氧化层界面网格细到0.002微米级别,横向同样在栅边缘密、在源漏延伸区适当保持均匀。这样做的原因是氧化层的厚度可能只有5纳米,栅氧下方的网格至少要有3-4层节点才能解析电场和浓度梯度;如果网格太粗,氧化过程模拟会把整层氧化物的厚度积分出错,甚至出现负厚度。

工艺模拟和器件模拟可以共用一套网格,但器件模拟对沟道区域要求更高,工艺模拟对界面反应区域要求更高。我的做法是工艺阶段先用中等精度的网格快速迭代工艺条件,确定了工艺菜单后再局部加密网格做最终一轮高精度工艺仿真,将网格和掺杂结果直接映射到器件仿真工具里。这个策略能节约大量机时。

3.2 氧化、淀积的参数设置

以典型的MOSFET制造流程为例。初始衬底设为(100)晶向的P型硅,掺杂浓度约1e15 cm-3。第一步生长栅氧化层,我设的是干氧、950°C、氧化时间25分钟。用Deal-Grove模型配合标准系数(线性速率常数约1.2×10⁻⁴ μm/min,抛物线速率常数约3.5×10⁻⁴ μm²/min量级)计算下来,厚度在8-9nm范围。实际上跑完后我在工艺文件里查看氧化层厚度,正好落在实测椭偏仪校准曲线附近,这时候释放了一多半的担心——氧化这一关过了,后面的分布大体不会太离谱。

紧接着淀积多晶硅200nm,我选用LPCVD表面反应限制模型,淀积速率130nm/min。如果你要模拟的是掺杂多晶硅,还需要开启原位掺杂选项,否则后续注入退火时多晶硅里的杂质扩散行为会不完全一致。还有一个人人都会踩的细节:氧化会消耗一部分硅衬底,所以SiO2/Si界面不是原始的硅表面,它会往下推进约氧化层厚度的44%。这个变化虽然只影响纳米级结构尺寸,但是精确仿真时确实会改变后续注入的结深参考面。

3.3 刻蚀:定义栅极形状

光刻和刻蚀在纯工艺模拟里通常用“几何定义”的方式来简化处理:把需要保留的区域打上掩膜标记,然后设置各向异性刻蚀速率把暴露的多晶硅刻掉。栅极刻蚀这一步,我会把各向异性比设为10:1,这意味着垂直方向刻蚀速率是横向的10倍,侧墙能保持比较好的轮廓。实际使用中你要特别注意过刻的时长,刻蚀过程中终点控制的逻辑是:设定主刻蚀时间把膜的90%厚度去掉,再用选择比更高的过刻把剩余多晶硅去掉且尽量少消耗下面的栅氧。如果没有正确设置终点监控,仿真里栅氧被全部吃穿也就是一条命令的事,实际工艺中这种事发生了就是整批报废。

3.4 源漏注入:剂量、能量、角度

源漏注入我常用砷(NMOS)和硼(PMOS),由于材料类型决定,砷注入在50keV、剂量5e15 cm-2、7°倾角下,投影射程大概30nm,峰值浓度接近1e21 cm-3量级。硼注入则通常用低能量(5keV以下)加高剂量,因为硼质量轻,相同能量下射程深得多,而且易于扩散,工艺上常用低能大剂量注入配合快速热退火来形成浅结。

注入模型我建议关键的源漏注入步骤至少对比较敏感的器件选蒙特卡洛,因为砷这种重离子在低能时的背散射和非晶化行为解析模型容易失真。蒙特卡洛跑一次大约需要几分钟时间,对于一条十个以上注入步骤的完整流程来说,全部用蒙特卡洛计算时间是解析模型的好几倍,但换来的是损伤分布准确,退火后的激活率和扩散模拟就靠谱得多。

3.5 退火工艺:把注入损伤“算”出来

退火这一步是整个流程里最容易被低估的。快速热退火(RTA)通常设定在1000°C左右,持续10-30秒。这个过程中同时发生三件事:晶格损伤修复、杂质电激活、杂质扩散。工艺模拟里损伤修复采用的是固相外延再生长模型(SPER),非晶层的再结晶速度在600°C以上就非常快,对最终分布影响巨大的是从非晶层边缘向衬底释放的间隙原子和由此导致的TED。

模拟时我习惯在退火前检查一下注入损伤的空间分布,确认非晶层深度。如果明明注入了5e15 As但模拟出来没有形成明显的非晶层,那一定是损伤模型参数没有校正。退火之后立刻提取结深(定义掺杂物浓度为衬底浓度1e15处的位置)和薄层电阻(用积分迁移率模型算RS),把这两项和实测值对一下就能发现模型偏差。

4. 模型校准:没有校准的仿真一文不值

4.1 必须校准哪些参数

工艺仿真的可靠性,不在于模型多先进,而在于参数是否被校准到你的工艺平台。不同产线的炉管、注入机、退火设备都有自己的个性,标准模型库给的参数只是理论默认值。做任何仿真项目,第一步就是把下面这几个高敏感参数校准掉:

  1. 氧化的线性速率常数和抛物线速率常数(不同炉管差异巨大,特别是工艺腔体内氧浓度)。
  2. 扩散模型里硼、磷、砷的扩散系数预因子和激活能。
  3. 注入损伤产生的非晶化阈值剂量和损伤密度分布。
  4. 刻蚀的各向异性比和选择比,这个一般每条刻蚀菜单都要单独标定。

4.2 校准流程:从空白样到完整器件

我的校准套路是分三步走。第一步,做一组空白硅片的氧化温度-时间矩阵(比如900°C、950°C、1000°C各15/30/60分钟),测氧化层厚度,拟合出Deal-Grove系数。这样后续任何需要氧化层的结构都跑不错。第二步,注入一组不同剂量能量组合的样品,退火后用四探针测试薄层电阻,换算成激活掺杂总量,校准注入剂量和退火激活模型。第三步,结合二次离子质谱剖面数据校准扩散系数——用一片注入后未退火的样测注入分布,再用一片退火后的测扩散分布,两组数据一夹,扩散模型参数也就老实了。

这个过程听着繁琐,但我建议无论如何别跳过。某次我接了一个模拟项目,对方强调直接用库文件参数跑,结果注入退火后的结深模拟值比实测浅了35%。我花了半天时间用两步校准法把扩散系数调了1.6倍,才把仿真拉回正轨。从那以后我养成了强制校准的习惯,宁可前期慢一周,也不愿意面对后期数据对不上的绝望。

4.3 失真案例复盘

有一次给一个LDMOS功率器件做工艺仿真,击穿电压模拟比设计值低了20V。查来查去,最终发现是漂移区的注入条件在仿真时用了默认的解析注入分布,忽略了注入损伤增强扩散,实际工艺里损伤让硼扩散更深,JFET区变宽,耐压自然下降了。换上蒙特卡洛注入并开启TED模型后,模拟击穿电压与实测误差从20%缩小到3%以内。这件事给团队的教训非常深刻:工艺模拟的全流程耦合效应,绝不是简单地把每个步骤独立调整能解决的。某个模型看似只影响该步骤的局部参数,实际传递到最终器件特性上是量级性的差异。

5. 常见问题与排查技巧实录

表:工艺模拟典型问题速查表
问题现象可能原因解决办法
氧化层厚度偏薄或生长停滞网格太粗糙,氧化界面节点不足界面处网格加密到0.002μm以下
注入后的分布深度异常未设7°倾角,沟道效应严重重设入射角,建议用蒙特卡洛验证
退火后结深比实测偏浅很多没开TED模型或损伤分布缺失检查注入损伤模型,开启瞬态增强扩散
退火后结深比实测偏深扩散系数校准参数未调整用实测SIMS数据拟合扩散系数
刻蚀后侧壁轮廓不陡直各向异性比过低,或刻蚀速率模型过于简化提高各向异性比参数或改用离子辅助刻蚀模型
仿真到一半出现负浓度或振荡网格畸变、时间步长过大细化网格、缩短最大时间步、检查数值格式稳定性
最终器件仿真阈值电压偏了栅氧厚度与工艺仿真值不符,或沟道掺杂分布偏了核对栅氧化工艺参数,核对待测区域掺杂总量

5.1 网格与收敛问题

高频问题集中在网格上。工艺模拟里氧化和刻蚀是移动边界的数值问题,需要用自适应网格不断重新划分。我做栅氧化层模拟时,界面附近网格高压倒是常事,最常见的报错是“负体积”或“浓度负值”。这类问题的排查思路优先检查两个方向:一是初始网格长宽比是否过大,二是时间步长是否超过了稳定性条件。简单粗暴的解法是把网格尺寸缩小一半、时间步长减半,代价是计算时间翻三四倍,但在仿真可信度面前是值得的。

5.2 掺杂剖面失真问题

再一个高频问题是掺杂浓度剖面“尾巴”不对。源漏注入后,浓度分布在低浓度段(1e15到1e17 cm-3)通常会往下拖很长一段尾巴,如果仿真里这个尾巴短了,多半是TED没开或者损伤深度偏小。增加退火前的点缺陷浓度初值,或者在模型里提高间隙原子增强扩散倍数,都能调整尾巴的长度。但千万别照搬别人的参数,不同注入机的损伤差异不小,最稳的校准还是拿同一批注片子的SIMS数据来卡自己的参数。

5.3 刻蚀边界问题

还有刻蚀几何边界被“吃掉”的情况,通常是表面推进算法和网格的标记方式不兼容。比如用单相水平集跑全流程时,如果掩膜层和衬底层的材料标记更新不及时,界面推进到掩膜边缘时会把掩膜也一起削掉。我的经验是在掩膜边界设置一个更细的本地网格,同时开启刻蚀的“掩膜保护”选项。

6. 工艺模拟上下游联动与落地建议

6.1 和器件仿真对接的细节

工艺模拟最大的产出不是那张漂亮的杂质分布图,而是给器件仿真提供准确的输入。在对接时有一个经常出问题的点:工艺仿真得到的掺杂分布是网格节点上的连续数据,而器件仿真需要的电流连续性方程求解域可能只需要一个子区域。这时候需要做数据映射,即把工艺数据插值到器件网格上。我建议映射前先做一维纵向掺杂剖面的核对,对比几个关键位置(沟道表面浓度、源漏峰值浓度、结深),确认边界条件没被插值弄劈叉。

6.2 工艺窗口的探索方法

工艺仿真在产线里还有一个重要用途是探索工艺窗口。比如氧化时间±10%、注入能量±5%、退火温度±10°C,这个设计空间完全可以用自动化DOE跑一遍,一两百组仿真一晚上出结果,画出阈值电压和结深随风向参数变化的响应曲面。这个过程如果全靠流片实测来摸,一颗工程批的流片成本和时间都不允许。这也是我特别建议团队把工艺模拟变成日常开发流一部分的原因。

6.3 项目落地总结

这套工艺模型项目做下来,最深的体会是:工艺模拟不是一个“一次性跑通就完事”的工具,它是工艺开发里用来加深物理理解的透镜。模型选型要跟着问题走——分析氧化层厚度均匀性时用经典Deal-Grove加应力修正就够了,分析短沟道器件的结深和漏电时就必须把扩散、注入损伤、退火TED这串耦合关系完整拉上。而模型校准能力,也就是你对自己产线设备“脾气”的了解,才是最终决定仿真能否成为决策依据的分水岭。做过一次全流程校准之后,这套工艺菜单参数就可以复用到同一平台后续所有的器件开发项目里,反复滚雪球,边际成本越来越低,这也是我一直坚持做这件事的原因。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询