3. Sentaurus网格生成工具链
在Sentaurus TCAD中,网格并不是某一个工具"顺手生成"的附属产物,而是贯穿结构编辑、工艺仿真、器件仿真三个阶段、被反复继承与改写的核心数据。理解工具链的衔接关系,本质上就是理解网格在哪个环节产生、以什么形式传递、在哪个环节被重新离散化。如果这一层关系不清楚,就会出现"工艺仿真跑得很顺、器件仿真却报网格错误"或"明明加密了沟道,收敛却没有改善"这类典型问题。
一、四个工具在网格链上的角色定位
Sentaurus Structure Editor(SDE)是几何与掺杂的构造者。它以脚本(Scheme或Python)或GUI方式定义器件几何、区域(Region)、材料、电极接触和解析掺杂剖面,输出的是_bnd.tdr(边界文件)与_dvs.cmd等中间文件。SDE本身不做工艺扩散计算,它给出的掺杂通常是解析函数或常数,因此它的网格是"几何驱动"的:网格密度主要由几何尺寸、界面位置和用户显式指定的加密窗口决定。
Sentaurus Process(SPROCESS)是工艺历史的执行者。它按时间顺序执行氧化、扩散、注入、刻蚀、沉积等步骤,每一步都可能改变几何形貌和掺杂分布。SPROCESS内部维护自己的网格,并在关键步骤(尤其是注入和扩散)中做自适应加密与去加密。它最终输出_fps.tdr(final process structure),这个文件里既有真实的三维/二维掺杂分布,也有工艺演化后的网格。
Sentaurus Mesh(SNMESH)是网格的专门生成与优化工具。它既可以独立使用,也可以被SPROCESS或SDE在流程中调用。SNMESH的核心价值在于:它支持基于掺杂梯度、电场估计、几何曲率和用户定义的refinement规则的网格重分布,并能生成适合器件仿真的_msh.tdr。在工具链中,SNMESH常常承担"把工艺网格转换成器件友好网格"的桥梁角色。
Sentaurus Device(SDEVICE)是网格的最终消费者。它读取_msh.tdr或_fps.tdr,在给定网格上离散漂移-扩散方程、泊松方程和载流子连续性方程。SDEVICE不生成网格,但它对网格质量极其敏感:网格的正交性、长宽比、掺杂梯度处的节点密度,直接决定牛顿迭代是否收敛。
二、网格在文件层面的传递方式
Sentaurus工具链中,网格与结构数据是绑定在同一个TDR文件里的,而不是像某些仿真软件那样网格单独存成.msh文件。这一点非常关键:当你把_fps.tdr交给SDEVICE时,你同时交出了掺杂分布和网格;当你用SNMESH重新生成_msh.tdr时,你是在保留物理量的前提下替换网格。
典型的衔接路径有三条:
- 纯器件路径:SDE → SNMESH → SDEVICE。适用于不需要工艺仿真的场景,例如理想结构、解析掺杂的快速验证。此时SDE输出的
_bnd.tdr只含几何和解析掺杂,SNMESH负责按refinement规则生成器件网格。 - 完整工艺路径:SDE → SPROCESS → SNMESH → SDEVICE。这是最常用的路径。SPROCESS输出的
_fps.tdr网格往往在注入区过密、在漂移区过疏,SNMESH需要重新平衡。 - 快速工艺路径:SDE → SPROCESS → SDEVICE。当工艺网格质量已经足够(例如一维扩散为主、结构简单),可以跳过SNMESH,但需要承担收敛风险。
三、SNMESH 的桥梁作用与关键参数
SNMESH之所以是工具链的核心衔接点,是因为它提供了与物理量相关的加密判据。在SNMESH的refinement块中,可以指定基于掺杂浓度的加密,例如:
refinement "dopingRefine" {
maxlevel = 8;
minlevel = 2;
refinebox [0 0 0 1 1 1] {
maxlevel = 10;
refine = 1e17; # 掺杂超过1e17 cm^-3 的区域加密
}
}
这段配置的含义是:全局最大细分层级为8,但在指定窗口内,当掺杂浓度超过1e17 cm⁻³时允许细分到10级。这样做的结果是,源漏注入区和沟道表面会获得更密的节点,而衬底深处保持较粗网格,从而在节点数与收敛性之间取得平衡。
另一个关键参数是maxlevel与minlevel的组合。maxlevel控制最密处的细分次数,minlevel控制最粗处的下限。如果minlevel设得过高,衬底会被迫保留大量无用节点;如果maxlevel设得过低,沟道和结区又无法分辨。工程上常见的做法是:先设一个保守的maxlevel(如7~8),跑一次SDEVICE,观察收敛残差曲线,再决定是否提高到9~10。
四、衔接中的典型问题与判断依据
最常见的问题是网格继承导致的"隐性过密"。SPROCESS在注入步骤中会在注入窗口附近自动加密,如果后续没有SNMESH重分布,这些加密节点会原封不动进入SDEVICE。结果是:注入区节点极密,而沟道和漂移区节点不足,牛顿迭代在沟道处反复震荡。判断依据是查看SDEVICE日志中的Newton iteration残差:如果残差在某个区域反复下降又上升,往往说明该区域网格不足。
第二个问题是几何与网格不匹配。SDE中定义的电极接触如果与SNMESH生成的网格边界不一致,SDEVICE会报"contact not found"或接触面积异常。解决方式是在SNMESH中显式保留电极边界,或使用refinebox在电极附近强制加密,确保接触节点被正确识别。
理解这四个工具的网格衔接关系,最终要落到一个判断上:当前网格是否与当前物理问题匹配。SDE负责几何正确,SPROCESS负责工艺真实,SNMESH负责网格适配,SDEVICE负责求解验证。四者各司其职,任何一环的网格决策都会向后传递,并在收敛结果中体现出来。