时间如流水,不会再重来——Clock Tree Debugger(二)

2024-03-18 21:32

本文主要是介绍时间如流水,不会再重来——Clock Tree Debugger(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


接着上文,继续介绍Clock Tree Debugger~~

Visibility

该菜单主要控制Clock tree viewer上的显示类型,如下图所示:

Cell type控制Clock tree viewer上应该显示的cell单元,有下列子菜单,去掉选项前面的勾就会取消clock tree viewer上对该项目的显示

Pin type控制Clock tree viewer上应该显示的pin类型

    Implicit stop pin: 默认的stop pin

    Implicit ignore pin: 默认的ignore pin

Power Domain:控制应该显示哪个Power domain里的clock cell显示

Logical hierarchy: 控制应该显示哪个module里的clock cell显示

Block hierarchy:控制显示哪个子module里的clock cell显示

Skew group:控制显示哪个skew group的信息

Clock tree: 控制显示哪个clock tree的信息

Signal edge:  控制显示哪些信号边沿的信息

对net来说,显示propagated到该条net的clock信号在setup check时是上升沿还是下降沿。

对cell来说,显示该cell是以下几种情况:

Root: clock root cell

Non-unate: 输出无法由输入单独决定的cell,比如与门

Simple: 输出输入信号变化一致的cell,比如buffer

Invert:输出信号与输入相反的cell,比如inverter

Net type: 控制显示哪种类型的net, 有top, trunk或者leaf

Constraints:控制显示一些don't touch, unbufferable clock nets等

Timing windows:控制显示clock sink的constraint window, 该sink可以在window中delay或者advance,如下图中的绿色波纹线所示:

 

Delays: 控制显示哪种类型的delay,分为以下四种:

Gate delay:显示clock tree上clock cell的delay

Wire delay: 显示clock tree上具体wire的delay, gate delay和wire delay的示意图如下:

Virtual delay:显示trial run模式下的delay, 该模式下,cts只做到virtual delay balance阶段,并不是做实际的implementation, 使用set_ccopt_property balance_mode trial可以运行该模式

Pin insertion delay :显示用户自己指定的pin insertion delay,以点虚线表示

Unit delay:使用unit delay mode,该模式下,clock tree结构图按cell的级数划分排列

ColorBy

该菜单栏可以控制ctd按哪种类型的分类去显示颜色,基本上的类型与Visibility差不多。

默认的我们按不同cell类型去显示,

也可以按照fanout数量去显示:

Skew group显示:

Transition time显示


当然,我们也可以选择改变当前类型的颜色种类:

 

Control Panel (控制面板)

Control Panel在主界面右边,其实就是Visibility和Color By两者的功能结合,在该面板中,可以同时实现开关某种类型以及颜色变换。不再过多介绍了。

Key Panel(按键板)

Key Panel对应着Control Panel,可以理解为Clock Tree Viewer上的一个颜色说明面板,Control Panel上每种类型对应着不同的Key Panel,比如说,当显示类型选择cell type时,Key Panel就会显示每种clock cell的图标解释

当显示类型选择Transition Time时,Key Panel就会显示每种transitiion time对应的颜色

ToolBar(工具栏)

CTD的工具栏很简单,就是一些小工具常见的快捷键,有Zoom,Highlight,Find,Attribute Editor,Ruler等,图标也一样,在Innovus部分都介绍过,这里不再重复了,有什么大家可以翻看下Innovus GUI的介绍

World Viewer(全局视角)

该按键就是和Innovus一样,GUI右下角的小窗口,可以全局显示整个clock tree的情况,不过由于界面太小,基本看不清,所以也没什么作用,可以在设置界面调节World view的窗口大小

Browser(浏览器)

该面板提供了skew group中的基本内容信息,默认放置在CTD的最下端,如下所示:里面包含了Analysis View,Skew Group,Skew,Min Delay,Max Delay,Min Pin,Min Path Level,Max Pin,Max Path Level等信息,这些从字面上就很好理解,不过多解释了。

 

右击browser中右击每行会出现以下相关的操作

Highlight可以高亮Max Delay或者Min Delay的path

Group By 和Ungroup可以让我们选择按analysis view或者skew group排列显示

Show Path Analyzer可以打开Path Analyzer,显示每条clock path的具体信息



往期回顾

静态时序分析STA合集一

静态时序分析STA合集二

时序基本概念介绍<sdc合集>

数字后端基本概念合集(一)

数字后端基本概念合集(二)

数字后端基本概念合集(三)

Low Power概念介绍合集

数字后端dbGet使用方法合集

号外,数字后端交流群招人啦

IC圈的世界杯 | 论芯片设计的胜利十一人

知否?知否?Block PD应该提交哪些数据?

Timing ECO手修攻略

数字后端面试100问(2019全新版)

数字后端面试100问(校招版)

简历请戳邮箱:taozhang3260@163.com

觉得有用的话,给我点个好看吧

这篇关于时间如流水,不会再重来——Clock Tree Debugger(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823711

相关文章

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依