scan测试的基本原理 scan测试的基本过程

电子说

1.3w人已加入

描述

  • 首先介绍scan测试的基本原理。

scan测试中两个最基本概念:

  1. 可控性(control)
  2. 可观测性(observe)

scan设计的两个基本流程:

  1. 把普通寄存器替换成可扫描的寄存器
  2. 把可扫描的寄存器连成扫描链

如下图所示:左边是普通寄存器,右边是可扫描寄存器,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测试可以大概分为如下四个步骤:

  1. Test setup
    1. 初始化过程,让芯片进入scan test模式,可以由端口控制,也可以由内部寄存器控制。
  2. Shift---load/unload
    1. 串行shift in确定值到scan chain的寄存器上,然后把测试结果shift out进行对比。
  3. Capture
    1. scan_enable拉低,从输入端口force确定值,从输出端口measure输出值,然后puluse capture clock。
  4. Repeat load/unload---shift/capture until test is done
    1. 重复shift和capture过程,直到测试结束。

scan测试具体分析包含如下5个events:

  1. Load scan chain(many cycles)
  2. Force primary inputs(PI)
  3. Measure primary outputs(PO)
  4. Pulse capture clock
  5. Unload values from scan cells

如下图所示:步骤2,3,4就是capture过程。

寄存器

  • 最后再介绍scan测试的具体细节。

主要具体介绍如下四个步骤:

  1. LOAD
  2. FORCE PI
  3. MEASURE PO
  4. PULUSE CAPTURE CLOCK

LOAD过程分为如下4步:

  1. Force SE to "1"(scan enable)
  2. Force SI(scan chain input pin)
  3. Pulse shift clock
  4. 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测试的基本原理和过程。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分