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

相关推荐
bug嘛我经常写21 小时前
MIKE21结合ArcGIS制作随时间变化的降水文件(.dfs2)-笔记
经验分享·笔记·arcgis
hanlin0321 小时前
刷题笔记:力扣第169题-多数元素
笔记·算法·leetcode
kaixin_啊啊21 小时前
中国研究生数学建模竞赛(华为杯)学习笔记——数据预处理全流程
人工智能·笔记·学习·数学建模·ai·大模型·数据预处理
星云API|微信接口开发1 天前
企业微信二次开发实战笔记:如何用在线调试快速验证接口功能
数据库·笔记·企业微信
David猪大卫1 天前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
自小吃多1 天前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
小刘在重生~1 天前
Java 异常体系完整笔记
java·笔记·python
泡泡鱼(敲代码中)1 天前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
祁白_2 天前
防御引擎绕过方法
笔记·web安全·php·防御引擎
志尊宝2 天前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存