简介:围绕半导体掺杂原理整理的入门级知识文档,面向微电子、集成电路及材料相关专业学生与初入行的技术人员。内容从本征半导体导电能力低讲起,说明杂质对载流子数目的影响,再依次展开掺磷形成N型硅、掺硼形成P型硅的价电子变化,讲解donor、acceptor、多数与少数载流子等术语,并延伸到counterdoping、III-V、II-VI化合物半导体及砷化镓器件应用,帮助读者建立掺杂工艺与器件原理的整体认识。
资源包内含1个PDF文件,约68KB,为图文结合的章节式讲义,附掺磷、掺硼硅简化晶体结构示意图与半导体术语汇总表,篇幅紧凑,适合课堂补充或复习查阅。已有2750人学习下载,可快速梳理概念脉络,为后续集成电路工艺学习打基础。
1. 掺杂到底改了什么:从本征半导体到可控导电
室温下高纯硅的本征载流子浓度只有约 1×10¹⁰ cm⁻³,对应本征电阻率在 10⁵ Ω·cm 量级,比常见金属差了十几个数量级,这种材料直接做器件几乎没法用。掺杂做的事情很集中:把特定杂质原子按可控浓度放进晶格替位,让载流子的类型和浓度都能被设计。掺磷给出电子得到 n 型,掺硼给出空穴得到 p 型,浓度从 10¹⁴ 到 10²⁰ cm⁻³ 跨六个数量级,电阻率随之能压到毫欧量级。做器件、跑工艺、做 TCAD 仿真和材料建模的人都会反复回到这条链路:掺杂浓度决定费米能级位置,费米能级位置决定载流子浓度,迁移率再决定电阻率。抓住这条链路,掺杂就不再是一堆数字,而是一组可反推、可验证的工程参数。
2. 施主与受主:掺杂的能带模型与载流子浓度计算
2.1 替位掺杂如何改变晶格与化学键
硅是金刚石立方结构,晶格常数约 0.543 nm,每个硅原子与四个最近邻形成 sp³ 共价键,四个价电子全部参与成键,晶格在绝对零度附近表现为绝缘体。把一个 V 族原子(磷、砷、锑)放到硅原子位置上,它用四个价电子参与共价键,第五个价电子只受到原子核和周围晶格的弱库仑束缚,很小的能量就能把它激发到导带,成为自由电子。这类杂质叫施主,束缚能叫施主电离能。
III 族原子(硼、铝、镓、)只有三个价电子,替位后共价键缺一个电子,相当于产生一个可以移动的空穴,这类杂质叫受主。受主电离后,空穴进入价带参与导电。两类杂质改变的是同一个东西:本征材料里电子和空穴的平衡被打破,多子浓度由杂质浓度主导,少子浓度被质量作用定律 n·p = n_i² 约束。
这里有个容易忽略的前提:掺杂原子必须占据替位位置。间隙位置的杂质、团簇或者沉淀相通常不贡献自由载流子,所以后面要区分化学浓度和电活性浓度,两者在重掺杂下能差出近一个数量级。
2.2 电离能与杂质能级:浅能级和深能级的分界
杂质在禁带里引入的能级位置决定了它在室温下能不能有效贡献载流子。判断尺子是室温热能 kT ≈ 0.026 eV,如果电离能远小于这个值,杂质在室温下基本全部电离;如果接近禁带中央,它更可能充当复合中心而不是掺杂剂。
| 杂质 | 类型 | 电离能 (eV) | 室温电离情况 | 在硅中的角色 |
|---|---|---|---|---|
| 磷 P | 施主 | 0.045 | 基本全电离 | 常用 n 型掺杂 |
| 砷 As | 施主 | 0.054 | 基本全电离 | 离子注入常用 |
| 锑 Sb | 施主 | 0.039 | 基本全电离 | 特殊 n 型 |
| 硼 B | 受主 | 0.045 | 基本全电离 | 常用 p 型掺杂 |
| 铝 Al | 受主 | 0.057 | 基本全电离 | 少见受主 |
| 金 Au | 深能级 | 0.54 | 基本不电离 | 少子寿命控制 |
| 铜 Cu | 深能级 | 0.24 | 基本不电离 | 污染源、复合中心 |
浅能级杂质和深能级杂质的选择性很明显:想控制载流子浓度就选浅能级,想控制载流子寿命就故意引入深能级。固溶度是另一条硬边界,硼在硅里的固溶度上限大约在 5×10²⁰ cm⁻³ 量级,超过这个值多余杂质会以团簇或沉淀形式存在,不再贡献载流子,这也是重掺杂源漏区浓度通常卡在这个量级附近的原因。
2.3 用 Python 从掺杂浓度算费米能级与载流子浓度
掺杂浓度和费米能级的关系可以用有效态密度直接算出来。n 型完全电离近似下 n ≈ N_D,再用 n = N_C·exp(-(E_C-E_F)/kT) 反解 E_F,和本征费米能级 E_i 的差值就是掺杂把费米能级推离禁带中央的距离。
import math # 物理常数与硅材料参数 k_B = 8.617333e-5 # 玻尔兹曼常数, eV/K T = 300.0 # 温度, K N_C = 2.8e19 # 导带有效态密度, cm^-3 N_V = 1.1e19 # 价带有效态密度, cm^-3 E_g = 1.12 # 硅室温禁带宽度, eV n_i = 1.0e10 # 本征载流子浓度, cm^-3 kT = k_B * T def fermi_shift_n(N_D): """n 型半导体费米能级相对本征能级的偏移 (eV),完全电离近似""" return kT * math.log(N_D / n_i) def fermi_shift_p(N_A): """p 型半导体费米能级相对本征能级的偏移 (eV)""" return -kT * math.log(N_A / n_i) # 扫描几个典型掺杂浓度 for N in [1e14, 1e16, 1e18, 1e20]: dE = fermi_shift_n(N) n = N p = n_i**2 / n # 质量作用定律给出少子浓度 print(f"N_D={N:.0e} cm^-3 n={n:.2e} p={p:.2e} E_F-E_i={dE:.4f} eV")这段代码做三件事:用对数关系把掺杂浓度映射成费米能级偏移,用质量作用定律从多子浓度推少子浓度,再打印出四个数量级上的变化趋势。参数上要注意两点,N_C 和 N_V 取的是硅在 300 K 的有效态密度,换材料(Ge、GaAs、SiC)要重新取值;n_i 对温度非常敏感,300 K 大约 1×10¹⁰ cm⁻³,到 400 K 会涨到 10¹² 量级,高温下本征载流子开始压倒掺杂浓度,器件会失稳。
跑出来的结果是 N_D=1×10¹⁴ 时 E_F-E_i 约 0.24 eV,1×10¹⁶ 时约 0.35 eV,到 1×10²⁰ 时已经接近导带边 0.55 eV。费米能级一旦逼近导带边,玻尔兹曼近似开始失效,必须换成费米-狄拉克积分,同时出现带隙变窄效应,这是重掺杂模型和轻掺杂模型的分界点。
3. 半导体掺杂的主流工艺路线:扩散、离子注入与外延原位掺杂
3.1 高温扩散:固溶度限制下的推进与再分布
扩散是较早出现的掺杂方法,把硅片放在含杂质源的高温气氛里,杂质从表面进入晶格并向体内推进。常见做法分两步:先做恒定表面源扩散,再关掉源做有限源推进。结深和表面浓度由温度和时间的组合决定,常见的经验关系是结深 x_j ≈ 2√(D·t),其中扩散系数 D 服从 Arrhenius 形式。
import math k_B = 8.617e-5 # eV/K D0 = 0.037 # 硼在硅中的扩散前置因子, cm^2/s Ea = 3.46 # 硼扩散激活能, eV T = 1273.0 # 扩散温度, K (约 1000 摄氏度) t = 1800.0 # 扩散时间, s (30 分钟) D = D0 * math.exp(-Ea / (k_B * T)) # 扩散系数, cm^2/s x_j = 2.0 * math.sqrt(D * t) # 特征结深估计, cm print(f"D = {D:.3e} cm^2/s") print(f"x_j = {x_j*1e4:.3f} um")参数含义:D0 和 Ea 是材料对,硼在硅中的这组值决定扩散快慢;T 和 t 是工艺窗口的可调量,温度每升高约 50 K,扩散系数大致翻倍,所以扩散炉的温度均匀性直接决定片内结深一致性。逻辑上这是平方根关系,想加倍结深就要四倍扩散时间,实际产线更倾向用温度微调而不是拉长时间,避免热预算过大影响已形成的浅结。
扩散的边界同样明显:受固溶度限制,表面浓度很难突破 5×10²⁰ cm⁻³;横向扩散和纵向推进同量级,做深亚微米浅结几乎无能为力;需要高温长时间,热预算大。这也是为什么在微米级及更小节点之后,扩散逐步被离子注入取代,只在一些特殊结构里保留。
3.2 离子注入:剂量、能量、射程与退火激活
离子注入把杂质离子加速到几十到几百 keV,直接轰进硅片,注入剂量决定浓度,注入能量决定射程和峰值深度,两者解耦控制,这是它取代扩散的核心优势。注入后的杂质落在间隙位置,必须经过退火才能进入替位、恢复晶格损伤并实现电激活。
| 参数 | 典型范围 | 控制的目标 |
|---|---|---|
| 注入能量 | 10 keV ~ 500 keV | 射程与峰值深度 |
| 注入剂量 | 10¹² ~ 10¹⁶ cm⁻² | 积分浓度 |
| 倾斜角 | 0° ~ 7° | 抑制沟道效应 |
| 退火温度 | 900 ~ 1100 ℃ | 激活率与损伤恢复 |
| 退火时间 | 毫秒级(尖峰)到数十秒 | 控制扩散量 |
两个必须注意的点。倾斜角如果不加,离子会沿晶格沟道穿得很深,形成拖尾分布,器件一致性会变差,常见做法是偏 7°。退火窗口要同时兼顾激活和扩散,尖峰退火或毫秒退火能在高激活的同时把杂质扩散压到最小,这是浅结掺杂的关键工艺。
3.3 原位掺杂与外延:界面陡峭度的取舍
外延生长时同步通入掺杂气体,杂质在薄膜生长过程中直接进入晶格,这叫原位掺杂。它和注入+退火的区别在于:掺杂原子在生长阶段就处在替位位置,不需要高剂量注入和高强度退火,因此能把掺杂剖面控制得很陡,界面过渡区可以做到纳米量级。代价是只能在能外延的层上做,浓度上限受生长气氛和固溶度约束,厚层外延的热预算也不低。
选择时可以按三条线判断:要浅结和陡界面优先原位掺杂外延;要局部选区掺杂、对片内均匀性要求高优先离子注入;要低成本深结、对结深精度不敏感才考虑扩散。
4. 掺杂结构建模与电学参数标定
4.1 Materials Studio 里建掺杂超胞与 Make P1 的取舍
用 Materials Studio 做掺杂结构优化,绕不开两个动作:建足够大的超胞,避免掺杂原子和它的周期性镜像相互作用;以及在放好掺杂原子后处理对称性。原始硅的晶胞是 Fd-3m 空间群,默认对称操作会把一个掺杂位点复制成多个等价位置,或者在你替换原子后强行把结构拉回高对称,导致掺杂原子实际被放到了不等价位置。
常见做法是替换原子之前或之后执行 Make P1,把对称性降到 P1,只保留平移对称,这样掺杂位点和局部弛豫就能被正确描述。是否需要 Make P1 取决于模型目的:只想看单个替位原子的局域结构,Make P1 后放开全部原子坐标做几何优化更稳;想做高对称路径或声子计算,则要权衡对称性带来的计算量收益和掺杂引入的实际破缺。判断标准很简单,替换后如果发现多个位置被同时改变,或者能量异常低得不像掺杂体系,就检查一下对称性有没有被保留。
超胞尺寸和掺杂浓度的换算要提前算清楚,不然建模浓度和实验浓度对不上。
a = 0.543e-7 # 硅晶格常数, cm atoms_per_cell = 8 # 金刚石结构每晶胞 8 个原子 nx, ny, nz = 3, 3, 3 # 超胞沿三个方向的晶胞数 n_cells = nx * ny * nz n_atoms = n_cells * atoms_per_cell V = n_cells * a**3 # 超胞体积, cm^3 density = n_atoms / V # 原子数密度, cm^-3 doping = density / n_atoms # 替换一个原子对应的体浓度, cm^-3 print(f"总原子数 = {n_atoms}") print(f"原子数密度 = {density:.3e} cm^-3") print(f"替换 1 个原子对应掺杂 = {doping:.3e} cm^-3")逻辑说明:原子数密度由晶格常数和每晶胞原子数直接得到,替换一个原子相当于掺杂浓度等于原子数密度除以总原子数。3×3×3 超胞的 216 个原子里换一个,对应约 2.3×10²⁰ cm⁻³,正好落在重掺杂量级;想模拟 10¹⁸ cm⁻³ 的轻掺杂,就要把超胞扩到几十个晶胞边长,第一性原理计算的成本会迅速上升,这也是很多掺杂建模只做趋势对照而不直接对齐产线浓度的原因。
4.2 掺杂浓度、电阻率与方块电阻的换算
电学参数之间有一条可直接用的关系链。电阻率 ρ = 1/(q·n·μ_n),方块电阻 R_sh = ρ/x_j,其中 x_j 是结深。迁移率不是常数,它随掺杂浓度上升而下降,硅中电子迁移率常用 Caughey-Thomas 形式描述。
import math q = 1.602e-19 # 元电荷, C mu_max = 1400.0 # 低掺杂电子迁移率, cm^2/(V·s) mu_min = 65.0 # 高掺杂渐近电子迁移率, cm^2/(V·s) N_ref = 8.5e16 # 参考浓度, cm^-3 alpha = 0.72 # 拟合指数 def mu_n(N): """硅中电子迁移率随掺杂浓度的经验模型""" return mu_min + (mu_max - mu_min) / (1 + (N / N_ref)**alpha) def sheet_resistance(N_D, x_j_um): """由掺杂浓度和结深估算方块电阻, 单位 Ω/sq""" n = N_D mu = mu_n(n) x_j = x_j_um * 1e-4 # um -> cm rho = 1.0 / (q * n * mu) # Ω·cm return rho / x_j for N in [1e16, 1e18, 1e19, 1e20]: print(f"N_D={N:.0e} cm^-3 mu={mu_n(N):.1f} cm^2/Vs R_sh={sheet_resistance(N, 0.2):.1f} Ω/sq")参数说明:N_ref 和 alpha 决定迁移率随浓度衰减的快慢,不同材料、不同载流子类型要换不同的拟合参数;x_j 单位换算成厘米后才能和电阻率一起给出方块电阻。这段计算的意义是把掺杂浓度、迁移率退化和工艺可测的方块电阻连起来,实测方块电阻偏高时,可能来自激活率不足、结深偏浅或者补偿度过大,而不是掺杂浓度本身写错了。
4.3 Hall、CV、SIMS 各测什么:别把化学浓度当电活性浓度
掺杂表征方法各管一段信息,混用会得出错误结论。
| 方法 | 直接测量量 | 给出的是化学浓度还是电活性浓度 | 主要限制 |
|---|---|---|---|
| 霍尔 Hall | 载流子浓度、类型、迁移率 | 电活性浓度(面密度) | 需要良好欧姆接触,受表面态影响 |
| CV | 载流子浓度-深度分布 | 电活性浓度(可分辨深度) | 需要肖特基结或 PN 结,靠耗尽近似 |
| SIMS | 元素浓度-深度分布 | 化学浓度(含未激活) | 破坏性,标样依赖强 |
| 扩展电阻 SRP | 载流子浓度-深度分布 | 电活性浓度 | 探针接触、结深附近分辨率下降 |
| 四探针 | 方块电阻 | 电学综合量 | 需配合结深才能反推浓度 |
一条实用原则:SIMS 剖面给出的是总杂质浓度,霍尔和 CV 给出的是电活性浓度,两者相除就是激活率。如果 SIMS 显示杂质很多但霍尔测到的载流子明显偏少,问题通常出在退火不充分、杂质落在间隙位置或者形成了团簇,而不是扩散或注入的剂量算错了。
5. 用实测方块电阻反推掺杂浓度与补偿比
工程上更常见的场景是只有电学测试数据,要从方块电阻和结深反推电活性浓度。区块电阻和结深、迁移率的关系可以直接反解,得到的是有效电活性面浓度。
q = 1.602e-19 R_sh = 120.0 # 实测方块电阻, Ω/sq x_j = 0.35 # 结深, um mu = 200.0 # 由霍尔测试得到的迁移率, cm^2/V·s x_j_cm = x_j * 1e-4 N_eff = 1.0 / (q * mu * R_sh * x_j_cm) # 有效电活性体浓度, cm^-3 print(f"有效电活性浓度 ≈ {N_eff:.3e} cm^-3")这里的 N_eff 是平均到结深上的有效浓度,实际情况并非均匀分布,高浓度集中在表面附近时这个平均值会低于峰值浓度。更精细的做法是把 SRP 或 CV 得到的浓度剖面分段积分,每段用对应浓度下的迁移率,再求和得到面浓度和方块电阻,能较好地还原剖面形状。
补偿比是排错时最容易被忽略的一项。n 型区的电活性浓度不是 N_D,而是有效值 N_D − N_A。当注入 n 型杂质的区域本身有较高背景 p 型掺杂,或者工艺引入了反型杂质,实测载流子浓度会明显低于预期,但 SIMS 上的施主总量却是对的,这种偏差会随着补偿比接近 1 而急剧放大。遇到激活率看起来很低的情况,先算一遍背景掺杂浓度,再判断是不是补偿问题。
温度相关参数也要一起看。迁移率随温度下降而上升,本征载流子浓度随温度上升而快速上升,两条曲线方向相反,导致高温下用固定迁移率反推的浓度会偏大。可靠做法是在器件工作温度下重测霍尔,用实测迁移率而不是查表值去反推浓度,这一步能把中高温下的浓度偏差压下来。最后一点落在剖面验证上:反推得到的浓度用 SIMS 剖面交叉核对,确认峰值位置和积分剂量,两块数据对得上,掺杂工艺窗口才算真正锁定。
本文还有配套的精品资源,点击获取