4. 网格生成策略:网格密度控制与关键区域细化原则

在TCAD仿真中,网格(Mesh)是数值求解半导体方程的基础载体。网格质量直接决定仿真收敛性、精度与计算开销。对于MOSFET阈值电压仿真,沟道区与栅氧化层界面的网格密度尤为关键——过粗则无法解析载流子分布与量子效应,过细则导致计算时间失控。本章系统阐述网格生成的核心策略与关键区域细化原则。

核心原则:网格生成应遵循“物理梯度驱动加密”法则——在电势、载流子浓度、掺杂浓度变化剧烈的区域(沟道表面、源漏结、栅氧化层界面)使用细网格,在体硅等缓变区域使用粗网格。目标是以最少节点数捕获关键物理行为。

4.1 网格密度控制的基本参数

TCAD工具(如Sentaurus、Silvaco、Minimos-NT)通常提供两种网格定义方式:结构网格与非结构网格。MOSFET仿真中,结构化网格因其规则性、易收敛性而被广泛采用。网格密度由以下核心参数控制:

参数名称 典型符号 控制对象 对阈值电压的影响
最大网格间距 dx_max, dy_max 全局最大步长 过大会导致沟道电势分辨率不足,Vth偏差可达10-30 mV
最小网格间距 dx_min, dy_min 关键区域最小步长 决定界面处反型层电荷解析精度
网格增长率 ratio 相邻网格尺寸变化比 增长率>1.5时易引入数值振荡
界面节点数 N_interface Si/SiO₂界面垂直方向节点数 至少3-5个节点才能解析反型层
结区加密因子 factor_junction 源漏结附近网格密度 影响漏致势垒降低效应(DIBL)的捕捉
经验值参考:对于亚微米级MOSFET(沟道长度0.18 μm ~ 0.5 μm),沟道区垂直方向最小网格间距建议设为0.5~1 nm,水平方向最小间距设为2~5 nm。网格增长率控制在1.2~1.4之间,可兼顾精度与效率。

4.2 关键区域网格细化原则

MOSFET仿真中,以下四个区域必须实施网格细化:

  1. 沟道/栅氧化层界面(Si/SiO₂)——反型层电荷在此形成,垂直方向需至少3个节点位于反型层厚度(~2-5 nm)内。
  2. 源漏结耗尽区——掺杂浓度梯度大,电势变化剧烈,影响DIBL与亚阈值摆幅。
  3. 栅氧化层内部——虽然氧化层内无载流子,但电势线性变化,需至少2-3层网格以保证栅电容计算精度。
  4. 沟道/衬底界面(耗尽层边界)——耗尽层边缘处载流子浓度快速下降,需适度加密以避免数值扩散。
MOSFET关键区域网格细化示意图 MOSFET关键区域网格细化示意图 栅极 (Poly-Si / Metal) SiO₂ 栅氧化层 P型沟道区 源极 漏极 P型衬底 (Substrate) ① 界面反型层 Δy_min = 0.5~1 nm ② 源结耗尽区 加密因子 2~3x ③ 漏结耗尽区 加密因子 2~3x ④ 耗尽层边界 细网格区 网格细化原则总结: • 界面处:垂直方向 Δy ≤ 1 nm,至少3个节点在反型层内 • 源漏结区:水平/垂直方向加密2~3倍,捕获掺杂梯度 • 栅氧化层:至少2层网格,保证栅电容精度 • 体硅区:网格增长率 ≤ 1.4,避免数值振荡 • 总节点数:典型2D仿真控制在5000~20000节点,3D控制在10万~100万节点

4.3 网格生成流程与代码示例

以下以Sentaurus TCAD的SDE(Structure Editor)脚本为例,展示一个典型MOSFET的网格生成流程。该脚本定义了沟道区、界面、源漏结的逐级加密策略。

; ============================================
; Sentaurus SDE 网格生成脚本 - MOSFET沟道掺杂仿真
; 网格策略:界面加密 + 结区渐变加密 + 体硅粗化
; ============================================

; 定义全局参数
define region_width  1.0   ; 器件总宽度 [μm]
define region_height 1.5   ; 器件总高度 [μm]
define gate_length   0.18  ; 栅长 [μm]
define oxide_thick   0.003 ; 栅氧化层厚度 [μm] (3 nm)

; 定义掺杂区域
sdegeo:create-rectangle \
  position { 0 0 0 } \
  position { [region_width] [region_height] 0 } \
  name "substrate" material "Silicon"

; 定义栅氧化层
sdegeo:create-rectangle \
  position { [expr 0.5*($region_width - $gate_length)] [expr $region_height] 0 } \
  position { [expr 0.5*($region_width + $gate_length)] [expr $region_height + $oxide_thick] 0 } \
  name "oxide" material "SiO2"

; ============================================
; 网格细化区域定义
; ============================================

; 1. 沟道/界面垂直细化区 (Si表面下 20 nm)
sdedr:define-refinement-window "win_channel_vertical" \
  "Rectangle" \
  [list [expr 0.5*($region_width - $gate_length) - 0.02] \
        [expr $region_height - 0.02] 0] \
  [list [expr 0.5*($region_width + $gate_length) + 0.02] \
        [expr $region_height] 0]

sdedr:define-refinement-size "ref_channel_vertical" \
  0.01 0.0005  ; 水平 10 nm, 垂直 0.5 nm

sdedr:define-refinement-placement "place_channel_vertical" \
  "ref_channel_vertical" "win_channel_vertical"

; 2. 源漏结区加密 (结两侧各 30 nm)
sdedr:define-refinement-window "win_source_junction" \
  "Rectangle" \
  [list [expr 0.5*($region_width - $gate_length) - 0.05] \
        [expr $region_height - 0.15] 0] \
  [list [expr 0.5*($region_width - $gate_length) + 0.03] \
        [expr $region_height] 0]

