高级边界扫描 --3-- 什么是Silicon Nail测试
Silicon Nail测试使用边界寄存器单元来替代物理探针或节点。Silicon Nail是指使用边界寄存器单元来替代节点上的物理探针。边界寄存器单元充当驱动器和接收器,如图6-1所示。边界扫描设备之间的设备通常是一个非边界扫描部分或一个小型集群。如果存在物理探针,则Silicon Nail测试将不允许您使用Silicon Nail来替代该探针。Silicon Nail会为具有库的数字设备自动生
高级边界扫描 --3-- 什么是Silicon Nail测试
文章目录
Silicon Nail测试
- 概述
- 何时使用Silicon Nail测试
- Silicon Nail测试开发流程
- Silicon Nail测试
- 调试
概述
Silicon Nail测试使用边界寄存器单元来替代物理探针或节点。Silicon Nail是指使用边界寄存器单元来替代节点上的物理探针。边界寄存器单元充当驱动器和接收器,如图6-1所示。边界扫描设备之间的设备通常是一个非边界扫描部分或一个小型集群。
如果存在物理探针,则Silicon Nail测试将不允许您使用Silicon Nail来替代该探针。
Silicon Nail会为具有库的数字设备自动生成测试,但您也可以选择手动编写Silicon Nail测试以适应其他情况。

Silicon Nail
何时使用Silicon Nail测试
设备的初始测试应相对简单(当它经过在线测试时)。
-
转换为Silicon Nail测试会将测试长度增加最多至原来的2N倍,其中N等于活动边界寄存器的总体长度,
-
活动边界寄存器的长度由与被测设备(DUT)连接的设备的活动寄存器总长度加上链中未用于测试DUT的所有设备的旁路寄存器长度决定(如图6-2中所示的TDI和TDO这间的连接)。
-
因此,如果图6-2中的硅节点Q、R、S和T连接到DUT(u7),活动边界寄存器的长度如下(这是一个近似值):
(DUT测试向量数量)x(u3边界寄存器长度 + u4边界寄存器长度 + 2)
2是u1 + u2的旁路长度(或每个设备一个)。
- 活动数据寄存器的长度如下:
(u3 + u4边界寄存器)+(u1 + u2旁路寄存器)
如果从一个向量到下一个向量,仅有钉入节点上的位改变,可以跳过序列化,从而导致更短的测试。图6-2中的J、K、L和M代表这种情况。

对简单设备进行Silicon Nail测试
如果DUT不是一个相对简单的设备(例如,微处理器),不推荐使用Silicon Nail测试策略。其中一个原因是需要太多向量来测试该设备。
Silicon Nail测试可能不理想的另一种情况是测试动态设备。当动态设备接收向量过于缓慢时,设备可能无法保持其内部存储状态,导致测试看似失败。
评估候选设备以进行Silicon Nail测试
正确决策是否使用Silicon Nail测试需要你仔细检查你将要测试候选设备的环境。
即使所有节点都已设置探针,使用Silicon Nail测试仍然有其价值。Silicon Nail测试可以包含嵌入式禁用过程,这些过程比非嵌入式边界扫描禁用更加稳健。
请参阅以下主题以了解需要考虑的因素:
- 使用Silicon Nail的优点
- 使用Silicon Nail的缺点
- 考虑问题的总结
使用Silicon Nail的优点
使用Silicon Nail可以让你访问由于物理限制而无法放置探针的设备或集群。使用Silicon Nail测试的优点包括:
- 需要的测试资源更少
- 夹具制造成本更低
- 节点上没有电容负载
- 能够执行可能以其他方式无法进行的测试
使用Silicon Nail的缺点
Silicon Nail测试的早期实施已识别出此测试策略的几个潜在问题。其中一些问题可能很小,例如需要修改库测试,但其他问题可能导致现场故障。
图6-3显示了一个7400组件(四个NAND门),其中同一个门的两个输入引脚短接在一起。

