在scan stitch之后,scan synthesis就已经完成,

Scan extraction主要用来从scan design中extracing所有的instance,来保证scan chain的完整性。

并保证所有的design change都整合到scan design。

Scan Verificaiton

1)在shift operate中的hold time violation,如果两个scan cell是同时钟,需要由CTS来保证clock skew有一个

minimum的值。如果clock属于异步clock,需要插入lock_up latch。

2)错误的scan initialization sequence,不能进入test mode。

3)不完整的scan design rule的check和repair,reg的set/reset以及clock的enable/gate等。

4)scan synthesis的错误,将positive放在negative之前等。

scan capture操作可能会在zero_delay和full_timing之间有mismatch。

Verifying the scan shift operate:

使用一种flush test的测试用例,用full_timing的simulator,来保证数据从scan input到scan output的时钟数相同。

为了保证clock skew也满足要求,用例使用"01100"这样的数值,包含0-0,0-1,1-0,1-1所有的场景。

为了快速定位错误的scan cell的位置,flush testbench需要有可以observe到内部scan cell的处理。

1)scan hold time violation in different clock,Lock-up latch插入。

如果一条scan chain中有多个clock,每个clock之间的latency不同,design要求,保持在半个cycle之内,

所以加入一个negative的latch可以解决这个问题。

2)scan hold time和setup time in same clock,CTS redone或者插入buffer。

3)保证所有的negative-edge都在positive-edge前边,或者加入lock-up FF。

Verify the scan Capture operate:

1)通常应用一个broadside-load的testbench,直接将整个test pattern移动到scan cell中,只包含一个clock的

shift cycle和一个clock的capture cycle。

目前也都可以通过STA的方式来进行scan shift和scan capture的verify。

Scan Design Costs:

1)area overhead cost,包括两部分,scan cell与FF的替换,以及scan routing的部分。

2)I/O pin cost,包括一个dedicate test mode pin(可以通过一个initial sequence来避免)

以及I/O的shared with function。

3)performance degradation cost,增加了functional path的delay。

4)Design effort cost,在正常flow之外还需要进行design rule checking and repair,scan synthesis,

scan extraction,scan verification。

scan design的其他purpose:

总结来看,有enhanced scan,snapshot scan,error_resilient scan,system debug,soft error protection。

1)enhanced design,增加的delay fault detection。其中一种结构中增加一个Latch,每次锁存两bit的数据。

同时做STA时,也会增加很多false path。

2)Snapshot Scan,可以在不打断logic的functional operation的同时,capture到internal states of element。

设计通过在需要的storage element上增加scan cell来实现(不是替换),这样的设计叫做,scan set。

RTL DESIGN FOR TESTABILITY:

由于time-to-market的关系,越来越多的testability issues希望在RTL阶段得到fixed。

通过在netlist进行testability repair来,形成一个环路,每做一次testability repair需要进行重新DC。

scan design flow(二)的更多相关文章

  1. scan design flow(一)

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

  2. Atitit vod click event design flow  视频点播系统点击事件文档

    Atitit vod click event design flow  视频点播系统点击事件文档 重构规划1 Click cate1 Click  mov4 重构规划 事件注册,与事件分发管理器分开 ...

  3. scan design rules

    为了更好的设计一个scan design,一些scan design的rule必须遵循. 1)tristate bus在shift mode下必须保持bus contention: 2)bidirec ...

  4. Material Design入门(二)

    本文主要包括以下内容 侧滑菜单DrawerLayout实现 CardView实现 DrawerLayout介绍 drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可 ...

  5. Dynamics CRM2016 业务流程之Task Flow(二)

    接上篇,Page页设置完后,按照业务流程管理也可以继续设置Insert page after branch 或者 Add branch,我这里选择后者,并设置了条件,如果Pipeline Phase ...

  6. Material Design (二),TextInputLayout的使用

    前言  一般登录注冊界面都须要EditText这个控件来让用户输入信息,同一时候我们通常会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件T ...

  7. FPGA design flow

    FPGA engineering process usually involves the following stages: Architecture design. This stage invo ...

  8. SystemVerilog for design 笔记(二)

    转载请标明出处 1. System Verilog文本值和数据类型 1.1. 增强的文本值赋值 相对于verilog,SV在文本值赋值时可以1.无需指定进制    2.赋值可以是逻辑1 用法: reg ...

  9. flutter学习之二Material Design设计规范

    前言: 最近在自学flutter跨平台开发,从学习的过程来看真心感觉不是那么一件特别容易的事.不但要了解语法规则, 还要知晓常用控件,和一些扩展性的外延知识,所以套一句古人的话“路漫漫其修远矣,无将上 ...

随机推荐

  1. C++内嵌汇编代码,简单文件加密

    #include <iostream> #include <fstream> using namespace std; int main(int argc, char* arg ...

  2. Javascript正则表达式验证邮箱地址

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...

  3. xdebug和xhprof

    在安装时出现不是:1% 不是有效的win32 应用程序原因可能是是下载了64位的.dll扩展与当前的php不兼容

  4. Excl 的一些用法--如何给很多列赋同一个值

    1.用鼠标选定要负责的列(多列) 2.在处填写值 3.Ctrl+Enter

  5. JavaScript:单选钮的事件处理

    单选按钮事件: 单选钮属于多选一的处理流程,但是单选钮由于也是HTML元素,所以对于JavaScript而言也表示对象. 注意:单选钮的特点是一定要需要名相同才可以实现,所以此处如果名字相同,那么就是 ...

  6. Android 关于ExpandableListView刷新的解决办法

    正文 首先是最基础的 ExpandableListView vList = (ExpandableListView) this.findViewById(R.id.list); EListAdapte ...

  7. SQLServer找出执行慢的SQL语句

      SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' , ...

  8. “双十一”购物狂欢节,电商运营和商业智能(BI)才是绝配

         百年前,人们获取信息的方式是通过报纸.书籍:十年前,人们获取信息的方式是通过传统PC互联网:而如今,在4G网络高速发展的浪潮下,伴随着移动智能终端的普及,人们获取信息的方式已经逐渐转向了移动 ...

  9. Java 收集的代码 transient

    public class Main { public static void main(String[] args) { ((NULL)null).haha(); } } class NULL { p ...

  10. subeclipse 安装

    网址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA