时间如流水,不会再重来——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

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1