Debug时钟树 (2) | 时钟树分析窗口
发布日期:2025-08-07 06:57 点击次数:143
图片
工欲善其事,必先利其器。
今天介绍一个功能极其强大的工具(毫不吹牛),时钟树分析窗口,不然你可以给我头上浇水
图片
图片
图片
分析时钟树可以看log,可以看report,当然也可以看脚本,但都不直观。因此ICC2提供一个专用的窗口来分析时钟树,有了他,妈妈再也不用担心我的debug了。
如何打开
图片
打开后,弹出如下新的窗口。
图片
主窗口会显示所有的clock。这个case比较简单,只有一个时钟CORECLK。注意,时钟名前有个M,代表啥?代表Master clock,如果是个generated clock,则会显示G。
当然了,时钟树的基本信息都有:source,period等等。
下一步该看啥?一般我会在选中的时钟上,右键点击:弹出如下菜单。
图片
这个菜单包含了大多数功能!
把这些功能用熟悉了,debug时钟树会非常的高效!下面一个一个来看。
Clock Tree Levelized Graph
点击后,弹出如下窗口。
图片
这个是时钟树结构的简图,按照级数来显示。里面哪些是buffer/inverter,哪些是ICG,MUX,REG,都非常清楚,一目了然。
从上图也可以看到,时钟树最长是16级,而有些寄存器只长了5级。为啥差别那么大?因为用了CCD,而且用了很猛的CCD,所以skew大很正常,级数差那么大也正常。
比如想看某个寄存器长了多少级buffer,直接 change_selection [get_cells xxx],则在这个图里就会highlight出这个cell,很直观。
为了debug,可以选择显示,或者不显示某些cell。
图片
比如,我不想看ICG,只想看BUFFER/INVERTER。时钟树结构则变成如下图所示,非常灵活。
图片
或者我不想看BUFFER/INVERTER,则得到下图。
图片
这是啥?
这就是做CTS之前的时钟树结构,因为BUFFER/INVERTER都是CTS插进去的嘛。把他们干掉不就是CTS之前的结构么。这样你就不用去打开place的database去看CTS之前的样子。是不是很方便?你可以继续玩弄这个GUI,会有很多惊喜。
还可以把鼠标停留在某个cell上面,会得到一些信息。
原来这里不是一个寄存器,而是2万多个寄存器
图片
,没有被骗到吧?
图片
Clock Tree Latency Graph of Selected Corner
这是按照latency来显示时钟树结构,也被广泛使用。可以看到每个寄存器的latency,latency大致分布等情况。
有的时候,如果某个子树长的不符合预期,则在这个gui里很容易用鼠标选择整个子树来分析,而不用写脚本来抓。
图片
Highlight Longest/Shortest Path From Source
这个也常常使用,我们看看哪个sink长的树最长/短,以及怎么长的。点上这个菜单后,会同时在时钟树结构图和layout图里highlight这个最长/短路径。是不是很直观?
图片
图片
Launch/Capture Latency Histogram of Selected Corner
这个用柱状图的方式来显示latency的分布,更直观!
图片
Clock Tree Object List
用这个窗口快速找到想要的object,比写脚本快非常多。
图片
比如我想找第7级之前的所有的buffer:
0.001s钟后,全部出来了。
图片
其它功能
对了,窗口里面有个“Exception”,很有用,有时候对debug时钟树能帮很大很大的忙。
啥是exception:就是工具自动推导的,或者user手动设置的,对哪些sink/port不需要做balance等等
比如,我想看看时钟树里有哪些Exception,我们可以只留下exception和Sequential cell,别的统统关掉。这时候,真的只剩下10个exception和一堆寄存器。
图片
鼠标放在其中一个Exception上,Label是E,啥意思?
E是Explicit的缩写,意思是这个exception是user自己定义的。
没错,因为我刚故意对这个寄存器设置了consider_for_balance=false
图片
图片
图片
再看隔壁班那个Exception,Label是IE,啥意思?
图片
IE是Implicit Exception的缩写,意思是工具自动推导出来的。
纳尼?为啥工具会自动忽略这个pin呢?
我们把schematic打开,trace一下这个cell。
哦,原来这个cell的输出是到output去了,所以工具自动不balance这个port。
图片
图片
图片
图片
还一个很强大也很简单的用途,容我再啰嗦一下,就是这个窗口和layout窗口永远是同步的,不管你选择了啥东西,立马在layout窗口上同步选上了。这个功能我非常喜欢
图片
图片
图片
图片
图片
好了,以上是抛砖引玉,更多好玩实用的功能,鼓励你继续探索!
【往期回顾】
Debug时钟树(1) | 看log
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。