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

2023-10-29 15:31

本文主要是介绍时间如流水,不会再重来——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/301607

相关文章

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

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

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

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

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r