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修正后给桥接故障检测用。

相关推荐
Flittly1 分钟前
【AgentScope Java新手村系列】(8)多Agent协作
java·spring boot·笔记·spring·ai
Cloud_Shy61833 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第七章 Item 51)
开发语言·人工智能·笔记·python·学习方法
星恒随风42 分钟前
C++ string 入门(一)
开发语言·c++·笔记·学习
hnult43 分钟前
2026在线笔试平台选型指南:考试云九重防作弊与六大AI能力解析
人工智能·笔记·microsoft·课程设计
cuso4win1 小时前
Agent 项目里的 Eval 到底是什么?怎么分类?不同项目应该怎么评测?
笔记·python·agent·eval
格兰芬多呼神护卫1 小时前
轮臂机器人-运动控制软件架构方案学习笔记
笔记·学习·机器人
江屿风1 小时前
C++图论基础Bellman-Ford与spfa算法如何判断负环
开发语言·c++·笔记·算法·图论
.千余3 小时前
【C++】C++ set 与 multiset 完全指南:关联式容器入门
开发语言·c++·笔记·学习·其他
三品吉他手会点灯17 小时前
STM32F103 学习笔记-24-I2C-读写EEPROM(第1节)-I2C物理层介绍
笔记·stm32·学习
万物更新_18 小时前
vue框架
前端·javascript·vue.js·笔记