DFT笔记40

下图展示了一个典型的structural offline BIST技术:

分为以下几个部分:

  1. test pattern generator (TPG):自动生成测试向量
  2. circuit under test (CUT):测试向量被施加到待测电路上
  3. output response analyzer (ORA):自动压缩CUT的输出响应内容,形成一个signature
  4. logic BIST controller :生成时序控制信号(包括scan使能信号和时钟),用于协调TPG,CUT,and ORA三部分的工作,最后产生一个测试通过没通过的指示(将final signaturegolden signature进行对比)

注意:以上的过程都要遵守BIST-specific design rules,后面单独有一节讲这些规则。

下面是structural offline BIST的三个优点:

  • 可以有效检测和报告板上与系统中的错误而且提供诊断信息(电路即便是被集成到板上也能测试,让系统修复变得简单可行);不需要外部测试机就可以测试
  • 可以在芯片上容易地追溯错误;一些没有被软件模拟的缺陷能被测出来
  • 测试花费更少,比如减少测试时间、减少测试机存储的空间、或者测试机相关的花费

下面是structural offline BIST的缺点:

  • 需要处理好unknown值(也就是需要注意一些BIST-specific design rules)
  • 因为BIST大多数时候用的pseudo-random patterns,所以要多加额外的测试点去提升故障覆盖率(测试覆盖率可能比用scan低)

5.2 BIST DESIGN RULES

LBIST与传统的scan相比需要更多严格的设计规则。

LBIST的规则限制主要与unknown (X) values的传播相关,因为它的出现会篡改signature,而在scan中仅仅是会降低测试覆盖率而已。

BIST design rules:需要满足所有的scan design rules和BIST-specific design rules。满足所有设计要求就能把设计转换为BIST-ready core。

5.2.1 Unknown Source Blocking(未知来源拦截)

unknown (X) 可能会被直接或者间接地传播到ORA,它们必须被拦截并用DFT修复方法进行修复,这种方法叫做X-bounding 或者X-blocking。下图介绍了5种X-bounding方法的应用:

分别为:

  1. 0-control point
  2. 1-control point
  3. bypass logic
  4. control-only scan point
  5. scan point

这个方法也存在一些问题:

  1. 它可能会增加设计的面积
  2. 可能会影响时序

根据不同的情境选择上面5种方法。下面的小节就是各种情境。

5.2.1.1 Analog Blocks

analog blocks就是指analog-to-digital converters (ADCs),模拟模块的输出可能是unknown的,它必须是一个known的值,可选的方法是:

  • 0-control point
  • 1-control point
  • bypass logic
  • control-only scan point

推荐后两种,因为故障覆盖率更高。

5.2.1.2 Memories and Non-Scan Storage Elements

memories有:

  • dynamic random-access memories (DRAMs)
  • static random-access memories (SRAMs)
  • flash memories

non-scan storage elements有:

  • D flip-flops
  • D latches

针对以上两大种来源的unknown值典型地采用Bypass logic方法。

5.2.1.3 Combinational Feedback Loops

要避免出现combinational feedback loops,如果它们实在无法避免,那么这个环必须要用以下几种方法打破:

  • 0-control point
  • 1-control point
  • scan point

推荐使用scan point,因为它能实现更高的故障覆盖率。

5.2.1.4 Asynchronous Set/Reset Signals(异步置位/复位信号)

set/reset disable pin必须要在shift operation时被设置为1,也就是不让这个pin起作用,在第2章中用到的是一个外部的external set/reset disable (RE) pin,但是在BIST中建议用内部的已知信号existing scan enable (SE) signal去保护这个shift过程并且在每一个set/reset signal上加上一个时钟set/reset clock point (SRCK),如下图:

在测试all data和set/reset faults时,注意是在不同的BIST区域中,如下图:

  • 在第一个capture window中,system clock (CK)有效,SRCK是held状态
  • 在第二个capture window中,SRCK有效,system clock (CK)是held状态

用这样的方式避免了竞争和冒险,而且防止了scan cells中的数据被破坏。

5.2.1.5 Tristate Buses

要防止总线争抢,用到的下图所示的one-hot decoder可以使shift或者capture时只选择一个驱动:

相关推荐
树的枝4 分钟前
【STM32】05.TIM定时器
笔记·stm32·单片机·嵌入式硬件
不会代码的小猴14 分钟前
6. Qt网络编程
开发语言·c++·笔记·qt·算法
tq10861 小时前
从阿罗不可能定理到所有制:动态协调与资源再配置的理论逻辑
笔记
峥无11 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
不会代码的小猴12 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
疯狂打码的少年13 小时前
【数据结构】图的存储结构:邻接矩阵与邻接表
数据结构·笔记
蒸蒸yyyyzwd14 小时前
cpp 选手准备秋招学习笔记 day10
笔记·面试·求职招聘
haerapicom15 小时前
欠定方程里藏着哪几个非零项:OMP 稀疏恢复侦探笔记
笔记
程思扬15 小时前
Android ANR实战排查:主线程SystemClock.sleep导致页面启动偶现无响应
android·笔记
zjnlswd16 小时前
C#学习笔记4
笔记·学习·c#