用 SProcess 真工艺流程复刻一个 CCD-in-CMOS TDI 像素的电荷传输截面, 并完成满阱容量、量子效率、三相时序势阱的定量验收。
这个仓库真正想讲的不是结果,是过程中三次「仿真跑完了、结果是错的」如何被拦下来。
![]()
SProcess 真工艺生成的器件截面,净掺杂分布。8 个独立电极,总宽 10.50 µm。
核心结果 · 方法论 · 三次失败 · 仓库结构 · 复现 · English
在 Sentaurus TCAD 上,从离子注入/退火/刻蚀一路做到器件电学与光学特性, 对标一篇公开学位论文(郭思语,CCD-in-CMOS TDI 像素设计)的 C1 截面结构, 交付满阱容量、量子效率、三相时序势阱三组可追溯数据; 过程中建立了一套五道门禁,先后拦下三次「表面正常、实则无效」的仿真结果。
| 项目 | 内容 |
|---|---|
| 工具链 | Sentaurus TCAD P_2019.03(SProcess / SDevice / SVisual + TMM 光学) |
| 结构生成 | SProcess 真工艺(真实注入 + 退火 + 刻蚀 + 淀积),非 SDE 解析掺杂 |
| 器件 | 三相 CCD(P1/P2/P3)→ TG → FD → RST → RD,8 电极,10.50 µm |
| 时钟 | 0 / +2.0 V |
| 交付 | 满阱容量、量子效率、三相时序七态势阱与电子浓度 |
| 硬件约束 | 仿真机 3.7 GB 内存 → 所有求解严格串行 |
势垒限满阱,差分口径,参考态为 TG 复位后的真空阱:
| 单相收集 (P2 = 2 V, 阱宽 1.90 µm) |
双相收集 (P1 = P2 = 2 V, 阱宽 4.05 µm) |
双相/单相 | |
|---|---|---|---|
| 满阱信号电荷 | 3008 e⁻/µm | 4993 e⁻/µm | 1.66× |
| 其中埋沟道 | 2757(91.6 %) | 4723(94.6 %) | 1.71× |
| 其中表面 | 251(8.4 %) | 270(5.4 %) | 1.08× |
| 空阱势垒余量 | 752.6 mV | 626.3 mV | 0.83× |
| 填满后高出 P3 势垒 | 11.5 mV | 10.6 mV | — |
为什么是 1.66× 而不是面积比 2.13×:抬高 P1 的同时也抬高了 P3 势垒,
填阱可用的电势降幅由 448.8 mV 变化到 468.1 mV,而空阱势垒余量降到 0.83 倍,
面积增益被余量下降部分抵消。2.13 × 0.83 = 1.77,与实测 1.66 同量级。
三项独立自洽性校核(都不依赖任何拟合常数):
- 填满后阱只比 P3 势垒高 11 mV → 教科书式的势垒限满阱,确实填到势垒口
- 由实测电荷与实测电势降幅反推等效面电容
C_eff = Q/(A·Δφ): 单相 5.65×10⁻⁸、双相 4.22×10⁻⁸ F/cm², 而埋沟道理论值ε_Si/x̄ ∥ Cox = 4.19×10⁻⁸ F/cm²→ 吻合,且与「92–95 % 电荷在埋沟道」一致 - 面积 × 余量的解析预估 1.77 vs 实测 1.66
| 波长 | 硅内 QE | 多晶硅栅吸收 | 表面反射 |
|---|---|---|---|
| 400 nm | 1.8 % | 47.2 % | 47.0 % |
| 500 nm | 30.8 % | 30.7 % | 33.5 % |
| 700 nm | 43.7 %(峰值) | 5.8 % | 6.5 % |
| 900 nm | 7.7 % | 1.0 % | 35.9 % |
R + T + A = 1 逐点校验,八个波长偏差均在 10⁻¹² 量级。
⚠️ 一个容易犯的口径错误:TMM 直接输出的总吸收 A 包含了被多晶硅栅吃掉的部分。 400 nm 处 A = 53.0 %,而真正进入硅的只有 1.8 % —— 相差 29 倍。 本项目一律取「硅内光生率积分 ÷ 入射光子通量」。
![]()
亮区为势阱。势阱随时钟相位由 P1 → P2 → P3 逐格移动;相邻两相同时抬高时合并。
| 状态 | P1 | P2 | P3 | 势阱峰值 | 峰值位置 |
|---|---|---|---|---|---|
| S0 初始态 | 0 | 0 | 0 | 0.3752 V | 7.17 µm(栅下无阱) |
| S1 | 2.0 | 0 | 0 | 1.2465 V | 1.43 µm |
| S2 | 2.0 | 2.0 | 0 | 1.3519 V | 3.17 µm |
| S3 | 0 | 2.0 | 0 | 1.3153 V | 3.52 µm |
| S4 | 0 | 2.0 | 2.0 | 1.3589 V | 3.67 µm |
| S5 | 0 | 0 | 2.0 | 1.3123 V | 5.58 µm |
| S6 | 2.0 | 0 | 2.0 | 1.3306 V | 5.42 µm |
七个状态的窗口内电子数均保持 1.65–1.71 e⁻/µm,确认求解全程势阱未被热生成填满。
| 物理量 | 实测(SProcess) | 论文目标 | 判定 |
|---|---|---|---|
| 埋沟道净掺杂峰 | 1.963×10¹⁶ cm⁻³ @ 103 nm | 反推约 2.07×10¹⁶ | ✅ 差 5 % |
| 表面 P+ 钳位层 | −1.077×10¹⁸ cm⁻³,厚 54 nm | — | ✅ |
| 势阱峰位置 | 0.266 µm | 约 0.3 µm(图 3-16) | ✅ |
| 外延层厚度 | 2.3 µm | 约 2.3 µm | ✅ |
| 栅极间距 | 0.25 µm | 250 nm(p.60) | ✅ |
器件行为有太多旋钮(注入剂量/能量、退火、几何),在器件结果上试错会越调越偏—— 你会用一个错误去补偿另一个错误,最后得到一个「数对了但物理错了」的结构。
论文给定的是掺杂剖面,自由度少,是 ground truth。 本项目的做法:每做一步先问「剖面还对得上论文吗」→ 提取净掺杂剖面 → 逐区对照 → 对上了再做器件。
仿真跑完 ≠ 结果有效。本项目最终形成的判据链:
| # | 门禁 | 拦截的失败模式 |
|---|---|---|
| 1 | 退出码为 0 | 崩溃 |
| 2 | 日志含 Sentaurus Device simulation finished |
中途退出 |
| 3 | 日志不含 Step-size less than MinStep |
ramp 中途失败但仍写出结果文件(曾导致 11 小时无效运行) |
| 4 | 复位是否真的抽干(复位后电荷 / 初态 < 0.5) | 参考态其实是满的 |
| 5 | 填阱是否收敛(最后两快照漂移 < 1 %) | 停机点落在过冲峰上 |
前三条只保证「程序按 deck 正确跑完」,不保证 deck 给的条件是对的。 第 4、5 条是本项目用三次翻车换来的。
💡 门禁排序原则:把最便宜的检查排在最贵的步骤之前。 复位门禁前置一次,就省下两个各约一小时的填阱运行。
满阱 = ∫n(填满) − ∫n(空阱)。直接积分填满态会把背景电子一并计入, 本项目首次计算就因此高估约十倍(8.39×10⁴ vs 实际量级)。
这一节是整个项目最有价值的部分。三次失败全部通过了前三道门禁,
Good Bye! 照常打印,是靠自校验和物理量级判断才发现的。
现象:填阱瞬态设 FinalTime = 1e-4 s,三重门禁全过。
追查:追加饱和性检查,逐个载入最后 9 个瞬态快照 → 电子数仍在单调下降, 最后一个绘图间隔内仍变化 −2.14 %,从未变平。
真相:延长到 3e-3 s 后看到完整轨迹 ——
t=0: 3182 → t=1e-4: 9890(过冲峰)→ t≥8e-4: 3010(稳定)。
首轮的停机点恰好落在过冲峰附近,纯属巧合。
教训:核心结论(双相/单相比值)在 t=5.6e-5 s 时是 1.63,t=1.0e-4 s 时是 1.27 —— 一直在漂。
现象:延长瞬态、真正收敛后,差分满阱变成了负数(−173 e⁻/µm)。 照光稳态下的电子数反而少于未照光的参考态。
追查:对参考态单独做同样时长的瞬态 → 3 ms 内七位有效数字完全不变。 说明 DC 解是瞬态方程的不动点,参考态本身没问题。
真相:填阱流程缺少复位步。真正的 fill-and-spill 是「复位 → 积分 → 饱和」三步, 而 deck 只有后两步。DC 稳态下 SRH 热生成会把任何孤立势阱一直填到溢流为止 (收集阱底比 TG 势垒高 508 mV,电子没有排出通路)。 两个都接近满的状态相减,自然得到接近零的小负数。
修复:加复位瞬态。第一次尝试只抬高 TG 到 3.3 V —— 只排走 24 %, 因为本结构栅控斜率只有约 0.17 V/V,TG 加到 3.3 V 其电势也只到约 1.0 V, 刚过阱电势 0.93 V,排空一开始阱电势就升上来与之持平即停。
势阱不能靠「在它上方开一扇门」排空,必须「倾倒」 —— 复位期间把收集相同步拉低到 0 V。改法之后残留 1.66 e⁻/µm(0.05 %)。
这次失败的派生错误:坏参考态还导致电荷分配被算反 —— 一度得出「表面占 84 %」,用真空阱重算后表面实际只占 8.4 %,相差十倍。 据此推断的「器件在表面沟道工作」结论完全不成立,已撤回。
现象:为省机时,尝试用准静态(Quasistationary)电压斜坡取七个时钟状态。 sdevice 正常结束,无任何收敛失败标志。
追查:提取后自校验 → S0 的阱被重新填满至 11311 e⁻/µm, S3 之后发散到 10⁵ ~ 10⁹ V。
真相:空阱不是本结构的 DC 解。DC 稳态就是被热生成填满的阱, 准静态求解器从空阱出发只会把它填回去或发散。空沟道只能作为瞬态存在。
-
p+ 钳位层的裕量问题:按实测剖面积分,钳位层净受主 2.57×10¹² cm⁻², 而栅在 2.0 V 下可提供 5.39×10¹² cm⁻²(2.09 倍)。 简单电荷预算判断表面应当反型 —— 但实测表面只拿走 8.4 % 的信号电荷。 该解析判据高估了表面的作用,因为它忽略了埋沟道耗尽施主的正电荷、 以及阱内电荷自身对栅的屏蔽。
-
0–2 V 摆幅的硬约束:夹断电压
V_p = q·D/Cox + q·D·x̄/ε_Si = 1.99 V, 已贴住 2 V 摆幅的上限。要按文献典型的深埋沟道(1.4×10¹² @180 keV)设计,V_p会变成 11.16 V —— 必须先放宽摆幅。 现有的浅而轻的埋沟道不是设计失误,而是 0–2 V 摆幅唯一允许的取值。 -
p+ 钳位层单端接地导致的横向弛豫:时钟切换后势垒区电位需沿钳位层横向重新分布, 实测时间常数约 15 µs。而公开报道的 CCD-in-CMOS TDI 行频 270 kHz 对应行周期仅 3.7 µs —— 真实器件工作时该层本就处于未完全沉降状态。
-
二维的边界:论文 3.4 节明确指出满阱与像素电容需三维模型才能定量准确。 本项目以「每 µm 沟道宽度」为交付原始量,按像素宽度的线性折算值仅作量级参考。
.
├── README.md / README.en.md
├── docs/
│ ├── methodology.md 方法论:剖面对标、门禁体系、口径定义
│ ├── lessons-learned.md 三次失败的完整追查记录
│ └── physics-notes.md 钳位层裕量、摆幅约束、弛豫时间的定量分析
├── figures/ 全部插图(含论文原文对照页)
├── sim/
│ ├── process/ SProcess 工艺 deck(结构可复现)
│ ├── device/ SDevice deck(静态 / 复位 / 填阱 / 时序 / 光学)
│ ├── extract/ SVisual 提取脚本(含门禁脚本)
│ └── run/ 串行运行链(含五道门禁)
├── results/ 全部实测 CSV,报告中每个数值均可追溯至此
├── reports/ 完整验收报告(docx,中文)
└── scripts/ 绘图脚本(matplotlib)
# 1. 结构(SProcess 真工艺)
cd sim/process && sprocess c1_v2_fps.cmd
# 2. 静态验收 + 量子效率
bash sim/run/run_c1_v4.sh
bash sim/run/run_qe_sweep.sh
# 3. 满阱(复位 → 填阱 → 提取,含两道门禁)
bash sim/run/run_c1_v4d.sh
# 4. 出图
cd scripts && python draw_v4_compare.py && python qe_v4_plots.py任一门禁不通过即中止且不产生结果文件。仿真机内存有限时,所有求解必须串行。
| 项 | 说明 |
|---|---|
| 二维近似 | 满阱绝对值需三维模型;本项目给单位宽度值,线性折算值仅供量级参考 |
| 抗光晕 | ABG/ABD 位于正交的 C2 截面,二维 C1 模型无法包含 |
| 暗电流 | 未评估。p+ 钳位层的解析裕量偏紧,真正受影响的是暗电流而非满阱 |
| 栅间隙 | 本模型中为真空(struct !Gas),真实器件由介质填充,该差异未量化 |
| CTE | 转移效率仿真依赖 SRH 寿命参数,该参数未针对本结构标定,结果不可用 |
| 势垒电平 | 七态中非收集相的势垒绝对电平未完全沉降,依赖时钟历史 |
- 郭思语,《基于 CCD-in-CMOS 工艺的高性能 TDI 图像传感器像素设计研究》 (复刻对象为图 3-13(c) 的 C1 剪切线截面,p.60–61)
- imec, Charge-Coupled CMOS TDI Imager, IISW 2017
- MPP / 反型模式 CCD 相关专利与技术文档
本仓库所有数值均来自实际仿真产生的 CSV,可逐条追溯至对应的 deck、日志与提取脚本。 所有已知的近似、口径选择与残留问题均已在文档中列明。