scan & ATPG
Testability用来表征一个manufactured design的quality。
将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(controllable)可观(observable)来表征。
DFT的实现的两个大方向:ad hoc和structure。
1)ad hoc:利用良好的设计习惯,来保证testability。减少无关逻辑,异步逻辑,增加可控可查点。
2)structured:更加系统,自动的方法。包括三个方法:
scan design:需要改变内部时序逻辑。
Built-in Self-Test(BIST):需要在器件中插入测试功能。
boundary scan:增加电路,来保证板级测试性。
其中bist和boundary需要在DC之前来做,scan design在DC之后做增量型编译。
bist逻辑中也需要scan design。
scan操作的流程:
1)使能scan mode;
2)打开scan clock,输入stimulus;
3)比较output,再关掉scan clock,来输入下一stimulus。
scan操作可以分为full scan和Partial scan。full scan的覆盖率最高而且ATPG容易产生,但是对面积和时序不友好。
Partition Scan:针对大型设计,从block的层次来进行scan设计,加入scan input/output/enable
Test Points:针对一些难以观察控制的点,额外加入mux来进行控制。
如或门的输出,输入还有一个1,另一个输入,就难以观察,后续逻辑就难以控制,
此时可以在或门之后,加入一个mux,以及一个input和一个output来保证coverage。(例程见相册)
ATPG(Automatic Test Pattern Generation),Test patterns也叫做test vector。
有random pattern和Deterministic pattern两种,不过多数使用random,包含两部分:
1)generation patterns;
2)完成fault simulation;
测试种类(Test Type):分为三类:
1)functional test,主要针对static defects,(open,short,stuck-on,stuck-open)
2)IDDQ,测试静态功耗current。以Pseudo stuck-at模型来进行分析。
对于Full static的CMOS电路,IDDQ接近于零,上拉下拉,三态总线的IDDQ较高,
RAM这样的动态存储器中也会产生较高IDDQ。
3)At-Speed test:主要分析transaction,path delay。如slow-to-rise,slow-to-fall。
以上都是单一的fault模型,也可能发生fault collapsing。
scan中的专业术语:
Scan Cells:一个scan cell,在一条scan chain中至少包含一个memory element(FF或latch)。
Master Element:直接从上一个scan cell中,得到数据的scan cell,与scan input直接相连接。
Slave Element:在scan chain中的同一个clock的scan cell。
Shadow Element:在scan chain之外的FF或latch。
Copy Element:与上下的scan cell拥有相同或相反的数据的scan cell。
Extra Element:在master element和slave element之间的任意一个element。
Scan chain:一系列连接起来的scan cell,包括一个input ,output,enable。靠近output的scan cell编号0。
Scan Groups:一系列可并行处理的scan chain(有自己的输入和输出)。
Scan Clocks:scan操作的时钟信号,包括reset和set信号。
scan architecture:主要有三种:
1)mux-scan:在传统的DFF数据输入端,加入mux。
2)clocked-scan:替换FF为一个mux clock的FF。
3)LSSD(Level-Sensitive Scan Design) architecture:将一个latch替换为主从两个latch。
其中mux-scan和clocked_scan,主要用在FF电路,LSSD主要用在锁存器电路,框图见相册。
Test Procedure Files:描述scan circuirty的操作。用STIL语言编写(Standard Test Interface Lauguage)。
Model Flattening:一些DFT有内部自己的model,他们通过将netlist中的单元替换为自己的model,再进行操作。
scan & ATPG的更多相关文章
- At_speed_test
Logic BIST通过将很多的tester functionality放在CUT中,减少了test costs,但是更重要的一方面是at-speed testing. At-speed test包括 ...
- scan design flow(一)
一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...
- scan design rules
为了更好的设计一个scan design,一些scan design的rule必须遵循. 1)tristate bus在shift mode下必须保持bus contention: 2)bidirec ...
- scan cell
scan cell有两种不同的input: 1)data input:由电路的combinational logic驱动: 2)scan input:由另一个scan cell驱动,从而形成scan ...
- go-hbase的Scan模型源码分析
git地址在这里: https://github.com/Lazyshot/go-hbase 这是一个使用go操作hbase的行为. 分析scan行为 如何使用scan看下面这个例子,伪代码如下: f ...
- theano scan optimization
selected from Theano Doc Optimizing Scan performance Minimizing Scan Usage performan as much of the ...
- Sql Server 聚集索引扫描 Scan Direction的两种方式------FORWARD 和 BACKWARD
最近发现一个分页查询存储过程中的的一个SQL语句,当聚集索引列的排序方式不同的时候,效率差别达到数十倍,让我感到非常吃惊 由此引发出来分页查询的情况下对大表做Clustered Scan的时候, 不同 ...
- MySQL的loose index scan
众所周知,InnoDB采用IOT(index organization table)即所谓的索引组织表,而叶子节点也就存放了所有的数据,这就意味着,数据总是按照某种顺序存储的.所以问题来了,如果是这样 ...
- Golang 逐行读写之scanner.Scan
Go语言实现逐行读的方法多种,本文只介绍Scaner的方法,也是go推荐的方法. 官方文档 例子: file, err := os.Open("filename") if err ...
随机推荐
- node.js的exprots工厂模式
工厂类: /** * Created by zzq on 2015/5/15. */ module.exports = function(){ this.getProduct = function() ...
- .Net程序员安卓学习之路6:等待条
一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条 本例将实现一个无框架的等待条,效果如下: 点击后,使线程Sleep5秒,就出现如下效果: 实现代码如: private Progre ...
- 20145211 《Java程序设计》第8周学习总结——自在飞花轻似梦
教材学习内容总结 认识NIO Java NIO(New Input/Output)--新的输入/输出API包--是2002年引入到J2SE 1.4里的.Java NIO的目标是提高Java平台上的I/ ...
- Payoneer欧洲收款账户开通激活及使用-用于接收欧洲公司资金和欧元收款
在亚马逊国际平台的卖家往往会被问道需要美国(或者欧洲或者日本等)银行账户才能收款,这个政策个人认为是亚马逊对当地卖家的保护政策(大量的中国低价物美的卖家涌入会导致当地的卖家没有优势),二是当地税收政策 ...
- Linux中挂载移动硬盘的方法
- fdisk -l 找出移动硬盘对应的设备 - mkdir 创建挂载点 mkdir /mnt/usb - mount mount -t ntfs-3g /dev/sdb1 /mnt/usb - u ...
- http://blinkfox.com/shi-yong-spring-aoplai-tong-ji-fang-fa-de-zhi-xing-shi-jian/
http://blinkfox.com/shi-yong-spring-aoplai-tong-ji-fang-fa-de-zhi-xing-shi-jian/ spring-aop.xml @Com ...
- How to Iterate Map
常用iterate 方法 Map<Integer, String> m = new HashMap<Integer, String>(); for(Map.Entry<I ...
- LeetCode Find Peak Element
原题链接在这里:https://leetcode.com/problems/find-peak-element/ 题目: A peak element is an element that is gr ...
- opacity_不透明度 cursor_鼠标形状
1.不透明 opacity:0.5; (不透明度为50%) filter:alpha(opacity=50);(为了兼容IE) 2.鼠标形状 cursor 属性规定要显示的光标的类型(形状). ...
- Ubuntu14.04安装和配置Tomcat8.0.12(转)
Ubuntu14.04长的好看,所以一时间很感兴趣,研究各种软件的安装和开发环境的配置.今天先把安装的tomcat 8.0.12的教程分享给大家.如果你需要,请收藏!!! 工具/原料 系统环境:U ...