Scan Synthesis Review
Review
- scan replacement - 将normal DFF替换为mux gate DFF
- scan stitching - 将DFF连接起来
- scan的作用:将测试困难的时序逻辑转变为易于测试的组合逻辑
- scanc测试过程:包含对于组合逻辑测试和时序逻辑测试两个过程,对于时序逻辑进行测试就是对于scan chain进行测试
时序逻辑测试
1.切换到scan mode(scan enable拉高)
2.scan input输入固定的pattern,一拍一拍进行输入
3.scan output接收pattern,一拍一拍接收
组合逻辑测试
1.切换到scan mode
2.输入test pattern(PPIs)
3.切换到function mode,输入(PIs)
4.测试POs
5.捕获组合逻辑的响应进行锁存
6.切换到scan mode
7.scan out
How to design scan clock structure
- 设计多为同步设计,同步设计都是通过时钟进行驱动的
- function design - 对于不同的clock domain进行单独的check,不同clock domain之间的关系是不check的
- 不同时钟域的DFF,在插入scan chain的时候如何考虑?

- 如果Design只有一个clock,做scan的时候可以使用function mode下的clock
- 一般在一个芯片中会有几十个或者是上百个clock domain,对于function clk,保证各个clk之间相互没有关系即可
- 对于scan clk而言,io数量是非常有限的(几百个或者几十个),例如一个芯片中有50个clk domain,其中一种方法可以将50个function clk拉出来进行测试,但是实际上在进行scan的时候是不会给那么多clk port,剩下的进行scan channel的数量就很少
- 在考虑scan clk的时候,为了节约IO数量,进行clk merge或者clk group

- 进行时序分析的时候认为clk1和clk2是异步的,进行timing check的时候都是分开考虑的
- 两个逻辑之间的数据交互通过设计方面进行解决:比如使用异步FiFo,实现两个时钟域进行信息交互或者使用两级或者三级同步器进行保证跨时钟域方式进行处理,通过同步设计的方法进行解决不是通过STA的方式进行解决
- 如果将这两个时钟进行merge,在timing check的时候,在进行STA的时候,不同的mode都需要进行check,但是不同的mode,使用的clk是不同的,如果时钟进行时钟的merge之后,就容易出现问题
- clk merge可能会增加额外的STA timing check和PR fixed timing violation
- 将没有交互的clk可以合并到一个clk,将交互比较少的clk进行merge,相近的频率的时钟可以merge在一起
Scan Synthesis Review的更多相关文章
- scan design flow(二)
在scan stitch之后,scan synthesis就已经完成, Scan extraction主要用来从scan design中extracing所有的instance,来保证scan cha ...
- scan design flow(一)
一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...
- Logic and Fault simulation
fault simulation是指对fault circuit的simulation,来locate manufacturing defects并且进行fault diagnosis. logic ...
- Security Testing Basics
Security Testing BasicsSoftware security testing is the process of assessing and testing a system to ...
- (转)Deep Learning Research Review Week 1: Generative Adversarial Nets
Adit Deshpande CS Undergrad at UCLA ('19) Blog About Resume Deep Learning Research Review Week 1: Ge ...
- The 10 Best Choices On The Market Review 2018
Looking to buy a scan tool or considering one of Autel Scanner impressive product line?. The company ...
- 【云迁移论文笔记】Cloud Migration Research:A Systematic Review
Cloud Migration Research:A Systematic Review Author Info: Pooyan Jamshidi PhD Postdoctoral Researche ...
- 由学习《软件设计重构》所想到的代码review(一)
前言 对于一个程序猿来讲怎样来最直接的来衡量他的技术能力和产出呢?我想最直观的作法是看他的代码编写能力,就拿我常常接触的一些程序猿来看,他们买了非常多技术重构类书籍.可是看完后代码编写能力并没有显著提 ...
- How to transform the day time images to night time ? A series of paper review and some thinkings about this point.
How to transform the day time images to night time ? A series of paper review and some thinkings ab ...
- Paper Review: Epigenetic Landscape, Cell Differentiation 01
Today, I'll share a review papers about Epigenetic Landscape, the Epigenetic Landscape is related to ...
随机推荐
- MySQL运维14-管理及监控工具Mycat-web的安装配置
一.Mycat-web介绍 Mycat-web(现改名为Mycat-eye)是对Mycat-server提供监控服务,通过JDBC连接对Mycat,MySQL监控,监控远程服务器的cpu,内存,网络, ...
- Javascript Ajax总结——其他跨域技术之Web Sockets
Web Sockets的目标是在一个单独的持久连接上提供全双工.双向通信.在Javascript中创建了Web Sockets之后,会有一个HTTP请求发送到浏览器以发起连接.在取得服务器响应后,建立 ...
- 三个月我迁移了100PB数据
2023年马上结束,这一年做了不少事情,有一项我可以吹好几年,忍不住和大家分享一下啊. 需求 去年底收到一项需求,要求2个月内从某云存储迁移100PB数据到微软云存储,包含几百亿个文件.当时听到这个数 ...
- MinIO客户端之cat
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc cat 使用cat命令输出本地硬盘上的文本文件的内容至控制台. ./mc cat ./local.json ...
- 【ASP.NET Core】使用SignalR推送服务器日志
一个多月前接手了一个产线机器人项目,上位机以读写寄存器的方式控制机器人,服务器就是用 ASP.NET Core 写的 Web API.由于前一位开发者写的代码质量问题,导致上位机需要16秒才能启动.经 ...
- CSS3学习笔记引言
开始我们要来介绍css: CSS(全称为Cascading Style Sheets)是一种用于描述HTML.XML等文档样式的样式语言,它能够定义元素的显示方式,如字体.颜色.布局等. CSS可以把 ...
- flutter中全局与单页面背景图片(动态图片)
单页面设置背景图片 使用 Container 组件和 decoration 属性: 优点:简单易用,适用于大多数情况下的页面背景设置. 缺点:无法控制背景图片的位置和层级. class MyBook ...
- 云图说|什么是可信智能计算服务TICS
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 本文分享自华为云社区&l ...
- JVM内存模型,你看这一篇就够了
摘要:JVM是一种用于计算设备的规范,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的. 本文分享自华为云社区<[云驻共创]JVM内存模型的探知之旅>,作者:多米 ...
- 累加求和 1~ n求和
a=1 ~ n 的求和 \[\sum_{a=1}^n a \] 公式:(首项 + 末项) * 项数/2 如果 a=1. n = 10 => (1+10)10/2 = 55 Python 代码 a ...