一、简介
1. 概述
STDF(Standard Test Data Format)(标准测试数据格式)是半导体测试行业的最主要的数据格式,包含了summary信息和所有测试项的测试结果;是半导体行业芯片测试数据的存储规范。
在半导体行业,每粒芯片在投放市场之前都要经过两道严格的测试,分别是 封装之前的CP测试 和封装之后的FT测试 ,之前(开发STDF之前)不同厂商提供的测试机会生成不同格式的测试结果,这会导致测试结果的转换、分析和存储变的非常困难,STDF规范就是为解决这一问题而诞生的。
它由Teradyne开发,统一了各项测试结果的数据格式,只要测试机供应商支持该规范,那么生成的测试数据就可以很容易的被解析成结构化数据,并保存到数据库,后续的数据分析因此而变得更加容易且全面。
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个字节的头信息开始,头信息后则是具体的测试数据内容,头信息包括:
2. 测试数据记录分组和类型
如上表所述,STDF 文件中每种类型测试数据开始前的 4 个字节中的第 3 个字节会指定记录类型所属的第一类别信息,即 REC_TYP ;第 4个字节指定记录类型所属的第二类别信息,即 REC SUB,REC TYP 和 REC SUB 组合则形成了测试数据记录在整个 STDF 文件中的唯一类型标识。下面列出 REC_TYP 和REC SUB 的值范围和组合后代表的测试数据记录类型:
3. 字段值数据类型
STDF 文件中的字段值都有相应的数据类型,用以区分是数字型的数据还是字符型的数据,下面是 STDF 支持的常用数据类型:
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中各种数据类型的字段值在何种情况下可被认为是可选字段:
三、STDF记录类型
附件1:STDF记录类型
四、STDF记录排列
附件2:STDF记录排列
五、代码步骤
写 STDF 代码的步骤如下:
- 准备好 STDF 文件的头部信息。这通常包括文件的创建时间、文件的版本号、设备的序列号等信息。
- 定义 STDF 文件中的数据记录。STDF 文件可以包含多种数据记录类型,如测试结果记录、设备信息记录等。每种数据记录都有一个对应的记录类型编号,并且每条记录都有固定的字段。
- 写入数据记录。使用程序语言(如 Python、C++ 等)将数据记录写入 STDF 文件中。
- 关闭 STDF 文件。结束后,应该关闭 STDF 文件并保存文件。
六、ATDF
1. 概述
ATDF:ASCLL测试数据格式。
ATDF 是 STDF 文件的等效文本。
测试数据主要分为 结构化数据 和 非结构化数据。
不定长、无固定格式的数据称为 非结构化数据,由于没有统一的格式,需要开发不同的工具来处理和分析,造成了大量人力和时间的浪费,所以在1985年时Teradyne公司就推出了STDF,它是一种以二进制数据保存的文件,它可以容纳来自多个ATE供应商的模拟、数字、内存和混合信号测试系统的测试数据,成为业界统一的结构化数据,经过不断优化,到目前已经是第四个版本,有着输出速度快、用空间小的特点。
由于越来越多的ATE加人STDF的行列中来使得STDF的兼容性需要不断升级,某些数据格式在STDF中实现的难度非常大。因此,ATDF应运而生,它同样是一种结构化数据,并且包含了STDF中所有的记录和字段,ATDF是一种文本形式的文件查询和处理起来更方便快捷,让很多看不懂二进制文件的人也能直观地查看数据结果。
ATE ————————————注:
// ATE:Automatic Test Equipment,即自动测试设备,
它用于芯片大规模生产测试,保障稳健(质量、成本和进度)的供应 。
// ATE测试基本的覆盖理念:
主要是结构性测试,即Structure Test,再辅以一定的功能和性能测试,
与Function测试有较为明显的差异,ATE测试重点在于检测制造缺陷。
常见的ATE测试类别如下:
👉IO类:
主要用JTAG进行覆盖,并且会进行一些DC参数的测试,如VIH、VIL、VOH、VOL、Leakage等。
👉Digital Logic类:
主要用SCAN方式进行覆盖,如Stuck-at、transition等,若存在覆盖率问题可添加功能向量。
👉Memory类:
主要用BIST方式进行覆盖。
👉IP类:
内嵌数字电路:用SCAN覆盖。
模拟电路:测试功能和性能,辅以BIST。
👉功耗类:
通常采用IDDQ进行覆盖,亦可进行动态功耗测试。
👉特殊类:
Die ID、基准trim、加密烧写、SIP、POP、分级筛选等。
2. ATDF组成结构
ATDF每段记录信息都是由三个大写字母加上一个冒号组成的记录类型开头,多个记录内容为结尾,记录内容由“”分割,按照顺序分别对应同的记录内容,每个记录内容可记录的字符长度也不相同,经过ATE产生的ATDF某些记录内容是自获取的,无法被ATE的OI所写,因此Teradyne公司的用户手册里对于所有记录类型和记录内容都有详细的说明,用于自定义ATDF输出内容的参考。
3. ATDF记录类型
ATDF的记录类型共有25种之多,常用的有FAR(用于查看STDF和STDF的版本号);MIR(用于查看测试信息,包含测试产品名、测试批号、程序名称、ATE型号编号、开始测试时间、测试流程等);SDR(用于查看硬件信息,包含探针台探针卡的型号和编号、Site排列等);PMR (用于看测试管脚与ATE资源的对应关系);WCR/WIR/WRR(用于查看晶圆信息,包含晶圆坐标系,晶园槽号等 );MPR(用于查看同类型测试项多管脚测试数据的信息);PTR(用于查看直流参数信息,包合直流参数的测试编号、所在Site位置、判定结果、测量值、上下限、单位等):FTR(用于查看能测试信息,包含功能测试编号、所在Sie位置、判定结果、功能失效的具体内容等);PRR(用于查看测试结果信息,包含测试项数量、所在Site位置、XY坐标、结果判定、硬件Bin、软件Bin、测试时间等):TSR(用于查看测试概要信息);HBR/SBR(用于查看件/软件Bin信息,包含每个Bin每个Site的数量、每个Bin所有Site的累加数量、每个Bi的Pass/Fail判定):PCR(用于查看每个Site的测试信息,包含测试数量、复测数量Pass数量等)。
七、STDF文件分析工具
1. 概述
STDF测试数据分析主要分两大类,一类是没有数据库的即时分析软件(暂且叫“软件”),另一类是基于数据库的分析系统或者叫YMS系统(暂且叫“系统”)。二者关系和区别如下。
- STDF分析软件:一般为桌面软件,可以随时打开STDF文件,做各种分析,一般直接安装与每个用户的电脑。
- 优点:这种软件交互性好,解析速度快,统计图形美观,数据和图形所见即所得,可以很方便地复制和保存。有些软件可以对STDF数据进行修复,合并拆分,修改等等。由于安装与用户本地,解析时使用的是用户自己电脑的CPU和内存资源,所以不会受其他用户影响,同时出差或者离开公司域依然可以使用。
- 缺点:每次都需要重新解析STDF数据,手都必须有STDF数据文件,由于解析的时候数据存储与内存中,所以解析文件的数量受限于内存,分析大量数据的时候比较不方便。
- STDF分析系统:一般是Web分析页面+数据库存储的架构,系统是架构在公司的服务器上的,用户通过web端查询和分析数据。
- 优点:数据解析是预处理的,所以历史数据都已经保存在数据库中,用户在查询数据的时候省去了解析STDF的事件,同时大量数据的时候可以筛选所需的数据分析,大大减少了受内存的限制。当然内存依然是数据量的瓶颈。 同时用户电脑不需要安装任何软件。由于数据都已经在数据库中,所以系统可以用作数据仓库,用来查询和追钟历史数据。
- 缺点:web界面相对于桌面软件交互性稍逊,数据表和图形的复制导出相对繁琐一些。一般功能仅限于数据查询很分析,没有数据处理的功能(修复,合并拆分,修改等)。web系统的数据处理的速度相对要慢与桌面版,同时还要考虑到网络延时;因为绝大部分的计算都在同一台服务器上,当访问用户比较多的时候性能明显下降。如果离开了公司域有没有VPN支持,一般就不能访问了。
2. 数据库版STDF分析系统
- Websemi <价格不详>
测试数据分析系统,常见的yield管理功能,统计分析和map功能都有。
网址:WebSemi
- DAS 系统<价格不详>
一个云上的在线的STDF分析系统,所有数据上传到此供应商的云服务器,然后在线分析。按照账号来管控数据和收费的。此系统除了可以导入STDF数据格式以外,还可以导入CSV, Excel等格式。
- yieldWerx <价格不菲>
YieldWerx是一款非常强大的数据系统,常见的yield management, 统计分析,wafer相关分析都做得很好,另外强大得数据挖掘功能也是他们的优势,后台优化带来的稳定的性能。支持多种数据格式的loading.
网址:yieldWerx
3. 数据库版STDF分析软件
- NEDA <6k RMB/年>
常见统计分析(直方图,趋势图,箱线图,Probability chart, XY plot); map分析,bin分析; 对比分析,数据筛选; STDF修复,合并拆分,修改; STDF, WAT和其他TXT数据格式。导出Excel, CSV 和PDF。 解析速度快,可以支持定制解析和定制map格式。
网址:NEDA
- STDF Statistical Analyzer (微软商店 Microsoft Store)
- QuickEdit STDF Editor
4. 免费STDF分析工具&系统
- STDF Extractor
可以直接解析STDF并导出数据到Excel, JMP等format. 然后可以用Excel或者JMP绘制各种统计图形。
- STDF-Viewer
这是一个Python开发的开源STDF解析和分析工具,支持多个平台(Linux, IOS也支持哦),非常不错。但是需要一些pyton基础,需要自己编译一下。支持STDF文件解析和.gz, .zip等压缩格式直接解析,支持直方图,趋势图,bin柏拉图,wafer map等等。可以把数据导出CSV,Excel等格式。
网址:STDF-Viewer