- 首先介绍scan测试的基本原理。
scan测试中两个最基本概念:
- 可控性(control)
- 可观测性(observe)
scan设计的两个基本流程:
- 把普通寄存器替换成可扫描的寄存器
- 把可扫描的寄存器连成扫描链
如下图所示:左边是普通寄存器,右边是可扫描寄存器,D端前面加一个二选一的MUX,选择端是scan_enable,为1时选择SI端,为0时选择D端。
如下图所示:把所有可扫描寄存器首尾连接在一起,就构成了扫描链。注意,增加了三个端口,分别是SI(scan out),SO(scan out)和SE(scan enable)。
综上所述:scan就是把普通寄存器替换成可扫描的寄存器,目的是创建control和observation点,然后把所有的可扫描寄存器连接在一起串成扫描链(scan chain),利用扫描链,工具自动产生测试patterns,让寄存器处于一个特定的值(control),然后将期望的值移出来进行对比(observe),来判断芯片是否有缺陷。
- 接下来介绍scan测试的基本过程。
scan测试可以大概分为如下四个步骤:
- Test setup
- 初始化过程,让芯片进入scan test模式,可以由端口控制,也可以由内部寄存器控制。
- Shift---load/unload
- 串行shift in确定值到scan chain的寄存器上,然后把测试结果shift out进行对比。
- Capture
- scan_enable拉低,从输入端口force确定值,从输出端口measure输出值,然后puluse capture clock。
- Repeat load/unload---shift/capture until test is done
- 重复shift和capture过程,直到测试结束。
scan测试具体分析包含如下5个events:
- Load scan chain(many cycles)
- Force primary inputs(PI)
- Measure primary outputs(PO)
- Pulse capture clock
- Unload values from scan cells
如下图所示:步骤2,3,4就是capture过程。
- 最后再介绍scan测试的具体细节。
主要具体介绍如下四个步骤:
- LOAD
- FORCE PI
- MEASURE PO
- PULUSE CAPTURE CLOCK
LOAD过程分为如下4步:
- Force SE to "1"(scan enable)
- Force SI(scan chain input pin)
- Pulse shift clock
- Repeat steps 2 and 3 until all scan cells are loaded
如下图所示:SE拉高后,经过三次shift过程,三个扫描寄存器分别处于确定值011(从左到右)状态
然后SE拉低,电路处于function模式,从PI端口A和B force两个确定值11,同时三个寄存器的输出端的值011传递到组合逻辑输入端,经过一段时间从PO端口measure确定值1。
最后新的一组patterns(101),串行shift in,同时内部电路的确定值(111),串行shift out进行对比。
以上即为scan测试的基本原理和过程。
-
寄存器
+关注
关注
31文章
5317浏览量
120008 -
Mux
+关注
关注
0文章
38浏览量
23353 -
Scan
+关注
关注
0文章
12浏览量
3527
发布评论请先 登录
相关推荐
评论