DFT笔记37

4.10.3 Transition ATPG Using Stuck-At ATPG

一个transition fault可以被模拟为两个stuck-at faults,比如说一个上升沿是从0到1,那么检测的stuck-at faults就是在第一个时间检测fault a/1,第二个时间检测fault a/0。

4.10.4 Transition ATPG Using Stuck-At Vectors

下图例子中的pattern:

V2和V3被用了很多次,一个理想的方法是,把重复的序列只存一次,如果重复用的话再去调用,但是出书时测试机还没有这样的功能,那么就退而求其次,只有两个挨着的重复的向量可以这么去操作:那么这个序列就成了{V1,V2∗,V3∗,V4,V3,V5,V1,V3},原来的8个向量只需要存8个就够了。但是重复的向量的相关信息存在了测试机的control memory中,虽然测试机存储空间变小了,但是多用的control memory需要额外花钱。

因此有一个更好的办法处理上述问题。考虑向量{V1,V2,V3,V4,V1,V3,V5},transition test patterns就可以是(V1,V2)、(V2,V3)、(V3,V4)、(V4,V1)、(V1,V3)、(V3,V5),这个pattern集包含了上面图片的所有pattern,多了一个(V4,V1),这个例子说明了用7个向量而不是之前的10个就足够实现transition tests,这样的pattern链就叫做transition test chains。

4.10.4.1 Transition Test Chains via Weighted Transition Graph

因为transition faults和stuck-at faults很接近,所以可以从stuck-at test sets中构建出transition test sets。

重构测试集的算法就叫做weighted transition graph algorithm,用到的图就是weighted transition-pattern graph,下面的算法16就是算法运行的过程:

用下表举例:

表中的数据来自于一个由5个门组成的电路,里面包含10个stuck-at faults,一个stuck-at fault的测试集包含V1、V2、V3、V4,他们对应的excitation和detection都展示在了表格中。假设向量的顺序是{V1,V2,V3,V4},那么10个transition faults中就只有3个能检测到了(这个不需要知道怎么来的,当一个已知条件):

  • c slow-to-fall
  • e slow-to-fall
  • c slow-to-rise

但是当利用到表格中的没有构建的向量时,能检测出来一些额外的transition faults(不会看):

  • (V1,V3):a slow-to-fall
  • (V3,V1):a slow-to-rise
  • (V1,V4):d slow-to-fall
  • (V4,V2):d slow-to-rise
  • (V4,V1):a slow-to-rise、b slow-to-fall
  • (V2,V4):b slow-to-rise、e slow-to-rise、d slow-to-fall

对应的weighted transition graph见下图:

优化weighted transition graph的算法如下面的算法17:

这个算法背后的逻辑是这样的:

  1. 首先挑一个测试序列,长度为3,能覆盖大多数的faults,例如图4.54a中的(V2,V4,V1)
  2. 遍历完上面那个序列之后,5个transition faults就能被检测到了,这个图就变成了b
  3. 经历1和2之后,表4.16中的所有故障都可以用测试集{V2,V4,V1,V3,V4,V2}检测到了

4.10.5 Bridging Fault ATPG

bridging faults一般发生在挨得很近的信号线上,比如两条线为x和y,当x和y上放的值不同的时候,才能检测到这个故障,常用的bridging fault models入戏如下:

  • AND bridge
  • OR bridge
  • x DOM y bridge:x dominates y
  • x DOM1 y bridge:x dominates y if x = 1
  • x DOM0 y bridge

下图就分别展示了这5种桥接类型:

还有一种叫做feedback bridging fault ,否则就叫non-feedback bridging fault。拿下图举个例子:

如果abc = 110,那么无故障的电路结果是z = 0,如果这个bridge是AND,那么就会形成一个圈,因为会让a = 0,这样z就会是1,但是因为a最初给的是1,所以电路会努力让z = 0,但是又会让a =0,就这样形成一个死循环。

桥接故障和constrained stuck-at ATPG很像,所以可以用它的ATPG修正后给桥接故障检测用。

相关推荐
FakeOccupational1 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
Horn Still Sounds4 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
有范先生7 小时前
这次户外断粮危机后,我更在意主食能不能扛住极端环境了
笔记
喜欢打篮球的普通人8 小时前
MiniMind 学习笔记(十二):Pretrain 实操——从版本梳理到 8GB 显卡上的真实训练
人工智能·笔记·学习
坤坤子吖9 小时前
算法学习——高精度加减乘除
c++·笔记·学习·算法
Answer1st10 小时前
【HAL库】嵌入式思路(一)
笔记
AOI小白新手上路10 小时前
深度学习模块缝合方法论 · 人物蒸馏笔记
人工智能·笔记·深度学习
AOI小白新手上路10 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
M78佐菲11 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
東隅已逝,桑榆非晚12 小时前
priority_queue的介绍和使用
c++·经验分享·笔记·学习