本文转自:自己的微信公众号《集成电路设计及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的全称       #

最新文章

  1. Ubuntu Server 安装桌面untiy
  2. Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)
  3. Web.config自定义节点configSections
  4. [课程设计]Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)
  5. Web开发者宝典:10款流行前沿矢量图形素材
  6. Head First Design Patterns
  7. WPF开发时光之痕日记本(一)——富文本编辑器
  8. [Slimdx]顶点和索引缓冲,绘制了2个分离的三角形
  9. 《C标准库》——之<stdarg.h>
  10. angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
  11. CSS3之动画相关
  12. html中offsetTop、clientTop、scrollTop、offsetTop各属性
  13. 闲来无事写写-Huffman树的生成过程
  14. ServiceBase 类
  15. boost::signals::signal的使用方法
  16. 网站可以免费做业务CMS讨论
  17. Unity中的万能对象池
  18. SpringMVC中注解@RequestBody和@ResponseBody的使用区别
  19. [LeetCode&Python] Problem 830. Positions of Large Groups
  20. jq遍历list和object

热门文章

  1. 公子奇带你一步一步了解Java8中Lambda表达式
  2. 1.2 UML带来了什么(学习笔记)
  3. 「Luogu P2278」[HNOI2003]操作系统 解题报告
  4. Mysql备份与恢复(2)---逻辑备份
  5. (01)大话设计模式-简单工厂-java实现
  6. 《图解机器学习-杉山将著》读书笔记---CH2
  7. 解决elment 动态多选框组(el-checkbox-group)无法设置默认值问题
  8. 悄摸直播 —— JavaCV实现本机摄像头画面远程直播
  9. Js字符串按数量分组
  10. Tarjan求割点和桥