STDF-Viewer 解析工具说明

一、简介

1. 概述

        STDF(Standard Test Data Format)(标准测试数据格式)是半导体测试行业的最主要的数据格式,包含了summary信息和所有测试项的测试结果;是半导体行业芯片测试数据的存储规范。

        在半导体行业,每粒芯片在投放市场之前都要经过两道严格的测试,分别是 封装之前的CP测试 和封装之后的FT测试 ,之前(开发STDF之前)不同厂商提供的测试机会生成不同格式的测试结果,这会导致测试结果的转换、分析和存储变的非常困难,STDF规范就是为解决这一问题而诞生的。

        它由Teradyne开发,统一了各项测试结果的数据格式,只要测试机供应商支持该规范,那么生成的测试数据就可以很容易的被解析成结构化数据,并保存到数据库,后续的数据分析因此而变得更加容易且全面。

https://img-blog.csdnimg.cn/63351b642ea847c2b0651c61cd369fa9.png

2. 所解决的问题

        其采用统一格式/规范保存着CP或FT芯片测试所能产生的所有类型的测试数据,解决了芯片测试行业不同品牌测试机所生成的测试数据格式不统一的问题。

3. STDF规范特点

提供一个通用的格式来保存和转换测试数据,所以可以来保存所有厂商提供的芯片测试机的测试结果

虽然STDF规范了很多 记录/字段 类型,但实际应用时可以根据需要灵活 存or取 其中的一部分

每个STDF文件都是一个独立的数据库,保存着所有类型的测试数据,所以用户只需相应的STDF文件即可对测试结果进行全面的分析

4. 优点

        STDF规范采用了统一格式保存所有测试数据,所以通常情况下只需要解析一个STDF文件就可以对芯片测试结果作360°全方位的分析,无论是基于Lot的分析,基于Wafer的分析(CP),还是基于Die的分析,甚至是每个测试项的分析都可以轻松胜任,这便是它的最大优势。

5. 局限性

        因为要把所有测试数据都保存在一个文件里,导致文件很大,动辄就几个G,因此在以下方面具有局限性:

规范复杂性、专业性强:

        如: 数据效验bit位、半字节数据类型、不定长度的数组、大/小端字节序的区分、衬垫字段等概念还是挺让人难以理解的;此外,它的实际数据是以二进制形式保存到文件中的,即一个STDF实际上会是一个二进制的文件,并非ASCII字符的明文字符,所以无法直接打开查看结果,需要解析后才能看到具体数据。基于上述复杂性,解析它其实相当不容易,开发人员至少得具备测试机工作原理、芯片测试、程序开发这3项专业性相当强的专业技能才能胜任。

存储空间大:

        因为文件很大,所以单个文件就需要很大的存储空间,而一般测试企业每天能完成几十个甚至几百个Lot的测试,就是说对于芯片测试企业每天光STDF就能消耗几百G到1T的磁盘空间,而且因为数据是不断生成的,对磁盘的I/O要求也很高,所以对企业的存储服务器要求很高,成本较大。

传输时间长&传输设备要求高:

        绝大部分芯片测试企业的客户会要求将STDF文件传给他们,如上文所述,这么大量的数据要通过互联网分别传送给不同客户,往往需要较长的时间,测试企业为了满足客户要求,及时将测试数据传给客户,往往不得不架设多台服务器同时上传,对企业的IT基础设施建设(网络带宽&服务器)要求也很高。

解析速度慢&失败率高:

        因为文件很大,所以解析STDF文件的时候速度较慢,且会大量消耗内存(解析后的数据往往也必须先保存在内存中,再转存到数据库或ASCII码文件),所以解析过程往往不太顺利,因为很容易中断。

        以上局限性在一定程度上限制了STDF的应用范围,大部分半导体企业往往只能利用他人开发的转换工具解析STDF文件并保存为txt或Excel文件,较难做到系统化的解析测试结果并存储到数据库,也就很难用STDF实现系统化的数据分析。

二、STDF数据介绍

