详解DFT的scan(边界扫描)

目录

1.scan结构图

2.scan测试过程

3.scan模式下的shift,launch和capture

4.scan测试方法下的DC/AC

5.scan中的专业术语:


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

scan过程的shift,launch和capture_cy413026的博客-CSDN博客目录1. launch和capture的概念a. launch-off-shiftb. launch-from-capturec .两者的区别1. launch和capture的概念launch和capture一定是对两个寄存器而言的,当前寄存器reg_cur,前一级寄存器reg_bf。对于reg_cur它的launch就是reg_bf的capture,这个概念在scan和sta中都是一样的。以同步电路为例:reg_bf 在@posedge...https://blog.csdn.net/cy413026/article/details/123664279

4.scan测试方法下的DC/AC

scan分为stuck-at和at-speed两种测试模式

itemclk说明对应的DC/AC
stuck-at测试机提供时钟 时钟慢静态测试 测试芯片中的固定故障 故障和时钟频率无关DC mode
at-speedfunction clk测试芯片中的延迟故障,也就是transitionAC mode

既然有At-speed test和DC的两种测试模式,就需要用到 OCC电路,OCC电路可参考:

OCC(On-Chip-Clock)含义及功能和At-speed test_cy413026的博客-CSDN博客_dft occ1.含义及功能OCC :On Chip ClockOPCG :On-Product Clock GatingSCM:scan clock mux上面三种是同一东西的不同叫法就是为了at-speed ATPG测试时在function clock和shift clock之间切换的控制逻辑。不同人设计的电路不一样,它就是一个2选一的clock mux,设计时注意处理一下cdc的pat...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信号。

  • 12
    点赞
  • 255
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值