不同上升沿触发器如何进行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的更多相关文章

  1. scan design flow(二)

    在scan stitch之后,scan synthesis就已经完成, Scan extraction主要用来从scan design中extracing所有的instance,来保证scan cha ...

  2. scan design flow(一)

    一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...

  3. Logic and Fault simulation

    fault simulation是指对fault circuit的simulation,来locate manufacturing defects并且进行fault diagnosis. logic ...

  4. 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 ...

  5. 关于并行计算的Scan操作

    simple and common parallel algorithm building block is the all-prefix-sums operation. In this chapte ...

  6. Book Review of “The practice of programming” (Ⅲ)

    The practice of programming Chapter 3 Design and Implementation In this section, we focus on one kin ...

  7. 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 ...

  8. 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 ...

  9. Atitit 数据存储视图的最佳实际best practice attilax总结

    Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论  本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...

  10. go-hbase的Scan模型源码分析

    git地址在这里: https://github.com/Lazyshot/go-hbase 这是一个使用go操作hbase的行为. 分析scan行为 如何使用scan看下面这个例子,伪代码如下: f ...

随机推荐

  1. Pulsar3.0 升级指北

    Pulsar3.0 介绍 Pulsar3.0 是 Pulsar 社区推出的第一个 LTS 长期支持版本. 如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月:类似于 ...

  2. 【Python】【OpenCV】绘制外接矩形、外接圆

    外接矩形.外接圆: 1 import cv2 2 import numpy 3 4 img = cv2.imread('../img/img.png', -1) 5 ret, thresh = cv2 ...

  3. SQL优化案例(2):OR条件优化

    接下来上一篇文章< SQL优化案例(1):隐式转换>的介绍,此处内容围绕OR的优化展开. 在MySQL中,同样的查询条件,如果变换OR在SQL语句中的位置,那么查询的结果也会有差异,在多个 ...

  4. JavaFx设置图标(二)

    JavaFx设置图标(二) JavaFX 从入门入门到入土系列 JavaFx设置图标,需要注意,我这里是Maven管理项目 需要将图片放到resources/img/avatar.jpg下 impor ...

  5. thymeleaf自定义标签

    前言 使用thymeleaf自定义标签,环境:springboot 2.3.7 + thymeleaf 3.0.11(2021-01-14最新版) 由于使用shiro,我们需要与thymeleaf整合 ...

  6. flutter中去除导航栏与状态栏

    方法一 SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom]); // ...

  7. 神经网络优化篇:理解指数加权平均数(Understanding exponentially weighted averages)

    理解指数加权平均数 回忆一下这个计算指数加权平均数的关键方程. \({{v}_{t}}=\beta {{v}_{t-1}}+(1-\beta ){{\theta }_{t}}\) \(\beta=0. ...

  8. 干货分享丨轻松玩转 Huawei LiteOS 传感框架

    摘要:LiteOS传感框架将物联网终端设备上不同类型的传感器统一管理,通过抽象不同类型传感器接口,屏蔽其硬件细节,做到"硬件"无关性,非常方便于物联网设备的开发.维护和功能扩展. ...

  9. 昇腾实践丨ATC模型转换动态shape问题案例

    本文分享自华为云社区<ATC模型转换动态shape问题案例>,作者:昇腾CANN. ATC(Ascend Tensor Compiler)是异构计算架构CANN体系下的模型转换工具:它可以 ...

  10. 鸿蒙轻内核源码分析:Newlib C

    摘要:本文介绍了LiteOS-M内核Newlib C的实现,特别是文件系统和内存分配释放部分,最后介绍了Newlib钩子函数. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列二十 Newlib ...