sdedr:define-refinement-size "ref_source_junction" \
  0.003 0.002  ; 水平 3 nm, 垂直 2 nm

sdedr:define-refinement-placement "place_source_junction" \
  "ref_source_junction" "win_source_junction"

; 3. 体硅区粗网格 (远离沟道区域)
sdedr:define-refinement-window "win_bulk" \
  "Rectangle" \
  [list 0 0 0] \
  [list [expr $region_width] [expr $region_height - 0.2] 0]

sdedr:define-refinement-size "ref_bulk" \
  0.05 0.05  ; 水平 50 nm, 垂直 50 nm

sdedr:define-refinement-placement "place_bulk" \
  "ref_bulk" "win_bulk"

; 4. 网格增长率控制 (全局)
sdedr:define-refinement-function \
  "ref_channel_vertical" "MaxGrading" 1.3

sdedr:define-refinement-function \
  "ref_source_junction" "MaxGrading" 1.2

; 生成网格
sde:build-mesh "snmesh" "" "output_mesh.msh"
常见陷阱:
  • 网格跳跃过大:从细网格区(Δ=0.5 nm)直接过渡到粗网格区(Δ=50 nm),增长率超过2.0,会导致数值振荡和收敛失败。务必使用 MaxGrading 限制增长率 ≤ 1.4。
  • 界面节点不足:仅1-2个节点位于反型层内,无法解析量子效应,阈值电压仿真值可能偏高20-50 mV。
  • 过度加密:全局使用细网格(Δ=1 nm)会导致节点数爆炸(2D仿真超10万节点),计算时间增加10倍以上,而精度提升有限。

4.4 网格质量评估指标

生成网格后,需通过以下指标评估其质量:

评估指标 理想范围 检查方法 不合格后果
界面节点数(垂直方向) ≥ 3 节点在反型层内 沿沟道中心垂直切面查看网格分布 Vth 偏差 > 10 mV
网格增长率 1.2 ~ 1.4 TCAD工具内置质量检查 数值振荡、不收敛
最小/最大网格比 1:100 ~ 1:500 统计网格尺寸分布 矩阵条件数恶化
结区网格各向异性比 Δx/Δy ≤ 5 查看结区网格单元长宽比 泊松方程求解精度下降
总节点数(2D) 5000 ~ 20000 网格统计报告 过多则计算慢,过少则精度差

4.5 网格自适应细化策略

对于阈值电压仿真,推荐采用两步网格生成法:

  1. 粗网格预仿真:使用较粗网格(界面Δy=2 nm,体硅Δ=50 nm)快速计算,获得电势与载流子分布的初步轮廓。
  2. 基于物理梯度的自适应加密:根据预仿真结果,在电势梯度 |∇ψ| > 1×10⁶ V/cm 或载流子浓度梯度 |∇n| > 1×10²⁰ cm⁻⁴ 的区域自动加密网格。
效率对比:采用自适应网格策略后,在保持Vth精度(偏差 < 1 mV)的前提下,总节点数可减少40%~60%,仿真时间缩短至原来的1/3~1/2。对于需要扫描掺杂浓度、栅压等多参数的设计空间探索,这一策略可显著提升整体效率。
网格自适应细化流程图 网格自适应细化流程图 初始粗网格生成 粗网格预仿真 计算 |∇ψ| 与 |∇n| 分布 识别高梯度区域 高梯度区加密 Δx/Δy 减半,增长率 ≤ 1.3 自适应加密判据: • 电势梯度 |∇ψ| > 1×10⁶ V/cm • 电子浓度梯度 |∇n| > 1×10²⁰ cm⁻⁴ • 掺杂浓度梯度 |∇N| > 1×10¹⁸ cm⁻⁴ 迭代终止条件: • 最大梯度 < 阈值 • 或达到最大迭代次数 • 或节点数超过上限

4.6 网格策略对阈值电压精度的定量影响

为直观展示网格密度对Vth的影响,以下给出一个典型仿真实验的对比数据(沟道长度0.18 μm,衬底掺杂浓度NA = 1×10¹⁷ cm⁻³):

网格方案 界面Δy_min (nm) 总节点数 仿真时间 (s) Vth (V) Vth偏差 (mV)
超粗网格 5.0 1,200 12 0.512 +28 (参考值0.484)
粗网格 2.0 3,500 35 0.495 +11
推荐网格 0.5 8,200 98 0.484 0 (基准)
精细网格 0.2 22,000 410 0.483 -1
超精细网格 0.1 58,000 1,850 0.483 -1
关键结论:从“粗网格”到“推荐网格”,Vth偏差从+11 mV降至0 mV,而节点数仅增加约2.3倍;从“推荐网格”到“超精细网格”,精度几乎无提升(仅1 mV),但计算时间增加近19倍。因此,界面Δy_min = 0.5 nm、总节点数约8000是0.18 μm MOSFET阈值电压仿真的最佳平衡点。

4.7 本章小结

  • 网格生成是TCAD仿真的基础,直接影响阈值电压的精度与计算效率。
  • 关键区域(Si/SiO₂界面、源漏结、耗尽层边界)必须实施网格细化,界面垂直方向最小网格间距建议为0.5~1 nm。
  • 网格增长率控制在1.2~1.4之间,避免数值振荡。
  • 采用“粗网格预仿真 → 基于物理梯度的自适应加密”两步策略,可在保证精度的前提下显著降低计算开销。
  • 对于0.18 μm MOSFET,推荐总节点数约8000,界面Δy_min = 0.5 nm,可在Vth精度(偏差<1 mV)与仿真时间之间取得最佳平衡。