scan design flow(二)
在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(二)的更多相关文章
- scan design flow(一)
一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...
- Atitit vod click event design flow 视频点播系统点击事件文档
Atitit vod click event design flow 视频点播系统点击事件文档 重构规划1 Click cate1 Click mov4 重构规划 事件注册,与事件分发管理器分开 ...
- scan design rules
为了更好的设计一个scan design,一些scan design的rule必须遵循. 1)tristate bus在shift mode下必须保持bus contention: 2)bidirec ...
- Material Design入门(二)
本文主要包括以下内容 侧滑菜单DrawerLayout实现 CardView实现 DrawerLayout介绍 drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可 ...
- Dynamics CRM2016 业务流程之Task Flow(二)
接上篇,Page页设置完后,按照业务流程管理也可以继续设置Insert page after branch 或者 Add branch,我这里选择后者,并设置了条件,如果Pipeline Phase ...
- Material Design (二),TextInputLayout的使用
前言 一般登录注冊界面都须要EditText这个控件来让用户输入信息,同一时候我们通常会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件T ...
- FPGA design flow
FPGA engineering process usually involves the following stages: Architecture design. This stage invo ...
- SystemVerilog for design 笔记(二)
转载请标明出处 1. System Verilog文本值和数据类型 1.1. 增强的文本值赋值 相对于verilog,SV在文本值赋值时可以1.无需指定进制 2.赋值可以是逻辑1 用法: reg ...
- flutter学习之二Material Design设计规范
前言: 最近在自学flutter跨平台开发,从学习的过程来看真心感觉不是那么一件特别容易的事.不但要了解语法规则, 还要知晓常用控件,和一些扩展性的外延知识,所以套一句古人的话“路漫漫其修远矣,无将上 ...
随机推荐
- 深入浅出WPF(1)—转(http://liutiemeng.blog.51cto.com/120361/91631/)
深入浅出WPF(1)——什么是WPF 2008-05-15 19:06:00 小序: Hi,大家好!几乎两个月没有写技术文章了.这两个月,我在学习WPF.回顾一下两个月的学习历程,有两个感觉— ...
- java.lang.IllegalArgumentException: No converter found for return value of type: class Person
在http://www.cnblogs.com/winner-0715/p/6033462.html我们讲到三个条件就能实现SpringMVC返回json的功能 但是按照这三个条件配置后,运行出现了错 ...
- Insert BLOB && CLOB from PL/SQL and JDBC
For PL/SQL 1)Create Directory Where BLOB resides. create or replace directory temp as '/oradata2'; - ...
- 微信分享JS接口失效说明及解决方案
关键字:微信分享 JS 失效 分享到朋友圈 微信分享JS接口目前已失效,以前可以自定义分享的标题.描述.图片.链接地址在微信6.0.2版本中失效. 官方回复如下: 旧版的获取分享状态及设置分享内容的 ...
- java中 set,list,array(集合与数组)相互转换
public static Object[] List2Array(List<Object> oList) { Object[] oArray = oList.toArray(new ...
- linux敲入命令不记录的方法
history 查看命令列表 history 当前shell进程下的记录的 每个伪终端 窗口都是一个单独的进程,会自己记录命 ...
- Android ListView 自定义 Adapter
自定义Adapter类 public class ListViewAdapter extends BaseAdapter { private static final String TAG = Mai ...
- storm 随机发送字符串
Storm的程序叫做Topology,类似MapReduce job 一个Topolog应该有Spout,代表数据源,和若干个bolt 首先写一个Spout public class RandomSp ...
- linux:问题
1>.Xshell远程连接linux闲置时间过长会自动中断连接: 2>.在linux环境下乱码: 3>.在linux下面执行mv /bin/ls /root/bin之后执行ls就不能 ...
- 当As3遇见Swift(三)
类 As3 Swift中似乎没有包,包路径的概念.因而显得简洁的多. package { public class ShuaiGe { } } Swift类 class ShuaiGe{ } 类的构造 ...