C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位。 主要用在晶圆图谱识别。
基于对原始代码的深入分析,这是一套完整的晶圆测试Mapping图可视化与分析系统,主要用于半导体制造过程中的晶圆测试数据展示和分析。
系统架构概览
核心数据流
XML晶圆测试数据 → 文本格式转换 → 二维数组映射 → 图形化显示 → 交互分析详细功能模块
1. 数据解析与转换模块
XML解析引擎
- 读取标准晶圆测试XML文件(如:
晶圆 009.6TFH34305.1_09.xml) - 解析节点中的芯片状态矩阵(348行×336列)
- 支持多种芯片状态编码:
1:合格芯片(PASS)X:失效芯片(FAIL).:边缘芯片(OUTSIDE)::跳过芯片(SKIPDIE)/:边缘芯片(EDGEDIE)
数据格式转换
- XML → TXT 格式转换(Form2)
- TXT文本 → 二维数组映射
- 支持大尺寸数组(500×500)存储芯片状态
2. 图形渲染引擎
像素级绘图系统
// 核心渲染参数 int i_bigwalk = 3; // 芯片显示步长 int i_smallwalk = 2; // 芯片像素大小 // 颜色映射系统 i_all[i, j] = 0; // 绿色 - 正常状态 i_all[i, j] = 1; // 红色 - 合格芯片 i_all[i, j] = 2; // 灰色 - 无效/跳过 i_all[i, j] = 3; // 蓝色 - 特殊标记实时刷新机制
- 多线程图形刷新(Task任务)
- 动态Bitmap生成与显示
- 局部放大镜功能(pictureBox2显示选中区域)
3. 晶圆导航系统
四种行走模式
- 模式0:从上到下,从左到右
- 模式1:从下到上,从左到右
- 模式2:从左到右,从上到下
- 模式3:从右到左,从上到下
蛇形走位算法
// 智能换行逻辑 if (i / i_bigwalk % 2 == 0) { // 正向遍历 for (int j = b; j < pictureBox1.Height; j += i_bigwalk) } else { // 反向遍历 for (int j = pictureBox1.Height; j >= 0; j -= i_bigwalk) }4. 精确定位与标记系统
坐标定位
- 输入行列坐标直接定位(textBox1, textBox2)
- 鼠标点击交互定位
- 实时坐标显示(label2, label3)
闪烁标记机制
- 独立闪烁线程控制
- 蓝绿交替闪烁效果
- 暂停/恢复闪烁控制
统计功能
- 实时显示跨过芯片数量(label1)
- 当前位置状态查询
- 行走过程统计
5. 多窗体协同工作
Form1 - 主分析界面
- 晶圆图主显示区(1080×1080像素)
- 控制面板与状态显示
- 行走模式选择与执行
Form2 - 数据工具界面
- XML到TXT格式转换
- 数组数据验证
- 指定位置状态查询
技术特色
实时性能优化
- 多线程异步处理,避免UI阻塞
- 基于Task的并行计算
- 动态资源管理
交互体验
// 线程安全的UI更新 public void Show_Label(Label lable, string str) { if (lable.InvokeRequired) { Action<Label, string> eee = Show_Label; this.BeginInvoke(eee, new object[] { lable, str }); } }可扩展架构
- 模块化功能设计
- 参数化配置系统
- 易于功能扩展
应用场景
- 晶圆测试数据分析- 直观展示测试结果分布
- 探针台路径规划- 优化测试行走路径
- 质量统计分析- 快速定位失效芯片集群
- 生产过程监控- 实时监控晶圆测试状态
- 教学演示工具- 展示晶圆测试原理和流程
系统要求
- .NET Framework 4.6.1
- Windows Forms应用程序
- 支持标准晶圆测试XML数据格式
这套系统为半导体晶圆测试提供了完整的可视化分析解决方案,从数据解析到图形展示,再到交互分析,形成了一套完整的工作流程。
C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位。 主要用在晶圆图谱识别。