一个典型的scan实现的flow:
clock mux和一些rst,在Scan中都被bypass掉,是不能测到的。所以DFT的test coverage一般就在97%或98%。
scan design rule checking and repair:
可以在presynthesis RTL design或者postsynthesis gate-level design上进行,
经过scan repair之后的design,称为testable design。
scan synthsis是将一个testable design转换为一个scan design,目前design中会包含好几条scan chain。
scan extraction是将最终scan chain的结构提取出来,供ATPG使用。
scan verification针对shift,capture操作,进行response的验证。
Scan Design Rule Checking and Repair
进行scan design rule的check,某些clock control structure需要修改来增加at-speed test。
scan design rule的check也可以在scan synthesis之后,来保证没有新的violation出现。
在shift操作中,所有的clock都可以通过external pin来控制,在相邻的两个scan cell之间的
clock skew必须保证不会引起shift failure。
在capture操作中,data path的originate/terminate的clock可能是不一样的,这时需要考虑
timing来保证capture操作的正确。
Scan Synthesis
scan synthesis将一个testable design转变为一个scan design。
在1990年,scan synthesis的操作是一些分散的tools,将logic synthesis后的gate_level
netlist进行处理。
最近,scan synthesis的操作已经集成在了logic synthesis中,这样的处理,称为one-pass
synthesis或者single-pass synthesis。
主要包括四个部分:1)scan configuration; 2)scan replacement; 3)scan reordering;
4)scan stitching;
scan chain主要包括:
1)the number of scan chain;
2)the type of scan cells to implement these scan chain;
3)storage element to be excluded from scan synthesis;
4)the way of scan cell arranged in scan chain;
scan chain number主要由电路的input和output的个数来决定,high-speed的IO pad是不能
被用来做scan IO复用的。
scan cell的type,主要由lib来决定,一般每一种使用的storage element都会有相应的scan cell type,
来保证functionality和timing在正常操作下,被影响的最小。
exclude的storage element主要因为critical path或者security reason等。
storage element的arrange,主要由这些scan chain上的clock domain的多少来决定。
一般情况下,一个scan chain由属于同一个clock domain的scan cell组成,(因为在DC过程中,整个scan chain是一条data path
此时的异步逻辑在DFT中也会是同步的处理。)
当一个clock domain包含很多的scan cells时,一些scan chain会被结构化的实现,scan-chain operation被用来减小scan-chain的长度。
当一个scan-chain中既包含negative-edge scan cell又包括positive-edge scan cell时,negative的scan cell
应该放在positive scan-cell的前边。(为了clock一个周期只移动一位)
scan-chain的长度尽量平衡,方便并行化。
如果positive scan-cell放在前边,那么这两个cell在一个clock周期内,都会shift data。
当一个scan-chain的scan cell来自不同的clock domain时,一个lock-up latch需要插入。
这样可以保证,不论CK2优先CK1还是CK1优先CK2,shift的操作都是正确的。
但是必须保证CK1和CK2之间的skew少于一个duty cycle。
当scan chain的clock结构定下来以后,进行scan cell的stitch到scan chain以及这些scan cell的
place,stitch以最小化scan routing为目标。
Scan Replacement:
经过scan configuration,scan replacement将storage element替换为functionally equivalent scan cell
这时的design叫做,scan-ready design。
这些scan cell的input通常连接到同一个scan cell的output来避免floating。这些连接在stitch阶段去除。
目前,在RTL阶段也可以实现部分的scan replacement。
Scan Reordering
反应scan chain中scan cell的reorder。在物理实现之前,一个random的scan order被design使用。
在进行physical implementation时,scan order可以使用intra_scan_chain reordering(scan cell只在该scan
chain内进行reorder)和inter_scan_chain reordering(scan cell在不同的scan chain之间reorder)
scan stitching
将所有的scan cell stitch到一起,组成scan chain。将每一个scan cell的output连接到下一级的input。
将第一个scan cell的input连接到primary input,最后一个scan cell的output连接到primary output。
在stitch的过程中,需要插入一些lock_up的latch和lock_up的FF来保证shift操作正确。
scan design flow(一)的更多相关文章
-
scan design flow(二)
在scan stitch之后,scan synthesis就已经完成, Scan extraction主要用来从scan design中extracing所有的instance,来保证scan cha ...
-
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 ...
-
FPGA design flow
FPGA engineering process usually involves the following stages: Architecture design. This stage invo ...
-
scan cell
scan cell有两种不同的input: 1)data input:由电路的combinational logic驱动: 2)scan input:由另一个scan cell驱动,从而形成scan ...
-
scan &; ATPG
Testability用来表征一个manufactured design的quality. 将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(cont ...
-
SMTS Silicon Design Engineer Location: Beijing, Beijing, CN
https://jobs.amd.com/job/Beijing-Physical-Design-Engineer-Beij/603603700/?locale=en_US What you do a ...
-
ARM JTAG 信号 RTCK 应该如何处理?
用户在调试内嵌可综合内核的 CPU 如 ARM7TDMI-S 时,需要通过打开仿真器的自适应时钟功能. 此时,ARM仿真器根据 RTCK 时钟信号的频率,产生可用于 CPU 内核当前时钟主频的最快的 ...
-
DFT 问答 III
1.Boundary scan Boundary Scan就是我们俗称的边界扫描.Boundary Scan是上世纪90年代由 Joint Test Action Group(JTAG)提出的,它的初 ...
随机推荐
-
jsp基础
1.1动态页面 动态页面的优势: 1.交互性:网页会根据用户的要求和选而动态改变和显示内容; 2.自动更新:无需改变页面代码,便会自动更新的页面内容; 3.随机性:当不同的时间,不同的人访问同一网址时 ...
-
Beta版本冲刺计划
1.下一阶段需要改进完善的功能 文件读取 界面 人员批量增改 数据库 ... 2.下一阶段新增的功能 人员权限分离分化. 课表导出 ... 3.需要改进的团队分工(针对之前的不足,需要加强和改进团队协 ...
-
JavaScript学习记录总结(七)——dom对象应用之用户简单管理
<!DOCTYPE html><html><head><title>users.html</title> <meta name=&qu ...
-
vsftp.conf
anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES xferlog_enable=YES xferl ...
-
hdoj 1896 Stones【优先队列】
Stones Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Subm ...
-
Mysql的2003错误 cant connect to mysql 10060的解决
网上有很多这个问题,令人遗憾的是,都是复制粘贴的繁琐的命令行操作.我解决这个问题是在安装有可视化工具的前提下完成的.我想,使用Mysql数据库的大多数还是安装有可视化开发工具的吧,我就用phpMyAd ...
-
iOS-swift-基础篇1
一.swift是啥?答:百度. 二.swift基础知识. 1.输出函数:print print("Hello, world!") 2.简单数据类型 变量声明:var 常量声明:le ...
-
PKI信息安全知识点详细解答包含HTTPS
1. 什么是X.509? X.509标准是ITU-T设计的PKI标准,他是为了解决X.500目录中的身份鉴别和访问控制问题设计的. 2. 数字证书 数字证书的意义在于回答公钥属于谁的问题,以帮助用户安 ...
-
msf中exploit的web_delivery模块
背景:目标设备存在远程文件包含漏洞或者命令注入漏洞,想在目标设备上加载webshell,但不想在目标设备硬盘上留下任何webshell文件信息 解决思路:让目标设备从远端服务器加载webshell代码 ...
-
Python六大开源框架对比:Web2py略胜一筹(转)
Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...