scan cell有两种不同的input:

1)data input:由电路的combinational logic驱动;

2)scan input:由另一个scan cell驱动,从而形成scan chain;

在normal/capture mode下,data input来驱动output;

在shift mode下,scan input来驱动output;

几种scan_cell:muxed-D scan,clockd-scan,level-sensitive scan design(LSSD);

muxed-D Scan cell:多指edge_triggered muxed-D scan cell,由一个D flip-flop和一个multiplexer组成,

scan enable(SE)用来选择data input和scan input的输入。

一个level-sensitive的muxed-D scan cell,由一个multiplexer,一个D Latch,一个D FF。

来用替代一个普通的latch

Clocked-scan cell:

也主要用来替代D-FF,不过是通过两个独立的clk来进行选择,

一个data clock DCK;一个shift clock SCK;

主要的优势是不会对data path的timing造成影响,但是要求多一个clock的routing。

LSSD scan cell:

主要是应用在level_sensitive,latch-based design中。

cell包含两个latch,一个master latch,一个slave latch。

其中A/B/D均为clock,D为data input,I为scan input。

优点是可以保证race-free,但是同样会增加clock的routing。

scan architecture

1)full-scan design:所有的storage element都转变为scan cell,combinational ATPG来生成test;

主要的优点是将sequential的ATPG转变为简单的combinational ATPG;

almost full-scan design:在某些critical path和insignificant path上不加入scan。

Muxed-D Full-Scan Design:

Clocked Full-Scan Design:与Muxed-D类似,只是不再使用SE,分别使用两个clock。

LSSD Full-Scan Design:两个时钟C1/C2,A/B来控制shift和capture两种mode。

在full-scan的logic中,输入由两种:

primary input(PI),电路的external input;

pseudo primary input(PPI),scan cell的output

两种输出:

primary output(PO),电路的external output;

pseudo primary output(PPO),scan cell的input;

2)partial-scan design:部分的storage element转变为scan cell,combination和sequential ATPG来生成test;

在test的生成过程中,sequential的ATPG必须包含non-scan的FF的control和observe,这会增加test generation的

复杂性,所以一般将逻辑分开,可以根据functional partition,pipeline/feed_forward partial design.

Full-scan,partitial-scan都被定义为serial scan design,优点是routing的成本会比较低,缺点是每一个单独的scan-cell不能

在不影响本scan chain的其他cell的前提下,完成shift mode,造成high switchingde power消耗。

Random-access scan通过类似RAM似的地址寻址的方式来完成一个cell的shift mode。

3)random-access scan design:不用serial scan chain,使用random addressing的机制;

Scan cell的Q端与下一级的Scan cell的SI端直接连接起来。同时另一个load到combinational logic中。

在capture过程中,必须控制clock的个数,保证ATPG生成的reponse是正确的。

每一条scan chain中的激励和响应的reg的位置并不是对应的。根据ATPG生成的为准。

scan cell的更多相关文章

  1. scan design flow(二)

    在scan stitch之后,scan synthesis就已经完成, Scan extraction主要用来从scan design中extracing所有的instance,来保证scan cha ...

  2. scan design flow(一)

    一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...

  3. scan & ATPG

    Testability用来表征一个manufactured design的quality. 将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(cont ...

  4. INTEST/EXTEST SCAN

    INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SCAN 对应的就是EXTEST SCAN ...

  5. INTEST/EXTEST SCAN 的学习

    intest scan的一些基本知识.INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SC ...

  6. JTAG

    JTAG是JOINT TEST ACTION GROUP的简称,JTAG的两个标准IEEE 1149.1(2001)和IEEE 1149.7(2009). JTAG中主要包含两部分内容:TAP(TES ...

  7. fault coverage enhancement

    在pseudo-random test中,由于random pattern resistant的特性,fault coverage不是sufficient的, 所以会有一些办法来进行coverage的 ...

  8. DFT basics

    DFT测试中,最重要的部分还是sequential circuit的内部状态的测试. 起初ad hoc的方法用来提高testability,可以提高局部的coverage,但并不是一个系统性的方法. ...

  9. iwinfo 的使用

    以前使用iwconfig来配置和获取wireless的信息,目前openwrt已经废弃这种方式,采用 iwinfo 和 iw 命令来进行替代. iwinfo的使用方法如下: root@hbg:/# i ...

随机推荐

  1. Linux学习之CentOS(十)--虚拟机下的CentOS如何上网

    原地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/05/3001148.html 这篇随笔应该说跟CentOS的学习关系不是很大, ...

  2. 【转】关于Android资源文件中出现百分号的问题

    关于Android资源文件中出现百分号的问题 分类: Android JAVA2014-08-01 16:53 1345人阅读 评论(0) 收藏 举报 ANDROID格式化资源文件   目录(?)[+ ...

  3. meta的学习记录

    meta的学习记录 最近再学响应式的布局,就先来总结一下我们的viewport. 什么是viewport呢? 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(v ...

  4. 计算机管理打不开的解决方法,直接cmd修改reg

    复制命令即可: reg add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\she ...

  5. php 或js 常用的正则表达式

    1.    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:2.    "^\d+$" //非负整数(正整数 + 0)3.    "^[0-9 ...

  6. linux安装pip报错

    解决方法:升级pip工具 sudo python -m pip install -U pip

  7. [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变

    CONST(C中的CONST) const是一个C语言(ANSI C)的关键字,它限定一个变量不允许被改变,产生静态作用.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的 ...

  8. javascript实例学习之一——联动下拉框

    经常碰到这样的需求,如省市_城市_乡镇下拉框.后一个下拉框的内容会根据前一个的改变而改变,之前的解决方法往往是在前一个改变的时候,向后台发送请求临时获取对应的内容.这样每触发一次就会网络请求一次,这种 ...

  9. Ubuntu 的基本操作

    1.Linux 常用shell 命令,和之前用过的红帽差不多.开发所有和程序相关的代码.压缩包都在一个名为topeet的用户文件夹里 学习了Linux 的重要命令apt-get,用它来安装软件:在使用 ...

  10. 理解v$sql的exact_matching_signature与force_matching_signature

    理解v$sql的exact_matching_signature与force_matching_signature 对SQL语句,去掉重复的空格(不包括字符常量),将大小写转换成相同,比如均为大写(不 ...