Python编程生成可调整CP测试地图:灵活修改标准
77 浏览量
更新于2024-08-03
收藏 966KB DOCX 举报
在半导体行业的芯片生产过程中,遇到的一个挑战是如何在cp测试完成后,根据新的测试标准重新生成map图,以便优化编带流程。原始的map图是基于探针设定的测试标准生成的,无法直接修改。该问题的核心在于调整每个芯片的测试指标,比如IL、Ripple、Attenuation(Atten_1、Atten_2、Atten_3)、VSWR(VSWR_1、VSWR_2)和FC等的合格区间(LL dB 和 LU dB)。如果放宽这些标准,更多芯片将符合要求,从而提高编带量和出货率。
解决这个问题的关键步骤如下:
1. 数据处理与分析:首先,使用Python的pandas库读取包含芯片测试数据的Excel文件,如图2所示,这个数据包含了芯片ID(No列)、坐标(XY列)以及各个性能指标的实际测量值。软件会通过比较每个芯片的性能数据与预设的测试标准(LL dB 和 LU dB)来确定是否达到合格条件,这一步骤使用了一个函数is_within_s(),可能包含判断条件和循环遍历所有芯片。
```python
import pandas as pd
import os
import tkinter as tk
from tkinter import filedialog, ttk
def is_within_s(data_row, ll, lu):
for i, (col_name, col_value) in enumerate(zip(['IL', 'Ripple', 'Atten_1', 'Atten_2', 'Atten_3', 'VSWR_1', 'VSWR_2', 'FC'], data_row)):
if not (ll[i] <= col_value <= lu[i]):
return False
return True
# 读取测试数据并计算softbin值
data = pd.read_excel('input_file.xlsx')
softbin_values = data.apply(is_within_s, axis=1, args=(data['LL'].values, data['LU'].values))
```
2. 软件交互与用户界面:为了方便操作,可以创建一个简单的GUI(图形用户界面),让用户选择原始地图文件和新的测试标准参数文件。使用tkinter库可以实现文件选择对话框,用户输入或选择LL dB 和 LU dB 的新值,并应用到整个数据集上。
```python
def select_files():
input_map = filedialog.askopenfilename()
new_standard = filedialog.askopenfilename()
# 在这里读取新标准文件并更新测试范围
# ...
root = tk.Tk()
button = ttk.Button(root, text="Select Files", command=select_files)
button.pack()
root.mainloop()
# 更新软bin值并保存新map
data['Softbin'] = softbin_values
new_map = data[['XY', 'Softbin']].to_csv('new_map.csv', index=False)
```
3. 生成新的map图:最后,根据得到的软bin值(0或1表示不合格或合格)以及芯片的坐标信息,生成新的map图。这个图可以是简单的二维图或者更复杂的可视化图表,显示哪些区域的芯片符合新标准,哪些需要单独处理。
```python
import matplotlib.pyplot as plt
plt.scatter(data['XY'].iloc[:, 0], data['XY'].iloc[:, 1], c=data['Softbin'], cmap='viridis')
plt.xlabel('X Coordinate')
plt.ylabel('Y Coordinate')
plt.title('New CP Test Map')
plt.show()
```
总结起来,通过编程实现的数据处理和分析,结合用户界面,可以灵活地根据新的测试标准生成适应性更强的map图,提高芯片编带的效率和出货率。这种方法不仅适用于当前的案例,也具有通用性,可以应用于其他类似的需要动态调整标准的测试场景。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-11-05 上传
2022-05-02 上传
2021-02-08 上传
2023-11-16 上传
2021-02-19 上传
2024-10-20 上传
阿拉伯梳子
- 粉丝: 2493
- 资源: 5734
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析