ICT测试日志 --4--日志记录的格式 中
文章目录
- [ICT测试日志 --4--日志记录的格式 中](#ICT测试日志 --4--日志记录的格式 中)
-
-
- [记录 @AID:识别引发实时报警的电路板](#记录 @AID:识别引发实时报警的电路板)
- [记录 @ALM:识别实时报警](#记录 @ALM:识别实时报警)
- [记录 @BATCH:识别一批电路板](#记录 @BATCH:识别一批电路板)
- [记录 @BLOCK:标识测试块](#记录 @BLOCK:标识测试块)
- [记录 @BS-CON:边界扫描测试](#记录 @BS-CON:边界扫描测试)
- [记录 @BS-O:开路引脚列表](#记录 @BS-O:开路引脚列表)
- [记录 @BS-S:短路引脚列表](#记录 @BS-S:短路引脚列表)
- [记录 @BTEST:描述电路板测试](#记录 @BTEST:描述电路板测试)
- [记录 @CCHK:连接检查测试](#记录 @CCHK:连接检查测试)
- [记录 @DPIN:单个器件的设备引脚列表](#记录 @DPIN:单个器件的设备引脚列表)
- [记录 @D-PLD:PLD 编程结果 - 成功或失败](#记录 @D-PLD:PLD 编程结果 - 成功或失败)
-
记录 @AID:识别引发实时报警的电路板
该记录作为@ALM记录的子记录出现;它用于识别在@ALM记录中描述的引发实时报警的电路板。
表 8-18
@AID
格式:{@AID|检测时间|序列号}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 检测时间 | str | "" | 报警的日期和时间,格式为YYMMDDHHMMSS(datetime$)。 |
| 子测试标识 | str | "" | 引发实时报警的电路板唯一序列号。 |
- 生成者:报警程序
示例 8-15
{@AID|890615094418|12306743}
记录 @ALM:识别实时报警
该记录描述了特定的实时报警。其后是一个@AID子记录,用于识别哪个电路板引发了实时报警。
表 8-19
@ALM
格式:{@ALM|报警类型|报警状态|检测时间|电路板类型|电路板版本|报警限值|检测值|控制器|测试头编号}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 报警类型 | int | 1 | 1 = 连续失败;2 = 样本产量;3 = 总体产量 |
| 报警状态 | bool | 0 | 0 = 关闭,1 = 开启 |
| 检测时间 | str | "" | 报警的日期和时间,格式为YYMMDDHHMMSS(datetime$)。 |
| 电路板类型 | str | "" | 与报警相关的电路板类型。 |
| 电路板版本 | str | "" | 与报警相关的电路板类型的版本。 |
| 报警限值 | int | ? | 超过的报警限值(阈值)。 |
| 检测值 | int | ? | 超过报警限值的检测值。 |
| 控制器 | str | "" | 报警发生在哪个控制器上。 |
| 测试头编号 | int | 1 | (th$) 一个正整数。 |
-
生成者:报警程序
-
子记录:检测到的任何实时报警都会记录@AID;用以识别引发实时报警的电路板。
示例 8-16
{@ALM|1|1|890516145512|proc_bd|2|10|15|alpha|1}
###记录 @ARRAY:数字化结果分析
该记录描述了数字化测量语句的结果或数组格式模拟报告语句的结果。
表 8-20
@ARRAY
格式:{@ARRAY|子测试标识|状态|失败次数|样本数}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 子测试标识 | str | "" | 来源于数字化器或模拟报告语句的可选代号参数。 |
| 状态 | int | 0 | 0 = 通过 |
| 1 = 失败 | |||
| 7 = 发生错误 | |||
| 失败次数 | int | 0 | 失败的次数。 |
| 样本数 | int | 1024 | 测试的样本数量。 |
- 生成者:digitizer, report analog 语句
示例 8-17
{@ARRAY|""|1|5|1024}
记录 @BATCH:识别一批电路板
该记录用于识别一批独特的电路板,即对于测试目的作为一组处理的一些电路板。
表 8-21
@BATCH
格式:{@BATCH|被测单元类型|被测单元类型修订|夹具ID|测试头编号|测试头类型|测试步骤|批次ID|操作员ID|控制器|测试计划ID|测试计划修订|父面板类型|父面板类型修订}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 被测单元类型 | str | "" | 被测单元的类型,不包括修订版。可以是板类型或面板类型。 |
| 被测单元类型修订 | str | "" | 板类型修订版或面板类型修订版。 |
| 夹具ID | int | 0 | 十进制自动文件代码。 |
| 测试头编号 | int | 1 | (th$) 一个正整数。 |
| 测试头类型 | str | "" | 测试头的类型。(当前未使用。) |
| 测试步骤 | str | "" | 制造过程中的步骤。 |
| 批次ID | str | "" | 当前电路板批次的ID。 |
| 操作员ID | str | "" | 操作员。 |
| 控制器 | str | "" | 控制器。 |
| 测试计划ID | str | "" | 测试计划的名称。 |
| 测试计划修订 | str | "" | 测试计划的修订。 |
| 父面板类型 | str | "" | 包含此电路板的面板类型。 |
| 父面板类型修订 | str | "" | 包含此电路板的面板类型的修订。 |
| 版本标签 | str | "" | 多板版本。 |
-
生成者:记录电路板语句
-
子记录:
-
@BTEST 为批次中的每个电路板生成。当每个电路板生成一个日志数据文件时,文件只有一个@BATCH记录,该记录进而只有一个@BTEST子记录。
-
其他 使用"log"和"log using"语句可以生成其他子记录。
-
示例 8-18
@BATCH日志记录示例
{@BATCH|998457-146|0|2550|1||btest|891131172938|pete|achilles|MaxWellBT|7|A_panel|2}
记录 @BLOCK:标识测试块
该记录用于标识一个命名的模拟、数字或混合测试语句块。
表 8-22
@BLOCK
格式:{@BLOCK|块标识|块状态}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 块标识 | str | "" | 此测试块的名称。 |
| 块状态 | int | 0 | 0 = 所有语句通过。如果某个语句失败,则显示失败测试的状态。 |
-
生成者:测试,测试模拟语句
-
子记录:子记录如表 8-23 所示。
示例 8-19
{@BLOCK|R12|1
{@A-RES||1|1.006789E+01}
}
表 8-23
BLOCK 子记录
| 子记录 | 生成者 | 子记录 | 生成者 |
|---|---|---|---|
| @A-CAP | 电容器语句 | @A-PNP | pnp 语句 |
| @A-DIO | 二极管语句 | @A-POT | 电位器语句 |
| @A-FUS | 保险丝语句 | @A-RES | 电阻器语句 |
| @A-IND | 电感器语句 | @A-SWI | 开关语句 |
| @A-JUM | 跳线语句 | @A-ZEN | 齐纳二极管语句 |
| @A-MEA | 测量语句 | @D-T | 测试语句 |
| @A-NFE | nfetr 语句 | @S-PROC | 测试语句 |
| @A-NPN | npn 语句 | @TJET | 测试语句 |
| @A-PFE | pfetr 语句 |
记录 @BS-CON:边界扫描测试
该记录描述了一次边界扫描测试。
表 8-24
@BS-CON
格式:{@BS-CON|测试标识|状态|短路次数|开路次数}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 测试标识 | str | "" | 边界扫描连接或互连测试的标识符。 |
| 状态 | int | 0 | 0 = 通过 |
| 1 = 失败 | |||
| 7 = 链路失败 | |||
| 短路次数 | int | 0 | 边界扫描测试期间发生的短路次数。 |
| 开路次数 | int | 0 | 边界扫描测试期间发生的开路次数。 |
-
生成者:边界扫描软件
-
子记录:
- 当开路次数大于零且日志等级未设置为不记录引脚时,生成@BS‑O。
- 当短路次数大于零且日志等级未设置为不记录引脚时,生成@BS‑S。
示例 8-20
{@BS-CON|9c_connect|1|0|2
{@BS‑O|9C|43}
{@BS‑O|9C|41|9C|58}
}
{@BS‑CON|27c_connect|1|0|1
{@BS‑S|S{@NODE\2|179|112}}
}
记录 @BS-O:开路引脚列表
该子记录紧随@BS‑CON日志记录之后,通过列出在失败的边界扫描测试中发现的开路引脚,进一步描述该记录。
表 8-25
@BS-O
格式:{@BS-O|第一个器件|第一个引脚|第二个器件|第二个引脚}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 第一个器件名称 | str | "" | 第一个器件的名称。 |
| 第一个器件引脚 | int | 1 | 第一个器件上开路引脚的数量。 |
| 第二个器件名称 | str | "" | (可选)第二个器件的名称。 |
| 第二个器件引脚 | int | 1 | (可选)第二个器件上开路引脚的数量。 |
- 生成者:边界扫描软件
示例 8-21
{@BS‑O|9C|43}
{@BS‑O|9C|41|9C|58}
记录 @BS-S:短路引脚列表
该子记录紧随@BS‑CON日志记录之后,通过列出在失败的边界扫描测试中发现的短路引脚,进一步描述该记录。
表 8-26
@BS-S
格式:{@BS-S|原因|节点列表}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 原因 | str | S | S = 已知短路 |
| U = 未知短路 | |||
| 0 = 卡住在0 | |||
| 1 = 卡住在1 | |||
| 节点列表 | str | "" | 涉嫌短路节点的列表。 |
- 生成者:边界扫描软件
示例 8-22
{@BS‑S|S{@NODE\2|179|112}}
记录 @BTEST:描述电路板测试
该记录描述了单个电路板的整体测试。其后跟随了用于报告在电路板上执行的个别测试结果的子记录。
表 8-27
@BTEST
格式:{@BTEST|电路板ID|测试状态|开始日期时间|持续时间|多重测试|日志等级|日志集|学习|已知良好|结束日期时间|状态限定符|电路板编号|父面板ID}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 电路板ID | str | "" | 该电路板的序列号。 |
| 测试状态 | int | 0 | 0 = 通过 |
| 1 = 未分类失败 | |||
| 2 = 针脚测试失败 | |||
| 3 = 在学习模式中失败 | |||
| 4 = 短路测试失败 | |||
| 5 = (保留) | |||
| 6 = 模拟测试失败 | |||
| 7 = 电源测试失败 | |||
| 8 = 数字或边界扫描测试失败 | |||
| 9 = 功能测试失败 | |||
| 10 = 预短路测试失败 | |||
| 11 = 在电路板处理程序中失败 | |||
| 12 = 条形码失败 | |||
| 13 = 标记出去(面板上的电路板未测试或丢失):维护,但不记录。 | |||
| 14 = VTEP或TestJet失败 | |||
| 15 = 极性检查失败 | |||
| 16 = ConnectCheck失败(仅限Mux系统) | |||
| 17 = 模拟集群测试失败 | |||
| 18-79 = 保留 | |||
| 80 = 运行时错误 | |||
| 81 = 中止(停止) | |||
| 82 = 中止(中断) | |||
| 83-89 = 保留 | |||
| 90-99 = 用户自定义 | |||
| 开始日期时间 | int | 0 | 电路板测试的开始时间,格式为YYMMDDHHMMSS(datetime$)。 |
| 持续时间 | int | 0 | 测试持续时间,以秒为单位。 |
| 多重测试 | bool | 0 | 这与前一个电路板相同吗? 0 = 否,1 = 是 |
| 日志等级 | str | "" | 当前的lli$值。 |
| 日志集 | int | 0 | 当前默认日志集。(目前未使用。) |
| 学习 | bool | 0 | 学习是否开启? N = 否,Y = 是 |
| 已知良好 | bool | 0 | 这是已知良好的电路板吗? N = 否,Y = 是 |
| 结束日期时间 | int | 0 | 电路板测试的结束时间,格式为YYMMDDHHMMSS(datetime$)。 |
| 状态限定符 | str | "" | 从记录电路板结束处的备注字符串。 |
| 电路板编号 | int | 1 | 正在测试的电路板编号,根据一个电路板编号是语句确定。当不使用多个日志缓冲器(电路板编号是*)时,该值报告为1,即使它实际为零。 |
| 父面板ID | str | "" | 从记录电路板开始语句的可选参数派生的值。 |
测试状态常量(如上所述)在测试计划中定义,并由统计分析和质量控制程序如PushButton QStats和其他软件包使用。这些工具主要响应通过/失败/虚假测试类别,但有时识别值2是特殊的。引脚测试失败可能是电路板的故障,或夹具的问题。
-
生成者:
- 日志电路板开始语句开始该记录。
- 日志电路板结束语句结束该记录。
Pushbutton Q-STATS和Q-STATS II将1到10的测试状态解释为电路板故障,而将11到99的值视为虚假;即,它们既不是通过也不是失败。
示例 8-23
sh
{@BTEST|99538-135|8|891131172855|43|0|failures||n|n|891131172938|4|99538-130
. . .
{测试结果子记录}
. . .
}
表 8-28
BTEST子记录
| 子记录 | 生成者 |
|---|---|
| @BLOCK | 测试和测试模拟语句 |
| @BLINE | 基线状态信息(见增强日志记录的版本跟踪)。 |
| @BS-CON | 边界扫描连接和互连测试 |
| @D-LOG | 数字日志语句 |
| @D-T | 测试语句 |
| @PF | 引脚失败函数 |
| @PRB | 探测或探测故障语句 |
| @RETEST | 重新测试日志清除语句 |
| @RPT | 任何报告语句:报告(模拟),报告(BT-Basic),或报告(短路) |
| @TS | 测试短路语句 |
| 其他 | "log"和"log using"语句可用于生成其它子记录 |
记录 @CCHK:连接检查测试
该记录描述了在Mux系统上的连接检查测试结果。
表 8-29
@CCHK
格式:{@CCHK|测试状态|引脚数量|测试标识}
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 测试状态 | int | 00 | 00 = 通过 |
| 01 = 失败 | |||
| 07 = 致命错误 | |||
| 引脚数量 | int | 0000 | 故障引脚的数量 |
| 器件标识 | str | "" |
-
生成者:test 语句
-
子记录:在记录引脚以列出故障器件引脚时生成@DPIN。
示例 8-24
{@CCHK|01|0008|u34}
记录 @DPIN:单个器件的设备引脚列表
该记录包含单个器件的设备引脚列表。
表 8-30
@DPIN
格式:{@DPIN|器件名称|节点引脚列表} 或 {@DPIN|器件名称|节点引脚列表|通过设备节点列表} (以驱动通过)
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 器件名称 | str | "" | 器件的名称,当器件名称不可用时为测试标识。 |
| 节点引脚列表 | str 或 int | ""/0 | 项目列表。项目交替出现以提供关于每个引脚的两个独立信息项。 |
| 奇数项是节点ID字符串。 | |||
| 偶数项是可选的设备引脚字符串,用于表明该设备的哪些引脚连接到节点ID。尽可能应该包含设备引脚。 | |||
| 列表项的数量始终为偶数,即设备引脚数量的两倍。 | |||
| 通过设备节点列表 | str 或 int | "" | 驱动通过的设备和节点列表,按对顺序排列。两项交替提供每个驱动过的设备和节点的信息。 |
| 奇数项是节点ID字符串。 | |||
| 偶数项是设备ID字符串,用于表明哪个设备连接到节点ID。 | |||
| 列表项的数量始终为偶数,即驱动过的节点数量的两倍。 |
-
生成者:
-
测试语句
-
数字设备的测试在记录引脚时会产生一个@DPIN记录,作为@D‑T(数字供电测试)和@TJET(VTEP或TestJet测试)的子记录。
-
探测语句、探测故障语句
-
这些语句可能会产生@DPIN记录,但在记录引脚时作为@PRB记录的子记录。
-
示例 8-25
{@DPIN|U12\4|Node17|8|GND|3} ! 无驱动通过节点
{@DPIN|U6809\6|TCLK|18|U6809-12|12|BDRV|18} ! 有驱动通过节点
记录 @D-PLD:PLD 编程结果 - 成功或失败
PLD ISP 的数据记录支持和控制与其他测试数据类型类似。日志记录控制通过 BT-Basic 日志功能启用,例如 "log is"、"log out" 和 "log failure"。
为 PLD ISP 测试类型生成的日志记录被分组为一个数字测试块记录(@BLOCK)。数字测试中的每个 play 语句都会在块中生成一个子记录,描述所执行操作的信息和结果。每个块记录还包含一个数字子记录,描述测试的数字部分的结果。每个 D-PLD 记录可能包含 NOTE 和 EXPRT 子记录。
在日志级别为 all 的情况下,成功运行会生成一条记录,而在日志级别为 failures 的情况下,失败执行会生成一条记录。否则,除非使用日志设备机制,否则不会生成日志。
表 8-31
@D-PLD
格式:{@D-PLD|<文件名> | <操作> | <操作返回码> | <结果消息字符串> | <播放器程序计数器> | }
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 文件名 | str | " " | 标识测试使用的已编译程序文件的名称。 |
| 操作 | str | " " | 标识 play 语句执行的 STAPL 源操作。在 SVF 和 Jam 文件中,由于这些文件类型不支持过程性操作,因此使用默认名称。 |
| 操作返回码 | int | 0 | 指定执行操作的返回码。零(或空参数)表示通过条件。 |
| 结果消息字符串 | str | " " | 描述错误状态码。 |
| 播放器程序计数器 | int | 0 | 指示发生故障的 JBC 操作码索引。 |
通过程序文件中的 STAPL 导出命令来生成 D-PLD 的一个或多个 @EXPRT 子记录,如表 8-32 所示。
表 8-32
@EXPRT
格式:{@EXPRT | <关键字> | <字段> }
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 关键字 | str | " " | 标识导出的变量名称的值。 |
| 字段 | int | 0 | 代表导出时变量的值。 |
D-PLD 还可能拥有一个或多个 @NOTE 子记录,如表 8-33 所示。此记录通过 STAPL 源文件中的 note 头命令生成。
表 8-33
@NOTE
格式:{@NOTE | <备注名称> | <备注字符串> }
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| 备注名称 | str | " " | 标识返回的备注字段的关键词名称。 |
| 备注字符串 | str | " " | 代表返回的备注字段的内容。 |
-
生成者:play 语句
-
子记录:@EXPRT 和 @NOTE
以下示例显示了从 STAPL 读取 ID 代码测试程序生成的记录:
示例 8-26
sh
{@BLOCK|d3_18v04|00
{@D-PLD|digital/idtest.jam.jbc|read_idcode||||
{@EXPRT|Expected is: |1BBBB44444444445555555AAAA4321}
{@EXPRT|Got >> nd : |01BBB44444444445555555AAAA4321}
{@NOTE|CREATOR|Altera Chain Interrogation Version 2.02--Debug pipe mode}
{@NOTE|DATE|2001/04/30}
{@NOTE|ALG_VERSION|1}
{@NOTE|STAPL_VERSION|JESD71}
{@NOTE|MAX_FREQ|10000000}
}
{@D-T|0|384||0|d3_18v04}
}