前言如果你是半导体质量工程师或工艺工程师SPC和CPK是必修课。但很多新人只会看图不知道背后的统计原理更不知道怎么用Python自动化计算。本文用实战案例Python代码带你从零掌握SPC与CPK。一、SPC统计过程控制1.1 什么是SPCSPC Statistical Process Control统计过程控制一句话理解用统计方法监控生产过程是否稳定提前发现问题。预防坏片而不是事后检验核心是控制图Control Chart结合CPK/PPK判断过程能力1.2 常用控制图Xbar-R图子组大小2-9监控均值和极差Xbar-S图子组大小10监控均值和标准差I-MR图子组大小1单值监控单点和移动极差P图监控不良率比例数据C图监控缺陷数计数数据1.3 8大判异规则Western Electric RulesWECO Rules1个点超出3σ控制限连续3个点中有2个在2σ以外同侧连续5个点中有4个在1σ以外同侧连续8个点在中心线同一侧连续6个点递增或递减连续14个点交替上下连续15个点都在1σ以内分层连续8个点在1σ以外混合二、CPK过程能力指数2.1 CPK计算公式CPK min(CPU, CPLCPU (USL - Xbar) / (3 * σCPL (Xbar - LSL) / (3 * σ其中USL Upper Spec Limit规格上限LSL Lower Spec Limit规格下限Xbar 过程均值σ 总体标准差用Rbar/d2估算2.2 CPK等级解读CPK ≥ 2.0 → 世界级6σ2.0 ≥ CPK ≥ 1.67 → 优秀5σ1.67 ≥ CPK ≥ 1.33 → 良好4σ1.33 ≥ CPK ≥ 1.0 → 合格3σ1.0 ≥ CPK ≥ 0.67 → 勉强2σCPK 0.67 → 不合格2σ2.3 CPK vs PPKCPK 潜在过程能力短期组内变异PPK 实际过程性能长期总变异一般要求CPK ≥ 1.33PPK ≥ 1.0三、Python实战计算CPK3.1 数据准备假设我们测量25组晶圆厚度每组5个测量值目标值100μmUSL105LSL95。3.2 Python代码实现完整代码已包含在下载包中这里展示核心片段import mathimport statisticsdef calculate_cpk(data, usl, lsl):计算CPKn len(data)if n 2:return None, None, Nonexbar statistics.mean(data)stdev statistics.stdev(data) # 样本标准差# 总体标准差估计用c4系数修正cpu (usl - xbar) / (3 * stdev) if stdev 0 else 0cpl (xbar - lsl) / (3 * stdev) if stdev 0 else 0cpk min(cpu, cpl)return round(cpk, 3), round(cpu, 3), round(cpl, 3)3.3 实际运行结果测量25组数据后运行上述代码CPK 1.52 → 良好4σ水平CPU 1.68 → 上限方向有余量CPL 1.52 → 下限方向有余量建议过程稳定可小幅优化参数以降低变异四、半导体行业SPC特殊要点4.1 晶圆级SPC每片晶圆测量9/13/17个点取决于制程控制图按Lot建立不是按晶圆需同时监控厚度、折射率、应力等多个参数4.2 设备SPCCVD/ETCH/PHO等设备的腔体温度、压力、RF功率每片晶圆监控建立设备级控制图发现漂移立即报警FDC系统集成4.3 过程能力持续改进Phase 1建立控制图过程稳定CPK ≥ 1.0Phase 2降低变异提升CPKCPK ≥ 1.33Phase 3优化参数接近6σCPK ≥ 2.0--- 关注我每天分享半导体智能制造干货 有问题评论区留言必回 我的CSDN资源积分兑换持续更新1. 《晶圆检查可视化工具》Python完整源码2. 《简单标签管理系统》小工厂数据管理神器3. 《SPC控制图分析工具》质量管理必备4. 《MES系统设计文档模板》企业级模板5. 更多CIM工具OEE/SECS-GEM/FDC/MES/EAP/APC... 访问主页下载https://blog.csdn.net/yeflashzhihui