3. Sentaurus Structure Editor器件建模

Sentaurus Structure Editor(简称 SDE)是 Sentaurus TCAD 工具链中负责几何建模与网格生成的前端工具。它把版图尺寸、外延层结构、掺杂窗口、电极位置等物理信息,转换为后续器件仿真器(SDevice)能够读取的网格与掺杂文件。SDE 的建模质量直接决定仿真能否收敛、结果是否可信,因此本节围绕四个核心环节展开:二维/三维结构生成、掺杂分布定义、网格划分策略、电极与接触设置。

一、二维与三维结构生成

SDE 支持两种建模方式:基于命令脚本的 Scheme 语言建模,以及基于图形界面的交互式建模。工程实践中更推荐脚本建模,因为脚本可复现、可参数化、便于版本管理。二维结构通常用 sdegeo:create-rectangle 逐层堆叠,例如一个平面 MOSFET 的衬底、栅氧、多晶硅栅依次创建:

(sdegeo:create-rectangle (position 0 0 0) (position 0.5 0.1 0) "Silicon" "substrate")
(sdegeo:create-rectangle (position 0.1 0.1 0) (position 0.4 0.105 0) "SiO2" "gateox")
(sdegeo:create-rectangle (position 0.1 0.105 0) (position 0.4 0.25 0) "PolySilicon" "gate")

坐标单位默认为微米,Z 方向在二维中仅作占位。三维建模则需在 Z 方向给出真实尺寸,常用 sdegeo:extrude 将二维截面沿 Z 拉伸,或用 sdegeo:create-cuboid 直接创建长方体。三维结构对 FinFET、纳米片器件、三维存储单元是必需的,但网格量和求解时间会显著增加,因此对对称结构应优先使用半结构或四分之一结构配合对称边界条件。

建模时需注意:不同材料区域不能重叠,否则会产生非流形几何,导致网格生成失败;层与层之间应严格共面,坐标建议用参数变量统一管理,避免手工硬编码带来的对不齐问题。

二、掺杂分布定义

掺杂定义分为两类:均匀掺杂与解析分布掺杂。均匀掺杂用 sdedr:define-constant-profile 指定区域和浓度,适合衬底背景掺杂。解析分布用 sdedr:define-analytic-profile,可定义高斯分布、余误差分布等,需要给出峰值浓度、结深、特征长度和参考方向。

(sdedr:define-constant-profile "subdoping" "BoronActiveConcentration" 1e15)
(sdedr:define-gaussian-profile "sd" "ArsenicActiveConcentration"
  PeakPos 0.0 Value 1e20 Falloff 0.03 RefPos 0.0)

对于离子注入形成的源漏区,常用高斯分布近似,峰值位于硅表面,结深由 Falloff 控制。若工艺步骤较多,可叠加多个解析分布,SDE 会按最大值或叠加规则合成净掺杂。需要强调的是,解析分布只是工艺结果的近似,若需精确的注入损伤与退火扩散,应改用工艺仿真器生成掺杂文件再导入 SDE。

三、网格划分策略

网格是精度与效率的平衡点。SDE 提供全局网格与局部细化两类控制。全局网格用 sdemesh:refine-global 设定最大单元尺寸;局部细化用 sdemesh:refine-region 或 sdemesh:refine-box 在关键区域加密。关键区域包括:PN 结附近、沟道表面、栅氧下方、高场区、电流集中区。

一个实用的策略是:先给全局较粗网格(如 0.05 μm),再在沟道和结区细化到 0.005 μm 甚至更小,栅氧方向至少保证 3~5 层网格。网格过粗会导致电流和电场失真,过密则使求解时间急剧上升。建议在正式仿真前做一次网格收敛性检查:将网格加密一倍,若关键指标(如阈值电压、开态电流)变化小于 2%,则认为网格已足够。

SDE 建模流程与网格/掺杂/电极关系示意 结构生成 衬底 / 外延层 栅氧 / 多晶硅 源漏 / 侧墙 二维截面 / 三维拉伸 坐标单位:μm 层间严格共面 掺杂定义 均匀背景掺杂 高斯 / 余误差分布 峰值浓度 / 结深 多分布叠加合成 Boron / Arsenic / Phosphorus 单位:cm⁻³ 网格划分 全局最大单元尺寸 结区 / 沟道局部细化 栅氧方向 ≥3 层 收敛性检查 加密一倍,指标变化 <2% 平衡精度与求解时间 电极与接触 栅极 / 源极 / 漏极 欧姆接触 / 肖特基 接触电阻 / 功函数 衬底 / 背栅接触 接触面必须落在网格节点 避免悬空电极 输出:网格文件 + 掺杂文件 → 供 SDevice 求解

四、电极与接触设置

电极定义用 sdegeo:define-contact-set 创建接触集合,再用 sdegeo:set-contact 把几何边或面绑定到接触。二维中接触是边,三维中是面。接触类型分为欧姆接触和肖特基接触,欧姆接触需指定接触电阻或直接理想接触,肖特基接触需给出势垒高度和理查德森常数。

(sdegeo:define-contact-set "gate" 4.0 (color:rgb 1 0 0) "##")
(sdegeo:set-contact (find-edge-id (position 0.25 0.25 0)) "gate")
(sdegeo:define-contact-set "source" 4.0 (color:rgb 0 1 0) "##")
(sdegeo:set-contact (find-edge-id (position 0.05 0.1 0)) "source")

接触设置的关键约束是:接触面必须落在网格节点上,否则仿真器无法施加边界条件。若接触边被网格细化打断,应使用 sdegeo:set-contact 绑定整条边而非单个节点。此外,衬底背面通常需要定义背接触,用于施加衬底偏压。

建模顺序建议:先建几何 → 再定义掺杂 → 然后划网格 → 最后设电极。若先划网格再改几何,需重新生成网格,否则会出现网格与几何不一致的错误。
常见错误:三维拉伸时 Z 方向尺寸为 0,导致退化几何;掺杂分布参考位置与几何坐标不一致,使结区偏离预期;接触面未落在网格节点上,SDevice 报“contact not found”。

完成上述四步后,SDE 会输出 _bnd.tdr(网格与几何)和 _doping.tdr(掺杂分布)等文件,供 SDevice 读取。建议在 SDE 脚本末尾加入 sde:save-model 保存模型,并用 sde:build-mesh 生成网格,便于后续复用与调试。