STDF-Viewer 解析工具说明

news2024/11/18 1:48:39

一、简介

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.coloradmin.cn/o/984706.html

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

相关文章

城市排水监测方案(dtu终端配合工业路由器精准监测)

台风季节,暴雨容易导致城市内涝积水。为有效监测排水状况,预警和防控积水灾害,星创易联推出智慧排水监测解决方案。 解决方案采用星创易联DTU300作为水位数据采集终端,它可挂载在河道及排水井等地点,实时监测水位变化,一旦超过预警阈值,立即通过4G网络传输报警信息,实现对水位…

使用Kmeans进行图像聚类

Kmeans可以用于与发现聚类相关的其他任务 介绍 聚类是一种无监督机器学习技术。这意味着您的数据集没有标签,即与解释变量发现的模式关联的目标变量。 无监督学习是找到看似相似的模式并将它们放入同一个桶中的过程。 最常用的无监督学习算法之一是Kmeans&#xff…

冠达管理:紧盯必要性 追问合理性 再融资问询透露监管新动向

在“活泼资本市场,提振出资者决心”一系列办法落地之后,再融资市场整体已明确收紧,但审阅尺度、相关细则还有待进一步观察。有接受采访的投行人士指出,现在存量项目仍在持续推进,监管审阅要点已在问询环节有较为充沛的…

2.7 PE结构:重定位表详细解析

重定位表(Relocation Table)是Windows PE可执行文件中的一部分,主要记录了与地址相关的信息,它在程序加载和运行时被用来修改程序代码中的地址的值,因为程序在不同的内存地址中加载时,程序中使用到的地址也…

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

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

C/C++浮点数向零舍入 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C浮点数向零舍入 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C浮点数向零舍入 2019年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个单精度浮点数&#…

09-JVM垃圾收集底层算法实现

上一篇:08-JVM垃圾收集器详解 1.三色标记 在并发标记的过程中,因为标记期间应用线程还在继续跑,对象间的引用可能发生变化,多标和漏标的情况就有可能发生。 这里我们引入“三色标记”来给大家解释下,把Gcroots可达性…

uni-app动态tabBar,根据不同用户展示不同的tabBar

1.uni框架的api实现 因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。 起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试…

DeeTune:基于 eBPF 的百度网络框架设计与应用

作者 | 百度APP云原生技术研发组 导读 随着云计算的技术的不断迭代演进,百度内部服务逐渐搬迁到云环境中,部署成本和效率取得明显收益,但一些可观测能力的短板和缺失逐渐显露,传统的方式往往通过植入代码进行修改来实现&#xff0…

esp-hosted 方案介绍

esp-hosted SDK esp-hosted 方案介绍 esp-hosted 方案主要为 Linux 或者 MCU 提供无线连接功能(WiFi 或者 BT/BLE) esp-hosted 解决方案包含了 esp-hosted FG 和 esp-hosted NG 两套方案 与传统 WiFi 网卡的区别在于 ESP 设备端需要烧录固件&#xff0…

RGMII 与 GMII 转换电路设计

文章目录 前言一、RGMII 接口的信号说明二、RGMII 发送的 FPGA 实现方案1. OPPOSITE_EDGE 模式2. SAME_EDGE 模式三、使用 FPGA 实现 RGMII 接口前言 RGMII 是 IEEE802.3z 标准中定义的千兆媒体独立接口(Gigabit Medium Independent Interface)GMII 的一个替代品。相较于 GM…

详解Redis之Lettuce实战

摘要 是 Redis 的一款高级 Java 客户端,已成为 SpringBoot 2.0 版本默认的 redis 客户端。Lettuce 后起之秀,不仅功能丰富,提供了很多新的功能特性,比如异步操作、响应式编程等,还解决了 Jedis 中线程不安全的问题。 …

Python中的依赖管理是什么? - 易智编译EaseEditing

Python中的依赖管理是指管理和跟踪项目所依赖的外部软件包或库的过程。 在Python项目中,通常会使用许多第三方库或模块来实现特定的功能,而依赖管理就是确保这些库可以正确地安装、更新和卸载,以确保项目的可靠性和稳定性。 以下是Python中…

正则表达式使用总结

一、字符匹配 普通字符:普通字符按照字面意义进行匹配,例如匹配字母 "a" 将匹配到文本中的 "a" 字符。 元字符:元字符具有特殊的含义,例如 \d 匹配任意数字字符,\w 匹配任意字母数字字符&#xf…

Market Insight:中国低代码/零代码市场典型供应商名录(2023)发布

Market Insight:典型供应商名录根据厂商调研、行业用户点评、研究团队评估来综合确定。典型供应商名录的入围者拥有值得客户信赖的能力,这种能力可以表现在产品与技术、服务能力、市场力等其中的一项或多项。典型供应商名录的入围者可以是市场领导者&…

Exception_json反序列化失败_JSONException

TokenGroup tokenGroup JSONObject.parseObject(tokenGroup1, TokenGroup.class);com.alibaba.fastjson.JSONException: create instance error, null, public com.daikin.snapshot.controller.auth.token.TokenGroup 解决方法: 在反序列化失败的实体类添加无参构造方法

学习笔记|回顾(1-12节课)|应用模块化的编程|添加函数头|静态变量static|STC32G单片机视频开发教程(冲哥)|阶段小结:应用模块化的编程(上)

文章目录 1.回顾(1-12节课)2.应用模块化的编程(.c .h)Tips:添加函数头创建程序文件三步引脚定义都在.h文件函数定义三步bdata位寻址变量的使用 3.工程文件编写静态变量static的使用完整程序为:demo.c:seg_led.c:seg_led.h: 1.回顾(1-12节课) 一、认识单…

数字化新零售营销模式如何落地?数字化新零售营销功能推荐

​通过科技手段,针对对线下零售店面的客户进行消费行为、频次等的分析,并进一步整合线上线下资源,实现实体零售的效率充分化,便是目前很火的新零售营销模式,能够将实体门店与数字化技术进行有机结合,通过为…

在Photoshop上标小图标的操作记录

1、做小图标 收集背景图 的背景的rgb值 把这个rgb值记下来,上面的背景要用。 2、统一图标大小 宽度、高度,都设置成1.52 3、把图标往地图上拖 拖到背景图上,可以用上下左右键调整位置 4、在图片上写字 右键这个,就可以写字了。…

SpringBoot / Vue 对SSE的基本使用(简单上手)

一、SSE是什么? SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端。服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,…