如何利用LBIST进行设计的故障检测

发表于 2019-08-08 15:58:24 收藏 已收藏
赞(0) •  评论(0

如何利用LBIST进行设计的故障检测

发表于 2019-08-08 15:58:24

由于LBIST向量的随机性,LogicBIST的设计表现出随机模式电阻,从而导致低故障覆盖率。为了解决这个问题,我们在随机抗性故障分析(RRFA)的帮助下插入测试点。利用LBIST进行设计的故障检测能力的计算是在故障模拟的帮助下完成的,该模型给出了“测试质量”的估计。我们将在下面更详细地讨论这些,以及增加LBIST设计中故障检测的技术。

使用LogicBIST进行故障定位

通过LBIST测试是一种伪随机测试,不同于生产扫描测试,这是更确定的测试。 LBIST中的扫描矢量由伪随机模式发生器(PRPG)生成,其产生伪随机序列。而在生产扫描测试的情况下,扫描矢量通过自动测试设备(ATE)确定性地通过扫描输入馈送。

由于LBIST测试的随机性,并不总是可以测试特定的故障是因为没有直接控制在设计中移位的扫描输入序列。当LBIST在组合强烈或在寄存器之间具有大的组合路径的设计上实现时出现问题。这些设计可能会对随机模式产生抵抗,这意味着将某些节点随机控制为0或1值的概率,或者将某些节点观察到扫描寄存器的概率很低,假设随机和同等可能的输入被馈送到设计中。

以图1中的AND门为例,我们计算控制门输出的概率值为'1'。下图显示了每个节点获得值“1”或“0”的概率。格式P(1)/P(0)。

如何利用LBIST进行设计的故障检测

图1: 2输入和门的可控性

图2组合深度时在不同节点获得'0'或'1'值的概率增加一个。在该组合块的输出处获得'1'的概率是1/8。然而,这仍然是一个非常简单的组合块,我们在实际设计中看到了复杂的块。因此,随着组合深度的增加,控制节点的能力降低到特定值。

如何利用LBIST进行设计的故障检测

图2: 2深度组合的可控性逻辑

此类设计在使用LBIST进行测试时表现出对随机模式的抵抗力,并可能导致低故障覆盖率。为了处理这种情况,我们经常插入点来提高设计的可测试性。测试点可分为两类:控制点和观察点。

控制点将特定节点控制的概率提高到“0”或“1”值。两种类型的控制点都显示在图3和图4中,其中控制点的AND类型增加了节点被控制为'0'值的概率,而OR类型控制点的数量增加了节点被控制为“1”值的概率。

如何利用LBIST进行设计的故障检测

图3: AND类型控制点将可控性增加到值'0'

如何利用LBIST进行设计的故障检测

图4: OR型控制点将可控性增加到值'1'

观察点使难以观察的设计节点容易观察到一些扫描仪。当要观察设计的多个节点时,对这些节点进行抽头异或并馈送到扫描触发器。观察点的一个示例实现在图5中示出。

如何利用LBIST进行设计的故障检测

图5:观察点

使用随机抗性故障分析(RRFA)方法完成测试点的识别。通过在故障模拟期间收集少量随机测试模式的统计数据来进行识别。计算电路中每个信号的可控性和可观测性度量,并通过使用概率模型测量Δ覆盖增益来给予权重。基于对故障模拟数据的分析,RRFA列出了测试点插入的可能候选者,并将它们分类为control0/1或观察点。

LogicBIST故障模拟

故障模拟是分析电路的重要工具/方法从故障检测的角度来看。故障模拟过程模拟设计中的节点故障,以确定给定的一组测试矢量检测到哪些故障。如前一节所述,RRFA通过分析在存在随机刺激或测试向量的情况下节点可控性和可观察性的概率,使用故障模拟来确定合适的测试点插入候选者。

类似地,当设计插入LBIST时,我们会在设计上模拟移位和捕获过程,并确定LBIST向量覆盖哪些故障。该过程的输出是故障覆盖报告和最终LBIST签名(MISR),其用作设计的预期响应。可以根据输入修改故障模拟过程,以获得不同的故障覆盖范围和签名。

图6显示故障模拟流程,指定系统的输入和它的输出。将讨论改变输入和输出使用方式的影响。

如何利用LBIST进行设计的故障检测

图6:故障模拟流程:输入和输出

从故障模拟系统的输入开始,我们将讨论这些输入如何影响系统的输出。

首先,设计应该符合LBIST标准,这意味着它应该是扫描缝合的,并且应该在设计中屏蔽所有X源。 X源是逻辑,其状态不是确定性的并且对于故障模拟系统是未知的。某些类型的X源是LBISTed逻辑的非驱动输入,模拟模块的输出,三态总线,时序异常等。应使用适当的x阻塞机制阻止这些X源。

系统的第二个输入是PRPG SEED值。种子值确定馈送到设计的移位数据序列。为了找到最大覆盖范围的最佳种子值,可能必须经历多个故障模拟,或者故障模拟引擎本身可以计算最佳种子。

系统的第三个输入是约束和移位捕获序列。 MISR和故障检测还取决于LBIST模式的数量,设计的移位长度,静态约束以及应用捕获脉冲的序列。

如何利用LBIST进行设计的故障检测

图7:影响故障覆盖的因素

运行期间运行的模式数量越多LBIST越是故障检测。通常,模式的数量取决于应用程序用例。例如,在生产测试的情况下,我们可能没有任何模式数量的硬限制,但在现场自检的情况下,设备需要在一定的持续时间内响应,因此模式的数量需要最佳,但在最短时间内实现最大覆盖。

故障模拟引擎要求在约束环境中设置设计以执行LBIST模式。这些约束作为情况设置被馈送到引擎,这些设置是静态的或者可以在不同模式之间变化。这些案例设置以及移位捕获时钟序列有助于故障模拟引擎模拟设计周期并计算最终的MISR。

时钟的移位和捕获序列可以硬连线或LBIST控制器的可编程功能。这决定了不同时钟域的脉冲方式。该序列极大地影响了故障检测,因此优化这些序列很重要。它应该尝试给最大时钟域提供最大数量的模式。增加捕获深度的连续深度也可以提高覆盖率,也有助于降低模式。

如何利用LBIST进行设计的故障检测

图8:时钟转换和捕获序列

结论

现场LBIST测试对于军事和汽车等关键应用中使用的设备是必须的。测试目标也非常严格,以便在最短的时间内实现最大的故障覆盖率。 LBIST控制器的故障检测能力决定了测试的质量和时间,并且取决于诸如时钟排序,PRPG种子的智能选择以及添加的控制和观察点的数量等参数,如所讨论的。为了获得最大的覆盖率,对设计进行适当的分析和优化,以及使用所描述的技术,应指导您的LBIST测试。

声明:本文由入驻电子说专栏的作者撰写或者网上转载,观点仅代表作者本人,不代表电子发烧友网立场。如有侵权或者其他问题,请联系举报。侵权投诉

收藏

相关话题

评论(0)

加载更多评论

分享到

QQ空间 QQ好友 微博
取消