zoukankan      html  css  js  c++  java
  • DFT scan chain

    现代集成电路的制造工艺越来越先进,但是在生产过程中的制造缺陷也越来越难以控制,甚至一颗小小的 PM2.5 就可能导致芯片报废,为了能有效的检测出生产中出现的废片,需要用到扫描链测试(scan chain),由此产生了可测性设计即 DFT flow。

    注意scan test 只能检测出制造瑕疵,无法检测芯片功能瑕疵。

    DFT 第一步是做 scan chain,首先将电路中的普通 DFF 换成 scan DFF:

    scan DFF 是在原DFF 的输入端增加了一个 MUX,于是多了几个 pin :scan_in,scan_enable,scan_out

    换完之后将所有的 scan DFF 首尾依次串接起来,就构成了一条 scan chain :

     

    当 SE 信号(即 scan enable )有效时,电路进入scan 状态,此时数据通路如下图蓝色粗线所示:

     

    当 SE 信号无效时,电路工作在 normal 状态,数据通路如下图红色粗线所示:

     

    那么,这样一条 scan chain 是如何检测到电路中的缺陷呢?

    简单来讲,scan chain 工作时分为三个步骤: load ····>  capture ····> unload

    load 是将input pattern 打入 scan chain

    capture 是将每一级组合逻辑的结果打入下一级register

    unload 是将scan chain 中的数据串行输出,得到 output pattern

     下图是一个简单的 scan chain 工作原理示意图:

    结合上图,可知scan mode 的工作步骤如下:

    1. 将普通的 register 替换为 scan register

    2. 将 scan register 首尾依次串接起来

    3. 在 SE 有效拉高时,将 input pattern 串行打入scan register

    4. 然后 SE 拉低,等 Reg/Q 的值经过组合逻辑运算后到达下一级 reg 的D 端

    5. 再产生一个 capture pulse 将 D 端的值打入寄存器

    6. 最后 SE 拉高,将 reg 中的值依次串行输出,得到 output pattern

    7. 如果 output  pattern 和预期的输出结果相同,说明电路工作正常

       否则说明电路制造有问题,属于废片了

     Question : 为什么 cts 时, func clock 和scan clock 经常出现长不齐?

     

     

    |--------------------------------|

     

     

  • 相关阅读:
    PHP新的垃圾回收机制:Zend GC详解
    SSH隧道技术简介
    mysql主从延迟
    非root配置linux下vim
    PHP 中的 9 个魔术方法
    PHP内核介绍及扩展开发指南—Extensions 的编写(下)
    PHP内核介绍及扩展开发指南—Extensions 的编写
    php 扩展开发
    php opcode
    rsa 数学推论
  • 原文地址:https://www.cnblogs.com/xiaoxie2014/p/10621808.html
Copyright © 2011-2022 走看看