DFT笔记42

5.3.1 Exhaustive Testing

Exhaustive testing针对n输入的组合逻辑电路需要个pattern,所以二进制计数器就可以作为exhaustive pattern generator (EPG),因为input生成的顺序不重要,所以使用maximum-length LFSR更好,而且为了实现用它生成向量,还需要修正一下LFSR让其包含全零状态,这种LFSRs叫做complete LFSRs (CFSRs)

5.3.1.1 Binary Counter(二进制计数器)

下图就是一个针对四输入组合逻辑电路设计的四位的二进制计数器,二进制计数器设计起来简单但是比LFSRs需要更多硬件:

5.3.1.2 Complete LFSR

下图中a和b(分别是standard和modular CFSR)是针对四输入组合逻辑电路设计的两种complete LFSRs,它们是从four-stage maximum-length LFSR重构出来的,因此周期为16,XOR门插入在最后一个stage并且NOR门用来作为zero-detector,这样就可以使状态{0001}后面插入一个全零状态。

上图c和d为a和b通过布尔运算简化的电路。如果想进一步简化,就可以用hybrid LFSR scheme实现。

Exhaustive testing通常适用于小于20个输入的电路,当输入大于20个时会耗时很长,下面讲的技术都是在努力减少测试pattern的数量,当exhaustive testing不适用的时候用。

5.3.2 Pseudo-Random Testing

pseudo-random pattern generator (PRPG) 会减小测试长度但是会降低故障覆盖率,Pseudo-random testing的优点就是可以用在组合逻辑电路上也可以用在时序逻辑电路上,难点在于需要评估测试长度和故障覆盖率。

5.3.2.1 Maximum-Length LFSR

Maximum-length LFSRs通常被用于pseudo-random pattern generation,但其实某些电路是有随机pattern抵抗性的random-pattern resistant (RP-resistant),比如五输入的或门,stuck-at-1的难度就很大。

5.3.2.2 Weighted LFSR

为了提高故障覆盖率(或者说检测到大部分的RP-resistant故障),会用到weighted pattern generation technique,顾名思义,就是加权重,让测到难测的故障概率升高,下图展示的就是一个four-stage weighted (maximum-length) LFSR,概率分布为0.25:

5.3.2.3 Cellular Automata

Cellular automata 是1983年被提出来的,比LFSR有更好的随机特性。**cellular-automaton-
based (or CA-based) pseudo-random pattern generator (PRPG)**在BIST应用中非常有吸引力,它有三个主要的优点:

  1. 提供的pattern更加随机
  2. 有机会在RP-resistant的电路中实现更高的故障覆盖率
  3. 它只需要相邻的neighbor之间通信,而不是全局的反馈,不像modular LFSR

cellular automaton (CA)cells的一个集合,一个cell的状态只取决于当前的cell和他的左右邻居门,下图a是一个基本的结构:

有一些规则如下:

根据这两条规则可以得到下面的状态转换表:

相关推荐
都市放羊36 分钟前
网络小白自学网工——因特网与网络互联技术
网络·笔记·自学
東隅已逝,桑榆非晚41 分钟前
新手入门指南:认识 C 语言文件操作(上)
c语言·开发语言·笔记
暴躁小师兄数据学院1 小时前
【AI大数据工程师特训笔记】第08讲:集合运算与超级函数
大数据·笔记·sql·ai·postgresql
searchforAI1 小时前
我的Obsidian知识库,现在可以自动剪藏笔记到本地了
人工智能·笔记·学习·音视频·ai工具·obsidian·视频总结
lcj25112 小时前
vector的基本使用 + 手搓成员变量 size capacity begin end operator[] reserve扩容 拷贝构造 赋值析构
开发语言·c++·笔记·面试
天行健王春城老师2 小时前
制造业生产管控实操指南 PMC体系落地与优化技巧解析
笔记·制造
Eric 辰东2 小时前
【C 语言程序的编译和链接】详解编译链接过程
c语言·笔记·算法·学习方法
星恒随风2 小时前
C语言数据结构排序算法详解(上):从插入排序、希尔排序到选择排序、堆排序
c语言·数据结构·笔记·学习·排序算法
疯狂打码的少年2 小时前
指令寻址方式(立即、直接、间接、变址等)
网络·笔记
在学了加油3 小时前
Inception v1学习笔记
笔记·python·学习