晶圆缺陷空间图谱分类器|SPC实战工具
这个工具解决什么问题
质量工具的价值在于让不同人算同一批数据能得到同一个答案,而不是算得更花哨。
晶圆缺陷的「空间分布形态」直接指向不同根因:边缘环状 → 边缘刻蚀/清洗/光刻问题; 中心聚集 → 涂胶显影/旋涂/中心温控;线状划痕 → 机械手、卡匣、CMP 抛光垫; 局部簇 → 单点颗粒源或掩模缺陷。人工判图既慢又不一致。 本工具把形态转成可量化特征(半径分布、角度均匀性、PCA 线性度、栅格聚集度), 自动给出形态标签、置信度与中文结论,并打印 ASCII 晶圆图便于目视核对。
输入数据格式
数据文件 wafer_defect.csv,列顺序为:wafer_id、die_x、die_y、is_defect。
示例首行:W2603001,-54.15,135.4,1
示例输出(真实运行结果节选)
============================================================================ 晶圆缺陷空间图谱分类报告 晶圆数:8 片 晶圆半径:150 mm 边缘带阈值 r/R≥0.85 中心区阈值 r/R≤0.30 ============================================================================ 【一、全批形态分布】 局部簇 3 片 ███ 随机分布 2 片 ██ 混合形态 2 片 ██ 边缘环状 1 片 █ 【二、逐片判定结果】 晶圆 缺陷数 缺陷密度 形态判定 置信度 关键特征 W2603001 130 0.1839/cm² 随机分布 0.75 边缘33% 中心9% 线性比0.866 最大栅格2% W2603002 210 0.2971/cm² 边缘环状 0.99 边缘100% 中心0% 线性比0.908 最大栅格3% W2603003 150 0.2122/cm² 混合形态 0.99 边缘0% 中心100% 线性比0.717 最大栅格13% W2603004 95 0.1344/cm² 混合形态 0.99 边缘14% 中心30% 线性比0.001 最大栅格10% W2603005 120 0.1698/cm² 局部簇 0.99 边缘0% 中心0% 线性比0.718 最大栅格25% W2603006 240 0.3395/cm² 局部簇 0.83 边缘46% 中心18% 线性比0.472 最大栅格5% W2603007 42 0.0594/cm² 随机分布 0.75 边缘38% 中心5% 线性比0.592 最大栅格5% W2603008 190 0.2688/cm² 局部簇 0.81 边缘48% 中心52% 线性比0.942 最
晶圆缺陷空间图谱分类器
> 半导体良率工程师 Python 实战工具 · 核心功能零第三方依赖
文件内容
· wafer_pattern_classifier.py:主程序(Python 3.8+,零第三方依赖) · wafer_defect.csv:示例数据(8 片晶圆,覆盖 5 种形态),无数据时自动生成 · wafer_pattern_report.txt / wafer_pattern.csv:中文报告与逐片特征明细 · 附赠提示词.txt:同主题 AI 提示词 1 套
运行方法
python wafer_pattern_classifier.py python wafer_pattern_classifier.py 我的数据.csv
输入数据格式
wafer_defect.csv:wafer_id, die_x, die_y, is_defect · die_x / die_y 为坐标;若为 die 序号,工具会按 DIE_PITCH_MM 换算成 mm 半径 · is_defect:1 = 缺陷点,0 = 正常点(正常点只参与总数统计)
输出说明
1. 全批形态分布:5 类形态各占几片(带条形图) 2. 逐片判定结果:缺陷数、缺陷密度(颗/cm²)、形态标签、置信度、关键特征 3. 逐片详细分析:特征值明细 + 根因方向 + ASCII 晶圆图(≤12 片时打印) 4. 判读规则说明:所有阈值的判定口径,便于自行调整
可调参数(文件顶部)
· WAFER_R_MM:晶圆半径(默认 300mm 片取 150) · DIE_PITCH_MM:die 步距,用于 die 序号→mm 换算 · EDGE_BAND / CENTER_BAND:边缘带与中心区的归一化半径阈值 · GRID:空间栅格分辨率,影响局部簇检测灵敏度 · MIN_PTS_FOR_PATTERN:缺陷数低于该值不做形态判定
结果怎么读
· 「边缘环状」要求边缘缺陷占比高且角度铺开(≥60% 扇区有缺陷),否则会被判成局部簇 · 「线状划痕」靠 PCA 的 λ2/λ1 ≤0.14 且垂直散布 ≤12mm 识别 · 「混合形态」会同时列出命中的子形态——通常边缘问题会掩盖其他形态,先解决边缘
可调参数与计算口径
脚本顶部集中了主要阈值与常量:DATA_CSV=os.path.join(BASE, "wafer_defect.csv")、OUT_CSV=os.path.join(BASE, "wafer_pattern.csv")、PATTERN_CN={、ROOT_CAUSE={。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:wafer_defect.csv、wafer_pattern_report.txt、wafer_pattern.csv。
脚本里的主要处理步骤
gen_demo():生成 8 片晶圆,覆盖随机/边缘环/中心/划痕/局部簇/混合 5 类形态。pca_linearity():返回 (λ2/λ1, 主轴拟合 R², 垂直方向标准差)classify():defects: [(x,y), ...];返回 (标签, 置信度, 特征字典)ascii_map():打印 ASCII 晶圆图
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 位置分布形态
- 边缘环状
- 中心聚集
- 线状划痕
- 随机分布
- 混合形态
- 缺陷过少不足以判形态
- 优先查中心相关工艺:涂胶/显影中心喷嘴、旋涂转速与胶量、中心温控、中心气路
- 优先查机械传动:机械手/传输路径、卡匣与吸盘摩擦、CMP 抛光垫与研磨液、载具磨损
- 优先查局部污染源:单点颗粒源、掩模局部缺陷(重复出现的固定位置)、局部气流死区
- 随机分布说明无明确空间根因,应从整体洁净度、颗粒基线、过滤效率、人员操作规范入手
- 同时存在多种空间结构,建议先按特征强弱拆分;通常边缘问题会掩盖其他形态
- 缺陷样本过少,无法可靠判定形态;建议放宽缺陷判定阈值或累积更多片次再分析
- 生成 8 片晶圆,覆盖随机/边缘环/中心/划痕/局部簇/混合 5 类形态。
- 返回 (λ2/λ1, 主轴拟合 R², 垂直方向标准差)
- defects: [(x,y), ...];返回 (标签, 置信度, 特征字典)
- 打印 ASCII 晶圆图
- 未提供数据文件,已生成示例数据:%s(%d 片晶圆)
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:wafer_pattern_classifier.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 4 列:wafer_id、die_x、die_y、is_defect。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
所属分类 SPC与质量分析工具包,也可回到 工具资源包下载页 按分类查找。





