Scan Synthesis Practice
不同上升沿触发器如何进行scan chain
DFT实例
Synopsys 工具文档
Mentor DFT脚本
- add_clocks 0 clk - 0表示上升沿
Synopsys DFT脚本
更改netlist
- 需要反相器,实现设计中既有上升沿触发的期间和下降沿触发的
- sysnopsys的库文件是.db文件,是二进制文件,是不可读的
- mentor的库文件是.mdt的文件,是可读的,可以从其中找一个反相器
- Netlist更改完成
输出的Netlist
- 工具默认的行为是将上升沿和下降沿的cell分别串成scan chain
set_scan_configuration
修改脚本
- 会将上升沿和下降沿的寄存器串成一个chain
- 一个test_si,先连到I3,I3是下降沿触发的,所以有上升沿和下降沿的寄存器,scan chain是先串下降沿再串上升沿
Multiple clock domain
- 默认会将不同的clock domain看成异步的关系,串成不同的scan chain,但是有时候会将多个时钟域串成一条scan chain,如何实现?
- 在一个时钟周期内,capture值越晚的,在scan chain中越向前
- 下降沿触发reg在上升沿触发器reg之前
- clock skew,clk上升沿晚到的clk,在scan chain中在前
- 不满足上述条件容易出现的问题:shift in的时候容易出现连着两个cell的值是一样的,shift out的时候,会丢失scan chain的值
- lockup cell是为了解决两个clock domain之间串scan chain的问题,不是为了解决register在scan chain上前后的顺序问题
Scan related signal
Scan Design rules - Clock
- 判断cell是不是能够串到scan chain上去,看cell串到scan chain上之后,scan chain是不是能正常的shift in和shift out
- 更改设计,function mode下的design保持不变,在df mode下将时钟打通,就可以将后面两个reg串到scan chain上
- 为什么时钟上要加与门?原因是为了低功耗设计,添加clock gating
- 时钟切换(clock toggle)导致晶体管的反转,功耗比较大
- 更改设计的方式:将逻辑更改,放到RTL中,综合之后可以考虑其中的时序;直接在netlist上使用工具进行auto fixed
Scan Design rules - Set/Reset
- reset信号是由DFF控制的,可能为0,可能为1,如果串到scan chain上去,导致scan chain不能正常shift in,shift out
Clocking Gating Cell
Scan Synthesis Practice的更多相关文章
- 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 ...
- Grid Infrastructure Single Client Access Name (SCAN) Explained (文档 ID 887522.1)
APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.1 and laterExalogic Elastic Cloud ...
- 关于并行计算的Scan操作
simple and common parallel algorithm building block is the all-prefix-sums operation. In this chapte ...
- Book Review of “The practice of programming” (Ⅲ)
The practice of programming Chapter 3 Design and Implementation In this section, we focus on one kin ...
- Union比or快 Using UNION is faster when it comes to cases like scan two different column。
problem: 595. Big Countries A country is big if it has an area of bigger than 3 million square km or ...
- Pramp mock interview (4th practice): Matrix Spiral Print
March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...
- Atitit 数据存储视图的最佳实际best practice attilax总结
Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论 本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...
- go-hbase的Scan模型源码分析
git地址在这里: https://github.com/Lazyshot/go-hbase 这是一个使用go操作hbase的行为. 分析scan行为 如何使用scan看下面这个例子,伪代码如下: f ...
随机推荐
- C# 输出的格式转换,占位/补位,字符串拼接、字符串内插法
// "0"描述:占位符,如果可能,填充位 Console.WriteLine(string.Format("{0:000000}", 12 ...
- ElasticSearch之cat indices API
命令样例如下: curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty" --cacert $ES_H ...
- X410的白嫖方案
微软商店下的x410要收费试用也就几天,记录白嫖方案.配置和使用跳转到上一篇文章:Windows下使用图形化的Havoc C2 编译运行 GitHub上start最多的是这个仓库,但是已经很久没有维护 ...
- 神经网络基础篇:详解导数(Derivatives)
导数 一个函数\(f(a)=3a\),它是一条直线.下面来简单理解下导数.让 看看函数中几个点,假定\(a=2\),那么\(f(a)\)是\(a\)的3倍等于6,也就是说如果\(a=2\),那么函数\ ...
- Prometheus配置Basic Auth进行安全防护,实现登录控制
本文分享自华为云社区<Prometheus配置Basic Auth进行安全防护,实现登录控制>,作者:可以交个朋友. 一.Prometheus Basic Auth 使用背景 在日常pro ...
- 实践解读丨Python 面向对象三大特征之多态
摘要:多态从字面意思上看就是多种形态,在我们python的面向对象里就是不同的对象在接收相同方法或者函数时会产生不同的行为,也就是说,每个对象可以用自己的方式去响应共同的函数,不同的方式实现不同的结果 ...
- 华为云云原生数据库:A Philosophy about “less”
摘要:斯坦福教授.Tcl语言发明者John Ousterhout的著作<A Philosophy of Software Design>提出了一个经久不衰的观点--软件设计的核心在于降低复 ...
- 如何用AscendCL的接口开发网络模型推理场景下应用?
摘要:本期我们来深入讲解网络模型推理场景下,具体怎么做. 本文分享自华为云社区<[CANN文档速递09期]应用开发之推理场景>,作者: 昇腾CANN . 我们知道,使用AscendCL接口 ...
- 云小课 | DSC:快速识别敏感数据并脱敏
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云数据安全中 ...
- 火山引擎DataLeap的Data Catalog系统搜索实践 (上)
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 摘要 火山引擎大数据研发治理套件 DataLeap的Data Catalog系统通过汇总和组织各种元数据,解决了数 ...