第二章:仿真流程搭建——从工艺步骤到仿真脚本
说实话,很多工程师拿到TCAD仿真工具,第一反应就是直接跑。我当年也这样,结果跑出来的数据根本没法看。后来才明白,仿真流程的搭建,就像盖房子打地基——地基歪了,后面全白搭。
这一章,咱们就聊聊怎么把真实的工艺步骤,变成能跑的仿真脚本。重点讲四个核心模块:网格定义、材料参数、掺杂分布、热预算设置。每个模块我都会结合自己踩过的坑来讲。
2.1 网格定义:别让网格毁了你的仿真
网格是什么?说白了,就是把器件切分成无数个小方块,每个方块里算物理方程。网格太粗,精度不够;网格太细,算到天荒地老。
我个人习惯,在沟道区和结区附近加密网格。为什么?因为这些地方电场变化剧烈,载流子浓度梯度大。你想想看,如果网格太粗,一个网格里包含了从高浓度到低浓度的区域,那算出来的电流能准吗?
核心原则:
- 沟道区:网格间距 1-2 nm
- 源漏结区:网格间距 2-5 nm
- 衬底深处:网格间距 10-20 nm
- 过渡区域:渐变网格,比例因子 1.2-1.5
我在项目中遇到过一件事。有个28nm的器件,仿真出来的漏电流总是偏大。我查了三天,最后发现是网格定义太粗糙——源漏结区的网格间距设成了10nm。改到3nm后,结果立马对上了实测数据。嗯,这个教训挺深刻的。
下面是一个典型的网格定义脚本片段:
# 网格定义示例(Sentaurus格式)
Mesh {
# 定义x方向网格
xMesh {
x.min = 0.0
x.max = 0.5
x.spacing = 0.002 # 沟道区加密
}
xMesh {
x.min = 0.5
x.max = 1.0
x.spacing = 0.005 # 源漏区
}
# 定义y方向网格
yMesh {
y.min = -0.1
y.max = 0.1
y.spacing = 0.001 # 界面附近加密
}
yMesh {
y.min = 0.1
y.max = 1.0
y.spacing = 0.01 # 衬底
}
}
小技巧:先跑一个粗网格的快速仿真,看看哪些区域物理量变化剧烈。然后再在这些区域加密网格。这样既省时间,又保证精度。
2.2 材料参数:别用默认值,那是给新手准备的
材料参数这块,我见过太多人直接用工具自带的默认值。说实话,默认值只能保证程序不报错,但结果准不准,那就另说了。
关键材料参数包括:
| 参数 | 默认值 | 实际工艺值 | 影响 |
|---|---|---|---|
| 电子迁移率 | 1417 cm²/Vs | 300-500 cm²/Vs | 直接影响Idsat |
| 禁带宽度 | 1.12 eV | 1.08-1.12 eV | 影响漏电流 |
| SRH寿命 | 1e-6 s | 1e-8 - 1e-7 s | 影响GIDL |
| 界面态密度 | 0 | 1e10 - 1e12 cm⁻² | 影响亚阈值斜率 |
我曾经犯过一个低级错误。做SiGe源漏的PMOS仿真,忘了改SiGe的禁带宽度。结果算出来的阈值电压比实测低了0.15V。后来一查,默认的Si参数和SiGe参数差了0.1eV。你说这能准吗?
我的建议:每个材料参数都要和工艺部门确认。特别是迁移率模型,一定要用校准过的参数。别偷懒,否则后面良率分析全白做。
2.3 掺杂分布:仿真的灵魂
掺杂分布,说白了就是器件里哪些地方掺了什么杂质、掺了多少。这是仿真的灵魂,也是最容易出问题的地方。
常见的掺杂分布设置:
- 沟道掺杂:通常用高斯分布或误差函数分布。峰值浓度和结深是关键参数。
- 源漏掺杂:高浓度、陡峭的分布。注意横向扩散效应。
- 晕环掺杂:沟道和源漏之间的过渡区。这个区域最容易漏电。
- 阱掺杂:衬底的基础掺杂,影响阈值电压和闩锁效应。
注意:掺杂分布不是随便填几个数字就完事了。一定要和实际工艺的注入条件、退火条件对应起来。我曾经见过有人把沟道掺杂浓度设成1e18 cm⁻³,结果阈值电压算出来是负的——这明显是搞错了。
下面是一个掺杂分布的脚本示例:
# 掺杂定义示例
Implant {
name = "channel_implant"
impurity = Boron
dose = 5e12
energy = 15 # keV
tilt = 7
rotation = 0
# 退火条件
Anneal {
temperature = 1050 # °C
time = 5 # 秒
rampRate = 50 # °C/s
}
}
我个人习惯,每次跑完掺杂仿真后,先看一眼掺杂分布图。如果分布曲线不光滑,或者峰值位置不对,那肯定是参数设错了。别急着往下跑,先把这个改对再说。
2.4 热预算设置:温度和时间是双刃剑
热预算,就是温度乘以时间。你想想看,工艺过程中要经历多次退火、氧化、沉积,每次都会改变掺杂分布。热预算设大了,结深太深,短沟道效应严重;设小了,杂质激活不够,电阻太大。
热预算的关键参数:
- 峰值温度:决定杂质扩散系数
- 保温时间:决定扩散长度
- 升温速率:影响缺陷退火效果
- 降温速率:影响热应力
我记得有一次做22nm FD-SOI的仿真,热预算设成了1050°C、30秒。结果算出来的结深比目标值深了20nm。后来和工艺工程师一聊,才知道实际工艺用的是快速热退火(RTP),实际有效时间只有5秒。你看,这就是没沟通好的后果。
热预算设置原则:
- 先确认工艺设备类型(炉管、RTP、激光退火)
- 再确认实际工艺条件(温度、时间、升温速率)
- 最后用校准过的扩散模型跑一遍,和实测数据对比
2.5 完整仿真流程框架
说了这么多,咱们用一张图把整个流程串起来。这是我做仿真时脑子里一直有的框架图:
这张图我每次做仿真都会看一遍。从工艺步骤输入开始,到网格定义、材料参数、掺杂分布、热预算,最后跑仿真、验证结果。如果结果不对,就沿着反馈箭头回去调整参数。说白了,这就是一个迭代优化的过程。
我的经验:第一次跑仿真,别追求一次就准。先跑一个快速版本,看看整体趋势对不对。趋势对了,再慢慢调参数。这样效率最高。
好了,这一章的内容就到这里。仿真流程搭建,说白了就是把工艺步骤翻译成计算机能理解的语言。网格、材料、掺杂、热预算,这四个模块缺一不可。下一章咱们聊聊怎么解读仿真结果,以及如何根据结果调整工艺参数。
公众号:蓝海资料掘金营,微信deep3321