为什么单独把 SEMulator3D 拎出来讲
TCAD 的教科书链路通常是 工艺 → 结构 → 器件 → 电路。但实际工作中,前两步之间的那道缝才是最容易出事的地方。
原因在于:刻蚀和沉积是非保形的,而大多数器件仿真器默认你给的是一份”理想几何”。 SEMulator3D 这类基于体素(voxel)的工艺仿真器,价值就在于它老老实实模拟了”材料怎么被一点点拿走/堆上去”。
代价是:它输出的是体素结构,而器件仿真器想要的是连续介质网格。这条接口的质量,几乎决定了整个仿真的可信度。
一、先把工艺配方拆成可仿真的步骤
假设要验证一个 3nm 级别的 GAA 纳米片释放(nanosheet release)工艺。真实配方可能是几十步,先做约束检查:
# process_recipe.yaml —— 精简到只保留影响结构的步骤
steps:
- id: P01
type: deposit
material: SiGe
thickness_nm: 8
conformality: 0.95 # 关键:1.0 才是完全保形
- id: P02
type: deposit
material: Si
thickness_nm: 5
conformality: 0.98
- id: P03
type: repeat # 交替叠层 x3
times: 3
steps: [P01, P02]
- id: P04
type: etch
material: SiGe
selectivity: {Si: 100, SiGe: 1} # 对 SiGe 的刻蚀速率比 Si 快 ~100x
isotropy: 0.8 # 0=完全各向异性, 1=完全各向同性
over_etch_pct: 15
- id: P05
type: anneal
purpose: SiGe_relaxation
temp_C: 1050
time_ms: 2
这几行里藏着三个必须显式建模、否则结果必然失真的参数:
| 参数 | 物理含义 | 忽略后的典型偏差 |
|---|---|---|
conformality |
沉积在侧壁/底部的厚度比 | 结构尺寸偏差 5~15% |
selectivity |
不同材料的刻蚀速率比 | 要么释放不干净,要么 Si 被咬掉 |
isotropy |
刻蚀方向性 | 侧向掏空量差 2~3 倍 |
二、从体素到网格:这一步最容易被糊过去
体素结构导出后,网格化时你会遇到一个无法回避的取舍:
# 伪代码:体素 → 器件网格的典型处理
structure = load_voxel("release.structure")
# 方案 A:直接栅格化成六面体网格(快,但界面呈阶梯状)
mesh_a = voxel_to_hex(structure, pitch_nm=0.5)
# 方案 B:表面重建后生成贴体网格(慢,界面光滑)
mesh_b = surface_reconstruct(structure).then(tetrahedral_mesh, min_size_nm=0.3)
# 方案 C:折中——界面附近细化,体区粗化
mesh_c = voxel_to_hex(structure, pitch_nm=1.0)
mesh_c.refine_near(interface, min_size_nm=0.2)
判断标准很具体:如果沟道界面处的网格像楼梯,那么栅氧电场会被系统性算错,最终 $V_{TH}$ 的误差可能达到几十毫伏——这个量级已经足以让你对工艺窗口做出错误结论。
一条经验法则:
界面处的网格尺寸不应大于栅氧厚度的 1/3。对 1nm 等效氧化层,就是 0.33nm 量级——这正是为什么这类仿真的收敛总是很难调。
三、器件仿真与电性提取
拿到贴体网格后,接一个 drifts-diffusion 求解器:
# 用 Sentaurus Device 做 DD 仿真(示意)
sdevice release_mesh.tdr \
-physics "Hydrodynamic" \
-bias "Vg 0..1.0 step 0.02, Vd 0.05" \
-output IdVg.dat, IdVd.dat
从中提出你真正关心的量:
- $V_{TH}$(恒定电流法):$I_D = 100\text{nA}\times W/L$
- SS(亚阈斜率):$\text{SS}=\left(\frac{d\log_{10}I_D}{dV_G}\right)^{-1}$,室温理论下限 60 mV/dec
- DIBL:$\frac{V_{TH}(V_D{=}0.05)-V_{TH}(V_D{=}V_{DD})}{\Delta V_D}$
- $I_{on}/I_{off}$ 比
四、真正的目的:回到工艺窗口
电性只是中间产物。仿真链条的价值在于反向给出工艺容差。
做法是扫关键工艺参数的组合,看电性何时越界:
| over-etch | isotropy | 释放完整度 | SS (mV/dec) | 判定 |
|---|---|---|---|---|
| 5% | 0.6 | 部分残留 | 78 | ✗ 漏电 |
| 10% | 0.7 | 完整 | 66 | ✓ |
| 15% | 0.8 | 完整 | 65 | ✓ |
| 20% | 0.9 | Si 被咬蚀 | — | ✗ 结构失效 |
| 25% | 0.9 | 纳米片断裂 | — | ✗ 报废 |
这样你就得到了一条工艺窗口:over-etch ∈ [10%, 15%] 且 isotropy ≤ 0.8。
这才是仿真该交付的东西——不是一个漂亮的 $I_d$-$V_g$ 曲线,而是“哪些工艺参数可以波动,波动到哪里就会失效”。
五、几个踩过的坑
- 别用理想几何代替工艺仿真去”验证”工艺。 如果结构是你手画的,那你验证的是你的画工。
- 选择性刻蚀的 selectivity 值必须来自实测或文献,不能猜。 它是指数级敏感的。
- 体素分辨率不是越高越好。 分辨率翻倍,仿真时间涨 8 倍,而 0.5nm 以下通常在拟合数值噪声。
- 先做二维截面验证,再做三维。 三维不收敛时,你很难判断是物理错了还是网格错了。
工具只是链路的一环。真正决定仿真可信度的,是你有没有认真对待”体素到网格”这一步所引入的误差。