【芯片测试】:SmarTest 8 Binning 运行机制总结

目录

  • [SmarTest 8 Binning 运行机制总结](#SmarTest 8 Binning 运行机制总结)
    • [1. Binning 的基本作用](#1. Binning 的基本作用)
    • [2. Binning 的整体运行流程](#2. Binning 的整体运行流程)
    • [3. Bin table](#3. Bin table)
      • [3.1 定义](#3.1 定义)
      • [3.2 生成时机](#3.2 生成时机)
      • [3.3 生成方式](#3.3 生成方式)
    • [4. Bin table 中的 bin 类型](#4. Bin table 中的 bin 类型)
      • [4.1 Hardware bin](#4.1 Hardware bin)
      • [4.2 Software bin](#4.2 Software bin)
    • [5. 默认 bins](#5. 默认 bins)
      • [5.1 Overall default bin](#5.1 Overall default bin)
      • [5.2 System default bin](#5.2 System default bin)
      • [5.3 Default pass bin](#5.3 Default pass bin)
      • [5.4 Default alarm bin](#5.4 Default alarm bin)
    • [6. Test table 中的 bin 定义](#6. Test table 中的 bin 定义)
      • [6.1 Software_Bins](#6.1 Software_Bins)
      • [6.2 Hardware_Bins](#6.2 Hardware_Bins)
      • [6.3 Tests 中的 Soft Bin](#6.3 Tests 中的 Soft Bin)
    • [7. Bin list](#7. Bin list)
      • [7.1 定义](#7.1 定义)
      • [7.2 初始状态](#7.2 初始状态)
      • [7.3 作用](#7.3 作用)
    • [8. Bin list 的填充方式](#8. Bin list 的填充方式)
      • [8.1 方式一:测试失败时,由 test descriptor 自动加入 software bin](#8.1 方式一:测试失败时,由 test descriptor 自动加入 software bin)
      • [8.2 方式二:在 testflow 的 execute 段中显式加入](#8.2 方式二:在 testflow 的 execute 段中显式加入)
      • [8.3 方式三:在 test method 中按 site 显式加入](#8.3 方式三:在 test method 中按 site 显式加入)
      • [8.4 方式四:系统自动加入特殊 default bins](#8.4 方式四:系统自动加入特殊 default bins)
    • [9. suppressBinning](#9. suppressBinning)
    • [10. Final bin](#10. Final bin)
      • [10.1 定义](#10.1 定义)
      • [10.2 作用](#10.2 作用)
    • [11. Final bin 的选择时机](#11. Final bin 的选择时机)
    • [12. Final bin 的默认选择算法](#12. Final bin 的默认选择算法)
      • [12.1 bin list 为空](#12.1 bin list 为空)
      • [12.2 bin list 只有一个 bin](#12.2 bin list 只有一个 bin)
      • [12.3 bin list 中有多个 bins](#12.3 bin list 中有多个 bins)
    • [13. 自定义 final bin 选择](#13. 自定义 final bin 选择)
      • [13.1 多次设置 final bin 的规则](#13.1 多次设置 final bin 的规则)
      • [13.2 推荐执行位置](#13.2 推荐执行位置)
    • [14. 访问 bin list](#14. 访问 bin list)
    • [15. Final bin 到 hardware bin 的转换](#15. Final bin 到 hardware bin 的转换)
    • [16. SmarTest 8 Binning 运行机制总结](#16. SmarTest 8 Binning 运行机制总结)
    • [17. 最简要点](#17. 最简要点)


SmarTest 8 Binning 运行机制总结

1. Binning 的基本作用

在 SmarTest 8 中,Binning 用于在测试程序执行结束后,对每个 site 上的 device 给出分类结果。

这个分类结果最终会被转换为对应的 hardware bin,并发送给 handling equipment(如 handler)用于分选。

SmarTest 8 的 Binning 运行机制由以下几个部分组成:

  • bin table
  • bin list
  • final bin
  • hardware bin

2. Binning 的整体运行流程

SmarTest 8 中,Binning 不是在单个测试失败时立即最终决定,而是按下面的顺序运行:

  1. PreBind auxiliary flow 中生成 bin table
  2. main flow 执行过程中,为每个 site 维护并填充 bin list
  3. 当所有必需测试执行完成后,从 bin list 中选择 final bin
  4. final bin 确定对应的 hardware bin
  5. 记录 bin 信息,并将 hardware bin 发送给 handling equipment

3. Bin table

3.1 定义

bin table 是一个表,用于定义测试程序中所有可用的 bins 及其属性。

它定义的内容包括:

  • hardware bins
  • software bins
  • software bin 与 hardware bin 的对应关系
  • 每个 bin 的属性

3.2 生成时机

bin table 在 PreBind auxiliary flow 中生成。

PreBind 是一个辅助流程,通常只执行一次。

3.3 生成方式

bin table 通常由 test table 生成。

常见方式是:在 PreBind 中由一个 test suite 读取 .ods 格式的 test table,并应用其中的 bin 相关配置。

也可以由用户自定义的 test method 代码生成,但该代码必须由定义在 PreBind 中的 test suite 执行。


4. Bin table 中的 bin 类型

4.1 Hardware bin

hardware bin 是最终输出给 handling equipment 的 bin。

其常见属性包括:

  • name
  • number
  • pass/fail

4.2 Software bin

software bin 是在测试程序执行过程中加入到 bin list 中的 bin。

其常见属性包括:

  • name
  • number
  • pass/fail
  • color
  • priority
  • 对应的 hardware bin

5. 默认 bins

SmarTest 8 提供若干默认 bin 机制。

5.1 Overall default bin

当某个测试失败,但没有为该失败定义 fail bin 时,device 会被分配到 overall default bin

5.2 System default bin

bin 0 总是存在于 bin table 中,作为 system default bin

即使设置了自定义 default bin,它也不会被移除。

5.3 Default pass bin

如果设置了 default pass bin ,并且在执行结束时 bin list 仍为空,则会将 default pass bin 加入。

如果没有设置,则该用途由 overall default bin 代替。

5.4 Default alarm bin

如果设置了 default alarm bin ,并且 device 测试过程中发生了 alarm,且该 alarm 类型配置允许进行 binning,则 default alarm bin 会被加入 bin list。

如果没有设置,则该用途由 overall default bin 代替。


6. Test table 中的 bin 定义

在 test table 中,通常会分别定义:

  • Software_Bins
  • Hardware_Bins
  • Tests

6.1 Software_Bins

该表定义所有 software bins 及其属性,例如:

  • Software Bin Name
  • Software Bin
  • Hardware Bin
  • Result
  • Color
  • Priority
  • Comment

6.2 Hardware_Bins

该表定义所有 hardware bins 及其属性,例如:

  • Hardware Bin
  • Hardware Bin Name
  • Result
  • Comment

6.3 Tests 中的 Soft Bin

Tests 页签中,可以通过 Soft Bin 列为每个 test descriptor 指定一个 software bin。

其含义是:

  • 当该 test descriptor 对应的测试失败时
  • 将该 software bin 加入 bin list

如果没有指定,则在失败时使用 overall default bin。


7. Bin list

7.1 定义

bin list 是一个按 site / execution / device 维护的列表。

它包含在 testflow 和 test suites 执行期间,被分配给该 device 的 software bins

7.2 初始状态

main flow 开始执行时,bin list 总是为空。

7.3 作用

在 main flow 执行过程中,bin list 会不断被填充。

在所有测试执行完成后,系统再根据 bin list 选择 final bin。


8. Bin list 的填充方式

在 SmarTest 8 中,bin list 主要通过以下方式被填充。

8.1 方式一:测试失败时,由 test descriptor 自动加入 software bin

对于基于 test descriptor 的 pass/fail 测试:

  • 如果测试失败
  • 且该 test descriptor 定义了 software bin(如 Soft Bin / SoftBinId)
  • 则该 software bin 会被加入 bin list

如果没有定义,则加入 overall default bin。


8.2 方式二:在 testflow 的 execute 段中显式加入

在 testflow 的 execute 段中,可以使用:

c 复制代码
addBin(binNumber)

显式将某个 software bin 加入 bin list。

示例:

c 复制代码
if (!Test_Suite_A.pass) { addBin(42); stop(); }

这表示:如果 Test_Suite_A 未通过,则将 software bin 42 加入 bin list,并停止后续执行。


8.3 方式三:在 test method 中按 site 显式加入

在 test method 中,可以使用:

java 复制代码
context.binning().add(site, binNumber);

将指定 software bin 加入指定 site 的 bin list。


8.4 方式四:系统自动加入特殊 default bins

某些特殊 default bins 会被系统自动加入 bin list,例如:

  • default pass bin
  • default alarm bin

9. suppressBinning

SmarTest 8 为 test suite 提供了 suppressBinning 标志。

如果其值为 true,则该 test suite 下所有 test descriptors 即使失败,也不会因为 test descriptor 中的 bin 配置而向 bin list 添加 software bin。


10. Final bin

10.1 定义

final bin 是在所有必需测试执行完成后,从某个 site 的 bin list 中确定出来的最终 software bin。

10.2 作用

final bin 用于:

  • 确定对应的 hardware bin
  • 记录日志
  • 向 handling equipment 发送最终分档结果

11. Final bin 的选择时机

Binning 发生在所有测试执行完成之后。

对于每个 site,系统会在该 site 的 bin list 基础上选择 final bin。


12. Final bin 的默认选择算法

如果没有显式地将某个 software bin 设置为 final,则 SmarTest 8 使用默认算法。

12.1 bin list 为空

如果 bin list 为空,则:

  • final bin = default pass bin

如果未指定 default pass bin,则由 overall default bin 用于该用途。

12.2 bin list 只有一个 bin

如果 bin list 中只有一个 bin,则:

  • final bin = 该 bin

12.3 bin list 中有多个 bins

如果 bin list 中包含多个 bins,则:

  • 选择 priority 值最高 的 bin 作为 final bin

如果多个 bins 具有相同的最高 priority,则:

  • 选择在这些 bins 中 最先加入 bin list 的那个作为 final bin

13. 自定义 final bin 选择

SmarTest 8 支持在 test method 中显式设置 final bin。

可以使用:

java 复制代码
context.binning().setFinalBin(site, binNumber);

将指定的 software bin 显式设置为某个 site 的 final bin。

13.1 多次设置 final bin 的规则

如果在测试程序执行过程中,多次将 software bin 设置为 final,则:

  • 最后一次 被设置为 final 的 bin 会被视为最终的 final bin

13.2 推荐执行位置

通常建议在所有其它测试执行完之后,由一个 test suite 调用相应的 test method 来选择并设置 final bin。


14. 访问 bin list

在 test method 中,可以通过:

java 复制代码
context.binning().getBinList(site);

访问指定 site 的 bin list。

该接口可用于在自定义 final bin 选择逻辑中读取 main flow 执行期间收集到的 software bins。


15. Final bin 到 hardware bin 的转换

当 final bin 选定后,系统根据 bin table 中定义的对应关系,确定与该 final bin 关联的 hardware bin

随后:

  • final bin 和 hardware bin 会被记录
  • hardware bin 会被发送给 handling equipment

16. SmarTest 8 Binning 运行机制总结

SmarTest 8 的 Binning 运行机制可以概括为以下顺序:

  1. PreBind 中生成 bin table
  2. bin table 定义所有 software bins、hardware bins 以及它们的属性和映射
  3. main flow 开始时,每个 site 的 bin list 为空
  4. 在 main flow 执行过程中,通过以下机制向 bin list 添加 software bins:
    • 测试失败后由 test descriptor 自动添加
    • testflow 中使用 addBin(binNumber) 显式添加
    • test method 中使用 context.binning().add(site, binNumber) 显式添加
    • 系统自动添加特殊 default bins
  5. 执行结束后,系统为每个 site 选择 final bin
  6. 若使用 setFinalBin() 显式设置,则最后一次设置的 bin 为 final bin
  7. 否则按默认算法:
    • 空 list → default pass bin
    • 一个 bin → 直接选该 bin
    • 多个 bins → 选 priority 最大者
    • 若 priority 相同 → 选最先加入者
  8. 根据 final bin 找到对应的 hardware bin
  9. 记录结果,并将 hardware bin 输出给 handling equipment

17. 最简要点

  • bin table:定义所有可用 bins 及属性
  • PreBind:生成 bin table
  • bin list:main flow 中为每个 site 记录被加入的 software bins
  • final bin:执行完成后从 bin list 选出的最终 software bin
  • hardware bin:由 final bin 映射得到,并发送给 handler
  • 默认 final 规则
    • 空 list → default pass bin
    • 单一 bin → 该 bin
    • 多 bin → highest priority
    • 同 priority → 最先加入者
相关推荐
Meraki.Zhang3 个月前
【芯片测试篇】:SmarTest 8 三温和三压测试程序的搭建
芯片测试·ate·93k
FORCREAT-苏州永创4 个月前
半导体静态电性测试系统如何实现对各类电子元器件的评估测试?
半导体·芯片测试·半导体功率器件·静态参数测试仪
FORCREAT-苏州永创4 个月前
从实验室到产线:苏州永创-STD2000X如何统一分立器件静态参数测试仪的“语言”?
半导体·芯片测试·测试系统·cmti·cmti测试系统·半导体功率器件·静态参数测试仪
FORCREAT-苏州永创4 个月前
探秘半导体“体检中心”:如何为一颗芯片做静态参数测试?
半导体·芯片测试·测试系统·cmti·cmti测试系统·半导体功率器件·静态参数测试仪
-水火-5 个月前
【IDE】Linux下使用openocd烧录bin文件
linux·ide·openocd·bin
Meraki.Zhang8 个月前
【芯片测试篇】:93K测试机I2C的设置和调试
i2c·芯片测试·ate测试·93k
whik11941 年前
Keil-MDK开发环境编译后axf自动转换bin格式文件
stm32·arm·keil·axi·bin·mdk
MAR-Sky2 年前
keil将“32”单片机中的axf文件转换为bin文件
单片机·嵌入式硬件·keil·bin
XINERTEL2 年前
如何利用仪表构造InfiniBand流量在数据中心测试中的应用
开发语言·php·数据中心·芯片测试·时延测试