1.scan结构图
扫描路径法的显著优点就是测试中把时序电路转化为组合电路,使得测试生成比时序电路容易,而且处于扫描路径上的触发器的状态是“透明的”:可以串行地移入所需要设置的状态,也可以把电路状态串行地移出去。
一般说来,基于扫描路径设计的电路,只要对组合电路部分和不在扫描路径上的触发器进行测试生成,而处于扫描路径上的触发器的测试方法和测试图形是固定形式的,就并不需要测试生成。
对于scan设计,需要使用专门的scanDFF,相比于普通的DFF,scan DFF多了三个端口:
扫描使能(Scan Enable, SE);
扫描输入(Scan In, SI);
扫描输出(Scan Out, SO)
但是一般情况下SO和Q复用一个pin,其结构如下图:
scan设计的结构如下图所示,将scan DFF的Q端和SI端连接,多个scan DFF就组成了一个scan chain。在实际的芯片设计中,将普通DFF替换成scan DFF并串成scan chain这两步操作都是由工具自动完成。
上图是没加组合逻辑的图。
下图给出带组合逻辑无scan功能之前的示意图:
下图是带组合逻辑+scan的结构图。
以上的图片来自在芯片设计和测试中scan和bist有什么区别? - 知乎
2.scan测试过程
scan的测试施加分为两个阶段:先测试触发器,然后测试组合电路部分。先测试触发器的原因是,对组合电路部分的测试控制和观察要用到触发器。
1.触发器的测试
测试触发器时先置 SE=1,这样扫描路径上的触发器就构成移位寄存器方式,每个触发器可以通过串行方式设置状态,其状态信息也可串行移出后观察。测试图形通过串行输入 SI 施加,测试输出在串行输出 SO 观察。施加的测试图形一般包含 M 个 0,接着再有 M 个 1,这里 M 是扫描路径中触发器的个数。为了防止测试图形的冒险,例如 RAM 测试中会遇到的问题,还要用到其他的测试图形,例如交替的 1 和 0。
2.组合电路的测试
对于电路的每一部分都应生成测试图形,测试施加时测试图形应该排成一定的顺序,对
于固定型故障,此顺序不一定要有规律,但对于与序列顺序有关的故障模型,测试图形施加
顺序需加以一定考虑。每一个测试图形施加后,响应先是被锁存在触发器,然后通过把触发
器构成移位寄存器的方式把响应扫描移出。测试施加方案遵循以下协议:
(1)置 SE=1,通过串行输入 SI 给移位寄存器移入初始化值;
(2)置 SE=0,在原始输入端施加测试图形;
(3)运行一个时钟,组合部分测试响应锁存到触发器;
(4)置 SE=1,电路运行 M 个时钟,测试响应通过串行扫描输出移出来;
重复上述步骤,直至所有的测试图形都得以施加。
因为每一个测试图形都包含触发器输出端的信号,因此应在测试图形的其他信号施加以前输入这些信号,另外触发器的初始化也可以与前一个测试响应的移出,也就是上述协议的步骤(4)同步进行。据此,修改测试施加协议如下。
(1)初始化——置 SE=1,移位寄存器串行移入第一个测试图形所用的初始化值;
(2)置 SE=0,在原始输入端施加一个测试图形;
(3)运行一个时钟,组合电路部分测试响应锁存到触发器;
(4)置 SE=1,同时进行以下操作:
--通过 SI 串行移入下一个测试图形所用的初始化值;
--电路运行 M 个时钟;
--在原始输出及 SO 观察结果;
重复步骤(2),直至所有测试图形都得以施加。
以上这节内容摘自VLSI测试方法学和可测性设计---雷邵冲
总结以上测试过程总共分为三个步骤:
1.scan chain的移位寄存器shift
2.某一级寄存器输出launch
3.后一级寄存器capture经过前一级launch并通过组合逻辑之后的数据
下一节具体说明这三个过程
3.scan模式下的shift,launch和capture
https://blog.csdn.net/cy413026/article/details/123664279
4.scan测试方法下的DC/AC
scan分为stuck-at和at-speed两种测试模式
item clk 说明 对应的DC/AC
既然有At-speed test和DC的两种测试模式,就需要用到 OCC电路,OCC电路可参考:
https://blog.csdn.net/cy413026/article/details/84302717
5.scan中的专业术语:
Scan Cells:一个scan cell,在一条scan chain中至少包含一个memory element(FF或latch)。
Master Element:直接从上一个scan cell中,得到数据的scan cell,与scan input直接相连接。
Slave Element:在scan chain中的同一个clock的scan cell。
Shadow Element:在scan chain之外的FF或latch。
Copy Element:与上下的scan cell拥有相同或相反的数据的scan cell。
Extra Element:在master element和slave element之间的任意一个element。
Scan chain:一系列连接起来的scan cell,包括一个input ,output,enable。靠近output的scan cell编号0。
Scan Groups:一系列可并行处理的scan chain(有自己的输入和输出)。
Scan Clocks:scan操作的时钟信号,包括reset和set信号。
原文链接:https://blog.csdn.net/cy413026/article/details/123648564
网友评论