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. RepositoryItemComboBox 用法1

    RepositoryItemComboBox cbbEnd = new RepositoryItemComboBox(); cbbEnd.TextEditStyle = DevExpress.Xtra ...

  2. 计算器<代码>

    import re l_no = "-4.0*-4+((-1-8.0*2*-1)-(-9.456/1.57))/8+-8*7" true_tr = "-4.0*-4+(( ...

  3. Linq世界走一走(LINQ TO XML)

    前言:Linq to xml是一种使用XML的新方法.从本质上来说,它采用了多种当前使用的XML处理技术,如DOM和XPath,并直接在.NET Framework内将它们组合为一个单一的编程接口.L ...

  4. Java学习-027-JSON 之一 -- 初识

    通常,我们在生活中使用的应用产品(无论是 Web应用还是 App 应用),又或者我们平常的信息交流,均无可避免的存在着信息交互,在信息交互的过程中就有着信息载体的存在.那么,在我们熟知的网络应用产品中 ...

  5. ant 执行到javac时运行中止,怎么办?

    今天下午我用ant,明明都能打出target.后来改了点代码就不行了,执行到compile的javac时运行中止,真是见鬼了. 在ant构建文件上右击,点击"run as"-> ...

  6. LeetCode Majority Element I && II

    原题链接在这里:Majority Element I,Majority Element II 对于Majority Element I 来说,有多重解法. Method 1:最容易想到的就是用Hash ...

  7. 如何在SQLServer中处理每天四亿三千万记录

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  8. nginx学习

    nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的. 看了nginx源码,发现这是一份完全没 ...

  9. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍

    面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...

  10. oracle修改sys用户密码