1. 规范介绍

        STDF 以二进制字节流的形式保存,包含最多 25 种类型的测试数据(测试程序可能会根据实际情况只写入必要数据,所以并非所有 STDF 文件都会包含 25种类型的测试数据),文件的前 6 个固定字节是 FAR (File Attributes Record.信息,其它24 种类型的测试数据在整个 STDF 文件中的位置和长度都不固定但都以 4个字节的头信息开始,头信息后则是具体的测试数据内容,头信息包括:

https://img-blog.csdnimg.cn/3838f144fc14456c961b0ef39b867252.png

2. 测试数据记录分组和类型

        如上表所述,STDF 文件中每种类型测试数据开始前的 4 个字节中的第 3 个字节会指定记录类型所属的第一类别信息,即 REC_TYP ;第 4个字节指定记录类型所属的第二类别信息,即 REC SUB,REC TYP 和 REC SUB 组合则形成了测试数据记录在整个 STDF 文件中的唯一类型标识。下面列出 REC_TYP 和REC SUB 的值范围和组合后代表的测试数据记录类型:

https://img-blog.csdnimg.cn/cac709c3795249beaa5b037a1cf9cf7a.png

https://img-blog.csdnimg.cn/69b160884a7f44f1a7d278b8100ef41f.png

https://img-blog.csdnimg.cn/f22217fe497844848b81e3963e5c1ab1.png

3. 字段值数据类型

        STDF 文件中的字段值都有相应的数据类型,用以区分是数字型的数据还是字符型的数据,下面是 STDF 支持的常用数据类型:

https://img-blog.csdnimg.cn/6cde1473c0dc4eae99a3eb8743b5ad95.png

https://img-blog.csdnimg.cn/98e7614e4ac9432a80fce07f42ce26e9.png

4. 数据的存储字节序

        因为所有数据在 STDF 中都是以二进制的形式存储的,所以需要关注大/小端字节序的问题,即这些数据在存储器中是按照从最低有效字节到最高有效字节的顺序存储对象,还是从最高有效字节到最低有效字节的顺序存储对象,前者称为小端字节序法,后者则为大端字节序法,我们读取或解析的 STDF 文件的时候必须明确知道其排序方法,否则会导致读取的数字型数据完全混乱。

        STDF 文件的字节序和生成该文件的主机 CPU 有关,无法人工干涉,采用何种字节序的标识保存在 STDF 文件的第 5 个字节,是 File Attributes Record(FAR)的一个字段,一般值为 0,1或2 ,1 表示大端字节序,0/2 表示小端字节序。根据 STDF 的规范,该字段的命名为: CPU TYPE,所以我们解析 STDF文件时必须首先读取该字段值,确定好字节序后再解析后续二进制流。

5. 可选字段和默认值

        STDF 中不是每个字段都必须有一个值,有些字段在生成的时候是可以忽略的,即不用填入相应的值,这些字段本身可能会自动填入一个默认值,比如: 对一些字符型的数据,默认值是空,对一些数字型的数据,默认值则是 1或 0。另外有一些字段虽然有值,但可能是无效的,STDF 通常会某字节中设一个或多个标识位(bl]来区分字段值是否有效,通常情况下字段的值若是合法且有效的,那么对应标识位的值会是默认值 0(二进制的 0),即标识位的值是不会被改动,反过来说,如果标识为被改为 1 (二进制的 1) ,那么意味着对应字段的值就是无效的。

        以上所述的两种类型的字段在 STDF 规范中被统称为可选字段,为了节约STDF文件的存储空间,如果这两种可选字段出现在记录的尾部,那么在生成STDF文件的时候就有可能会被 STDF 直接省略,当然仅限于这些字段连续排在记录的尾部,若在其它位置出现,则不会被省略。下表列出STDF中各种数据类型的字段值在何种情况下可被认为是可选字段:

https://img-blog.csdnimg.cn/d319a69ef9ab4cbebfd9e988ac3b52c3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/71006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Nacos服务器连接问题:一次完整的排查经验分享

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【笔试强训选择题】Day35.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!! 文章目录 前言 一、Da…

l8-d7 实现TCP通信

一、TCP服务器的实现(理论) #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); -domain: 指定通信域&#xff08;通信地址族&#xff09;; -type: 指定套接字类型; -protocol: 指定协议; 套接字类型与协议 -type:…

2023高教社杯 国赛数学建模B题思路 - 多波束测线问题

1 赛题 B 题 多波束测线问题 单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀 速直线传播&#xff0c; 在不同界面上产生反射&#xff0c; 利用这一原理&#xff0c;从测量船换能器垂直向海底发射声波信 号&#xff0c;并记录从声波发射到信…

Ansible-roles学习

目录 一.roles角色介绍二.示例一.安装httpd服务 一.roles角色介绍 roles能够根据层次型结构自动装载变量文件&#xff0c;tasks以及handlers登。要使用roles只需在playbook中使用include指令即可。roles就是通过分别将变量&#xff0c;文件&#xff0c;任务&#xff0c;模块以…

layui实现数据列表的复选框回显

layui版本2.8以上 实现效果如图&#xff1a; <input type"hidden" name"id" id"id" value"{:g_val( id,0)}"> <div id"tableDiv"><table class"layui-hide" id"table_list" lay-filter…

点云切片的实现(PCL)C++

一、实现逻辑 1、通过PCL库的getMinMax3D得到xyz轴上的最大最小值&#xff1b; 函数原型&#xff1a; pcl::getMinMax3D(const pcl::PointCloud<PointT> &cloud, POintT &min_pt, PointT &max_pt) 2、设置切片厚度&#xff0c;计算某一轴方向上的切片数量&a…

【智慧工地源码】物联网和传感器技术在智慧工地的应用

物联网&#xff08;IoT&#xff09;和传感器技术在智慧工地中扮演着至关重要的角色。这些技术的应用&#xff0c;使得智慧工地能够实现对施工过程的精确监控、数据收集和分析&#xff0c;以及设备互联&#xff0c;从而提高工程效率、减少成本并改善工人的工作环境。 一、物联网…

ThreadLocal

ThreadLocal 参考&#xff1a;https://blog.csdn.net/u010445301/article/details/111322569 ThreadLocal简介 作用&#xff1a;实现线程范围内的局部变量&#xff0c;即ThreadLocal在一个线程中是共享的&#xff0c;在不同线程之间是隔离的。 原理&#xff1a;ThreadLocal存…

如何使用CSS画一个三角形

原理&#xff1a;其实就是规定元素的四个边框颜色及边框宽度&#xff0c;将元素宽高设置为0。如果要哪个方向的三角形&#xff0c;将对应其他三个方向的边框宽和颜色设置为0和透明transparent即可 1.元素设置边框&#xff0c;宽高&#xff0c;背景色 <style>.border {w…

单月打造8个10w+,情感类视频号如何爆火?

上月&#xff0c;腾讯公布了2023年Q2财报&#xff0c;其中&#xff0c;较为亮眼的是微信视频号的广告收入。据财报显示&#xff0c;二季度视频号用户使用时长与去年同期相比几乎翻倍&#xff0c;广告收入超过30亿元。作为微信生态的核心组件&#xff0c;视频号的内容生态呈现出…

NumPy模块:Python科学计算神器之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…

【小沐学NLP】Python使用NLTK库的入门教程

文章目录 1、简介2、安装2.1 安装nltk库2.2 安装nltk语料库 3、测试3.1 分句分词3.2 停用词过滤3.3 词干提取3.4 词形/词干还原3.5 同义词与反义词3.6 语义相关性3.7 词性标注3.8 命名实体识别3.9 Text对象3.10 文本分类3.11 其他分类器3.12 数据清洗 结语 1、简介 NLTK - 自然…

MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression

MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression MPDIoU:一个有效和准确的边界框损失回归函数 摘要 边界框回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割&#xff0c;是目标定位的重要步骤。然而&#xff0c;当预测框与边界框具有相同的…

突破传统显示技术,探索OLED透明屏的亮度革命

OLED透明屏作为未来显示技术的颠覆者&#xff0c;其亮度性能成为其引人注目的特点之一。 那么&#xff0c;今天尼伽便深入探讨OLED透明屏的亮度&#xff0c;通过引用数据、报告和行业动态&#xff0c;为读者提供高可读性和专业性强的SEO软文&#xff0c;增加可信度和说服力。 …

【数学建模】数据预处理

为什么需要数据预处理 数学建模是将实际问题转化为数学模型来解决的过程&#xff0c;而数据预处理是数学建模中非常重要的一步。以下是为什么要进行数据预处理的几个原因&#xff1a; 数据质量&#xff1a;原始数据往往存在噪声、异常值、缺失值等问题&#xff0c;这些问题会对…

【python爬虫】5.爬虫实操(歌词爬取)

文章目录 前言项目&#xff1a;寻找周杰伦分析过程代码实现重新分析过程什么是NetworkNetwork怎么用什么是XHR&#xff1f;XHR怎么请求&#xff1f;json是什么&#xff1f;json数据如何解析&#xff1f;实操&#xff1a;完成代码实现 一个总结一个复习 前言 这关让我们一起来寻…

框架分析(10)-SQLAlchemy

框架分析&#xff08;10&#xff09;-SQLAlchemy 专栏介绍SQLAlchemy特性分析ORM支持数据库适配器事务支持查询构建器数据库连接池事务管理器数据库迁移特性总结 优缺点优点强大的对象关系映射支持多种数据库灵活的查询语言自动管理数据库连接支持事务管理易于扩展和定制 缺点学…

如何做见效快的SEO推广?

答案是&#xff1a;见效快的推广可以选择谷歌SEO谷歌Ads双向运营。 关键词研究 对于任何SEO推广&#xff0c;一切始于准确的关键词研究。 使用专业工具 利用如SEMrush、Ahrefs等工具&#xff0c;找到与你业务相关&#xff0c;但竞争程度较低的关键词。 分析竞争对手 查看…

【MySQL】JDBC 编程详解

JDBC 编程详解 一. 概念二. JDBC 工作原理三. JDBC 使用1. 创建项目2. 引入依赖3. 编写代码(1). 创建数据源(2). 建立数据库连接(3). 创建 SQL(4). 执行 SQL(5). 遍历结果集(6). 释放连接 4. 完整的代码5. 如何不把 sql 写死 &#xff1f;6. 获取连接失败的情况 四. JDBC常用接…