今天我们来介绍一下时序分析的小工具——Global Timing Debugger(简称GTD)。 它是Innovus/ Encounter中分析Data Path的工具, 和Clock Tree Debugger有众多相似的地方。
顾名思义, Global Timing Debugger就是用来debug timing。对于一些新人来说, 可能看懂和分析timing report是一件很困难的事, 而GTD它最大的好处就是将timing report里面的内容结合Innovus GUI, 以图形化的形式表现出来, 这样就很方便于我们去Debug timing path上问题。经常有人问我, Innovus/Encounter中如何去Highlight一条Timing Path之类的问题, 相信看完这篇文章, 大家一定会了解怎么去做这些事情了。
让我们进入正题, 我们通过打开Timing下面的Debug Timing子菜单来打开GTD
然后会出现如下窗口, 使用GTD前, 需要有一个machine readable格式的timing report文件, 该文件可以通过report_timing -machine_readable或者timeDesign -timingDebugReport命令得到。如果已经产生过该文件, 就把Generate前面的勾去掉。
Check Type:可以选择setup或者hold分析。
Append to Current Report:可以将当前timing分析结果添加在之前分析结果之后, 以不同颜色区分显示
Path Category File: 指定Path category文件的目录,这个后面会介绍到Path category的作用。
单击OK以后, 进入GTD正式的主界面, 整个GTD界面分为Path Histogram(路径统计图)、 Category Summary(分类汇总)、 Path Category(路径分类)、 Path Analysis(路径分析)、 Path List(具体路径)、 Preference(设置)、 Timing Path Analyzer(路径分析器), 分别对应这下图中的数字编号, 下面我们来一一介绍一下这些模块。
Path Histogram
这个就是一个总体的路径柱状统计图, 很简单, 纵坐标是Path数量, 横坐标是对应的slack值, 绿色柱条代表Slack为正, 红色柱条代表Slack为负。
Category Summary
该模块会显示每种Category的具体内容, 包括Pass, Fail的timing path数量, 以及WNS和TNS, 是GTD里很重要的一个概念。默认只显示All的category, 我们可以自定义category的组成, 单击Category Summary右上方的Category, 如下图所示:
我们可以Save和Load已有的Category文件,当然也可以自己创建一个,如下图所示:
我们可以将具体某种或者多个共同特性的path归化到某个category中, 可以选择的特性有以下几种:这些概念大家都很清楚吧,不过多介