NAND门的短接输入可能会未被检测到
尽管存在缺陷,测试仍可能通过。通过表6-1,你可以检查其原因。
表6-1
双输入NAND门的真值表
| 引脚1 | 引脚2 | 引脚3 |
|---|---|---|
| 0 | 0 | H |
| 0 | 1 | H |
| 1 | 0 | H |
| 1 | 1 | L |
双输入NAND门有四种可能的组合。当两个输入均为高电平(11)或低电平(00)时,短路不会导致冲突。当两个输入被驱动至相反状态(01和10)时,输出预期为高电平。要在输出上产生故障,两个输入必须超过逻辑电平1。如果不是这种情况,NAND门将显示出正确的响应。
这种情况下的问题是它也可能通过系统测试并被交付给客户。然而,当两个输出处于相反状态时,它们互相冲突。这可能导致在现场维修时非常昂贵的故障。
Silicon Nail测试的一个局限是对DUT的实际矢量应用率较低。例如,以5 MHz的速率运行TDI通过超过1000个单元的链,结果是实际矢量应用率不到5 kHz。如果你正在测试动态组件,这可能会成为问题。
这种方法的另一个问题是,传统组件可能有一个通过物理探针访问的输入,要求上游设备被反向驱动。由于测试时间较长,可能会出现反向驱动问题。
需要考虑的问题总结
需要考虑的问题总结包括:
- 手动调整在线测试库
- 故障检测的限制
- 动态组件的局限性
- 潜在的反向驱动问题
- 矢量扩展(并行测试长度乘以边界寄存器长度)
此外,当替代硅资源后,Silicon Nail测试可能无法正确工作,尤其是当它依赖于测试系统中不存在的资源时。一个例子是依赖测试系统接收器负载(由set load语句控制)才能工作的测试。
例如,要测试一个简单缓冲IC的输出使能信号:
-
首先,启用输出并让0和1通过缓冲。
-
然后,将数据设置为(例如)全0,并设置接收器负载将输出拉至1。
- 这个矢量应在输出上显示0。
- 下一个矢量禁用输出,预期看到输出变高。这是由于驱动器被三态化,并且上拉电阻产生1。
如果用Silicon Nail接收器测试输出,最后一个矢量可能会失败,因为缺少上拉功能。
确保成功实施
在应用Silicon Nail测试策略之前,请仔细考虑上述问题。在可能的情况下,在传统组件上使用物理探针。如果确实采用Silicon Nail策略,你应该自问以下关于电路板的问题:
- 你想移除探针的节点是否连接到动态部件?
- 是否有候选节点连接到你想测量的模拟部件?
- 是否有候选节点连接到可能存在反向驱动问题的设备?
- 预序列化的测试是否较长(参见下文讨论),或预序列化的测试中是否有归位序列或时间设置等元素?
这些元素会导致错误。开发软件将继续运行,但不会生成功能完善的Silicon Nail测试。
如果对任何一个问题的回答是肯定的,你可能不应该对受影响的节点使用Silicon Nail测试。
序列化、测试长度和探针放置
矢量的序列化是Silicon Nail测试的重要组成部分,尽管它增加了测试长度。然而,在“繁忙”节点上战略性地放置一个或多个物理探针(如果可能)有时可以减少序列化和测试长度。请考虑以下示例:

在繁忙引脚上放置探针
在这个示例中,第一和第二节点之间不需要序列化,因为从矢量1到矢量2没有状态变化。在这个“繁忙”节点上放置一个物理探针(如果可能)可以消除第二个矢量的序列化并减少测试长度。
Silicon Nail测试开发流程
在i3070在线测试系统上进行测试开发,允许对可能存在访问限制的设备进行测试。可以自动生成Silicon Nail测试,并通过边界扫描链和测试系统资源测试数字引脚库设备。
非多路复用系统的测试开发
要使用Silicon Nail开发测试,请执行以下步骤:
-
在开发者界面中,选择“Configuration > Features”,然后选择“Enable Silicon Nails”选项。
-
在“Data Input > Pin Library Devices”任务中,通过在“Si Nails”列中的设备旁打勾,选择要使用Silicon Nail测试的设备。
-
像往常一样完成测试开发。
多路复用系统的测试开发
-
为每个被测设备选择一个策略(例如,Silicon Nail)。
-
为每个被测设备在电路板文件中输入适当的选项(例如,Silicon Nail对应“SN”)。
-
编译电路板。
-
使用IPG生成测试。对于使用Silicon Nail进行测试的设备,这一步的部分操作是运行Silicon Nail自动化,生成ITL文件。
-
编译测试。
更多推荐



所有评论(0)