5.7.3 Double-Capture
用skewed-load的方法的物理实现难点可以用double-capture方法解决,它是一种at-speed test 技术,两个连续的capture脉冲分别用于launch the transition和capture the output response,这也被叫做broad-side 或者launch-on-capture 。The double-capture scheme can achieve true at-speed test quality for intra-clock-domain and inter-clock-domain faults in any synchronous or asynchronous design and that is easy for physical implementation。
5.7.3.1 One-Hot Double-Capture
one-hot double-capture这个方法也是和one-hot skewed-load类似,示意图如下:

不同的是:
- 这里用的是两个连续的capture脉冲
- 用的是一个单独的、慢速的GSE signal控制两个时钟域,所以能够用来检测true at-speed testing of intra-clock-domain delay faults,无论是同步还是异步都行
但是这个方法的缺点是:
- 不能被用于检测inter-clock-domain delay faults
- 耗时长
5.7.3.2 Aligned Double-Capture
one-hot double-capture这种方法的缺点可以用aligned double-capture来解决,和aligned skewed-load方法一样,aligned double-capture可以让所有的intra-clock-domain faults和inter-clock-domain faults被测到,不同主要是:
- 用的两个连续的capture脉冲
- 用的是一个单独的、慢速的GSE signal控制时钟域
下面是它的示意图:

这个方法是for true at-speed testing of synchronous clock domains,主要的缺点是还是需要精准对齐,对于asynchronous clock domains的物理实现会很复杂。
5.7.3.3 Staggered Double-Capture
aligned double-capture方法的问题可以通过staggered double-capture解决,示意图如下:

C1和C3用于create transitions,C2和C4时transitions are captured,可以用a single, slow-speed GSE signal驱动任何时钟域,所以这个方法对于异步时钟可以实现true at-speed testing。因为用到的是a single GSE signal,这个方法可以降低物理复杂度并且可以将LBIST与scan/ATPG很容易地结合起来以提升电路的故障覆盖率。
5.7.4 Fault Detection
Scan ATPG和LBIST是目前两种最常用的structural offline test技术,用于提升故障覆盖率和产品质量。但是用scan ATPG实现100%的single-stuck故障覆盖率并不能保证完美的产品质量。除了这种故障,检查不出来的故障就分成了三类:
- timing dependent和时序相关的:可能是电阻开路、连接处电阻远远大于设计值、晶体管驱动能力低
- sequence dependent和序列相关的
- 像stuck-open fault一样
- 会导致feedback bridging fault的
- attributed to timing-independent, non-single-stuck-at faults不太理解
下表展示了之前介绍的timing control schemes能够检测到的故障和必须采用的设计风格:

他们的优缺点总结成5点:查原文吧。
总结来说,对有同步和异步时钟域的电路实现true at-speed testing用hybrid double-capture scheme(将staggered double-capture和aligned double-capture结合)最完美,物理实现又容易,还能和conventional scan/ATPG technique结合提升故障覆盖率。
5.8 A DESIGN PRACTICE(设计一个LBIST系统练习,听起来有点好玩)
这一节展示了一个设计LBIST系统的例子,用来测试一个scan-based design (core),有两个时钟域(用到s38417和s38584),这两个时钟域是从ISCAS-1989 benchmark circuits中拿出来的,他们的数据展示在下表中:

这个例子中展示了所有的一个LBIST系统的设计、验证正确性、提升故障覆盖率的步骤。