首页 » 科学 » 数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集

数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集

南宫静远 2024-12-18 07:32:14 0

扫一扫用手机浏览

文章目录 [+]

在之前帖子《数字后端PR流程4 :Placement》中我们谈论了芯片后端PR实现过程中的Placement,紧张包括一些Macros以及std cell的摆放。

在这些cell摆放完成后,我们就须要对时钟树进行综合,本节内容紧张包括:

数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集 数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集 科学

一些涉及CTS的选项设置;综合时钟树根据时钟树的综合结果进行timing剖析检讨timing violation以及面积优化利用时钟走线规则对时钟网络进行routing剖析routing后的时钟网络检讨clock tree

首先导入我们之前已经placement的mw_cel,导入后我们将看到LayoutWindow打开,并显示了Placement之后的Floorplan。

数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集 数字后端PR流程ICC操作流程5:时钟树综合-CTS_时钟_收集 科学
(图片来自网络侵删)

Report_clock -skew -attribute,去检讨当前设计的时钟以及其属性,紧张包括下图所示,可以看

SD_DDR_CLK的时钟uncertain哀求最高。

report_clock_tree -summary,去检讨当前设计上的所有时钟网络,紧张包括下图所示,个中可以看到SD_DDR_CLK时钟没有Sinks即endpoints,这个后续会说到。

当然在时钟树综合之前,我们也可以通过report_constraint -all去查看当前placement状态下,有无重大时序违例。

在Layout窗口选择clock--->New interactive CTS Window,可以看到sd_ddr_clk是generated clock,SDRAM_CLK是其Master clock,sd_CK是其start-point。

2、时钟树综合前设置

许多设计,我们是对时钟树的综合有分外的哀求,例如:时钟树在综合过程中,默认情形下其只会平衡到时序cell之间的时钟路径,以担保他们之间的skew最小,如果我们有分外的pins须要在时钟树综合过程中与干系时钟引脚做skew考虑,那么在启动CTS综合之前须要提前约束。

例如在本设计中,我们有一个DDR模块,而DDR模块的数据和时钟之间须要只管即便小的skew,固须要将这些pin约束为时钟树综合的stop_pin。

对付CTS综合来说,最好指定在CTS综合过程中用的cells,以取得好的结果。

还包括时钟走线宽度及金属层详细如下图所示:

在进行时钟树综合之前,还须要check_physical_design -stage pre_clock_opt -display 进行check。
如果有warning和error一定要提前确定,确定可以don’t care才可以进行下一步。

3、进行时钟树综合

首先,综合时钟树,并查看时钟树综合后的报告,从report_timing的报告可以看到所有clkcks networks dealys 已经被标注为“propagated”(便是说在这个命令后面包括extract_rc等一些命令都已经在后台运行,以提取时钟网络延时信息),解释当前timing信息的时钟已经是post CTS的,并不是DC剖析时的空想时钟网络。
把稳这个时候的时钟树综合只会进行时钟树的综合优化,并不会真正的去走线,而是一种虚拟的时钟走线。

在通过命令report_constraint -all的报告中我们创造,当前设计是存在hold的违例,这个时候就须要我们基于hold 违例进行时钟树的优化。

4、基于时钟树综合结果修时序(紧张是hold),在这个过程须要把稳的是,强烈建议设置

physopt_area_critical_range,由于面积的优化是通过缩小利用cell的尺寸完成的,对工具而已只要当前timing path的slack大于0它就会对当前路径进行面积优化,但是我们通过该命令能够将slack门限提高的譬如0.2,这样的margin能够防止布线后例如Crosstalk等其他成分的影响。

设置完成后,我们可以通过clock_opt –only_psyn -area_recovery –optimize_dft –no_clock_route 命令,实行时钟树的timing,area,scan chain但是不包括走线的优化。

在这个过程中,会创造工具会去修hold的违例,这是由于我们设置了set_fix_hold的缘故原由,时钟树综合完成后,可以通过命令report_qor和report_constraint -all_violators去查看时钟树综合结果,确保没有setup,hold,design_rulse的违例。
同时我们也可以关注一下修hold违例前后设计面积的变革情形。

5、对时钟网络进行routing

这个过程就会对全体时钟网络进行全局的布线,track划分等,布线完成后就须要对结果进行末了一次的违例检讨,检讨是否有违例情形,末了可以查看时钟网络的实际数据详细如下图所示,可以看到设计在当前状态下走线险些都集中在Metal3-Metal5。

在GUI界面,我们选择clock tree选项,在里面可以查看不同时钟,不同层级下的时钟树综合后的总线过程。

时钟树综合完成,且没有违例,我们就可以将当前设计保存成mw_cel,以供后面流程直策应用。

标签:

相关文章

介绍IT写作高手,如何驾驭技术文章的奥秘

随着互联网的飞速发展,IT行业成为了当今社会最热门的领域之一。在这个领域,IT写作高手以其独特的视角、丰富的知识和独特的文风,成为...

科学 2024-12-30 阅读0 评论0