在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. LINQ to SQL系列四 使用inner join,outer join

    先看一个最简单的inner join,在读取Student表时inner join Class表取的对应的Class信息: static void Main(string[] args) { usin ...

  2. Spark Programming--Fundamental operation

    max max(key=None) Find the maximum item in this RDD. Parameters:key – A function used to generate ke ...

  3. Codeforces Round #367 (Div. 2)---水题 | dp | 01字典树

    A.Beru-taxi 水题:有一个人站在(sx,sy)的位置,有n辆出租车,正向这个人匀速赶来,每个出租车的位置是(xi, yi) 速度是 Vi;求人最少需要等的时间: 单间循环即可: #inclu ...

  4. 关于Xib 需要注意的地方

    当你需要写一个繁琐的界面但是又是静态页面时,很可能会用到xib [特例:创建继承于UIView的文件时,不带自动生成xib的勾选项,需要开发人员手动new一个同名的xib文件,在该xib文件右侧的cl ...

  5. 超爱http://www.runoob.com/菜鸟编程

    超爱http://www.runoob.com/菜鸟编程 http://www.runoob.com/

  6. imx6dl i2c4 support

    imx6dl i2c4 support 最近的项目用到了imx6dl的i2c4,其实完全可以用gpio-i2c的方法来实现.既然imx6的datasheet中提到有4个i2c,那么一定可以生成i2c的 ...

  7. PHP加密解密字符串

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些AP ...

  8. Vue.2.0.5-混合

    基础 混合是一种灵活的分布式复用 Vue 组件的方式.混合对象可以包含任意组件选项.以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项. 例子: // 定义一个混合对象 var myMi ...

  9. News: Visual Studio Code support debugging Linux Apps

    http://arstechnica.com/information-technology/2015/11/visual-studio-now-supports-debugging-linux-app ...

  10. UIActivityIndicatorView

    1.    activityIndicatorViewStyle 设置指示器的样式 UIActivityIndicatorViewStyleWhiteLarge UIActivityIndicator ...