ICC中对Skew进行Debug的好工具--Interactive CTS Window
本文转自:自己的微信公众号《集成电路设计及EDA教程》
以后打算交替着推送多种EDA工具的教程而不只是单纯针对某个工具,依次来满足不同粉丝的需求。
这里分享一篇多年之前写的推文,虽然时间比较久了,但是非常实用,非常受欢迎。
《ICC中对Skew进行Debug的好工具--Interactive CTS Window》
CTS无疑是数字后端中一个除了Floorplan之外最复杂的一个步骤,因为这一步可能会需要很多人为的分析以及操作。
用一个例子(该例子有一个主时钟、一个它的分频时钟,此外还做了DFT,插入了scan chain、boundary scan)来讲解如果CTS之后发现自己是设计的Skew很大该如何去Debug。后边会用一个长文来讲解做时钟树过程中遇到的问题以及尝试解决该问题的步骤,其中Debug主要用的就是这个工具。
>report_clock_tree -summary (报告的是Global Skew)
>report_clock_timing -type skew (报告的是Local Skew)
从上图发现,Skew很大,那么该如何进行Debug呢?可以使用菜单栏中的Clock> New Interactive CTS Window。
ICC会显示出设计中的时钟树名称,可以右键点击任意一个时钟树,选择Clock Arrival Histogram来生成时钟树信息柱状图。
根据该图能非常方便的查找Skew很大的原因。如果在时钟树中没有找到时钟树,可能改时钟树并未出现在当前的scenario里面,可以用current_scenario来切换当前scenario,并用report_clock_tree -clock_trees“clock_name”来报告相关时钟信息,然后就可以在New Interactive CTSWindow窗口中看到了。如果不执行report_clock_tree -clock_trees “clock_name”命令,还是无法看到的。
可以非常明显的发现,所有CTS存在问题的地方都是发生在control_observer_register(DFT插入的test point用于提高故障覆盖率)的CK端上,且他们还都是直接接到tclk_pad上了,没有经过IO tclk_block。说明在DC综合的时候control_observer_register的CK端没有hookup到正确的tclk_block/C上面。
修改之后上面的问题就不存在了。
更多资料欢迎移步微信公众号《数字集成电路设计及EDA教程》
网易云课堂视频课程
链接:https://study.163.com/course/introduction/1005909004.htm
Calibredrv教程-提高流程自动化
## 为了方便大家交流讨论 ##
## 建了一个QQ群 ##
## 集成电路设计及EDA教程 ##
## 加群请备注:EDA ##
## 群二维码如下 ##
# 本公众号有个红包和资料福利微信群 #
# 集成电路设计及EDA教程福利群 #
# 为了避免乱七八糟的人加进来 #
# 可以先加我微信,我拉你进群 #
# 加我微信 请备注下面问题的答案 #
# ASIC的全称 #
ICC中对Skew进行Debug的好工具--Interactive CTS Window的更多相关文章
- C#中的两种debug方法
这篇文章主要介绍了C#中的两种debug方法介绍,本文讲解了代码用 #if DEBUG 包裹.利用宏定义两种方法,需要的朋友可以参考下 第一种:需要把调试方法改成debug代码用 #if DEBU ...
- log4j中Spring控制台输出Debug级信息过多解决方法
log4j中Spring控制台输出Debug级信息过多解决方法 >>>>>>>>>>>>>>>>> ...
- 音频软件开发中的debug方法和工具
本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法 ...
- 在pycharm_2018.2版本中开启Flask的debug的方法 (不要用命令:python **.py启动)
断点后,先ctl+c关闭控制台程序,再点击debuger调试 问题描述:在pycharm_2018.2版本中,我明确开启了debug,代码如下所示: from flask import Flask a ...
- IntelliJ IDEA 中SpringBoot对Run/Debug Configurations配置 SpringBoot热部署
运行一个SpringBoot多模块应用 使用SpringBoot配置启动: Use classpath of module选中要运行的模块 VM options:内部配置参数 -Dserver.por ...
- java 中的Debug eclipse 开发工具使用
Eclipse的debug模式:代码调试 * Eclipse或MyEclipse就是java的开发工具 * Eclipse开源的.免费的Java开发工具 * MyEclipse基于Eclipse开发出 ...
- Java_脚本引擎_02_在Idea中进行Nashorn的Debug
一.前言 本文承接上一节:Java_脚本引擎_01_用法入门 这一节我们来看下怎么在idea中进行Nashorn的Debug ,又或者说怎么在Idea中进行js的Debug 注:idea本身就支持js ...
- C#中的release和debug模式
以下内容来源:https://www.cnblogs.com/rgjycs/p/9254332.html 在程序调试时的debug和release 网上有如下的描述:Debug 通常称为调试版本,它包 ...
- 安全运维中基线检查的自动化之ansible工具巧用
i春秋作家:yanzm 原文来自:安全运维中基线检查的自动化之ansible工具巧用 前几周斗哥分享了基线检查获取数据的脚本,但是在面对上百台的服务器,每台服务器上都跑一遍脚本那工作量可想而知,而且都 ...
随机推荐
- [白话解析] 深入浅出一致性Hash原理
[白话解析] 深入浅出一致性Hash原理 0x00 摘要 一致性哈希算法是分布式系统中常用的算法.但相信很多朋友都是知其然而不知其所以然.本文将尽量使用易懂的方式介绍一致性哈希原理,并且通过具体应用场 ...
- Ant Design框架中不同的组件访问不同的models中的数据
Ant Design框架中不同的组件访问不同的models中的数据 本文记录了我在使用该框架的时候踩过的坑,方便以后查阅. 一.models绑定 在某个组件(控件或是页面),要想从某个models中获 ...
- 2016女生专场 ABCDEF题解 其他待补...
GHIJ待补... A.HUD5702:Solving Order Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...
- Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用
RESTful ,到现在相信已经没人不知道这个东西了吧!关于 RESTful 的概念,我这里就不做过多介绍了,传统的 Struts 对 RESTful 支持不够友好 ,但是 SpringMVC 对于 ...
- SpringBoot基于数据库的定时任务统一管理
定时任务1 import lombok.extern.slf4j.Slf4j; /** * @author Created by niugang on 2019/12/24/15:29 */ @Slf ...
- Jquery实现图片管理
这里实现的是一个图片的在线管理,类似于网络相册的图片管理. 效果图如下: 文件结构如下图: style2.css文件内容如下: @charset "utf-8"; *{;; } i ...
- 质数的判定 Miller_Rabin
----------- 10^18 #include <bits/stdc++.h> #define min(a,b) ((a)<(b)?(a):(b)) #define max(a ...
- 序列化之二(将"\/Date(942289871000)\/"格式的时间替换成"yyyy-MM-dd HH:mm:ss"格式)
序列化就是一种用来处理对象流的机制.所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O).我们可以对流化后的对象进行读写 操作,也可将流化后的对象传输于网络之间(注:要想将对象传输 ...
- linux下 Error in 'python3':free(): invalid pointer
linux下坑人的报错!折腾了好久. 现象:这次是一个底层库 C++,底层库之上一层SDK C++,之上再一层so库,用python调用SDK.然后python层依赖了opencv和SDK,调换ope ...
- Java单体应用 - 开发工具 - 01.IntelliJ IDEA
原文地址:http://www.work100.net/training/monolithic-tools-intellij-idea.html 更多教程:光束云 - 免费课程 IntelliJ ID ...