数字后端零基础入门系列 | Innovus零基础LAB学习Day7

###Module 14 时钟树综合

###LAB14-1

这个章节的主要学习目标如下:

1)时钟树综合前的准备工作熟悉

2)时钟树综合的跑法

3)时钟树结果分析

4)时钟树综合后的时序优化(PostCTS的timing优化)

数字后端零基础入门系列 | Innovus零基础LAB学习Day6

数字后端零基础入门系列 | Innovus零基础LAB学习Day5
数字后端零基础入门系列 | Innovus零基础LAB学习Day4

首先,我们按照lab的要求来打开pr.inv这个数据。

我们可以直接用我们打开数据的命令:

restoreDesign .../saved/pr.inv.dat DTMF_CHIP

打开数据后,我们要读入做时钟树综合前的一些设置,比如这个lab中的dtmf.ccopt。这个文件的内容如下(用gvim dtmf.ccopt即可打开该文件):

set_ccopt_property buffer_cells [ list CLKBUFX1 CLKBUFX12 CLKBUFX16 CLKBUFX2 CLKBUFX20 CLKBUFX3 CLKBUFX4 CLKBUFX8 CLKBUFXL ]

set_ccopt_property inverter_cells [ list CLKINVX1 CLKINVX12 CLKINVX16 CLKINVX2 CLKINVX20 CLKINVX3 CLKINVX4 CLKINVX8 CLKINVXL ]

这两句其实就是设置工具长时钟树时可用的clock buffer和clock inverter cell list 。

很多新手肯定会有疑问,我是初学者,我哪里能知道做时钟树前要设置哪些设置,而且我压根不知道ccopt有哪些相关的property。

这里教大家一个大招,可以通过下面的命令来报告出所有ccopt相关的property。至于要设置哪些,这是慢慢积累的一个过程。刚开始只要知道设置一些常用的设置即可,等后续经验多了,自然就都会了。

set_ccopt_property * -help

设置好ccopt相关的设置后,我们需要基于sdc和这些ccopt property来产生clock tree spec文件。因为工具长tree会根据这个spec文件来做tree。

create_ccopt_clock_tree_spec

spec产生后,我们就可以使用下面的命令来跑时钟树综合和时钟树综合后的时序优化。

ccopt_design

如果仅仅想做一个时钟树综合,可以带上选项-cts即可。 具体命令如下:

ccopt_design -cts (cts跑法)

时钟树综合跑不下去,怎么破?

利用GUI图形界面分析时钟树质量 (CTD)

Clock----Ccopt Clock Tree Debugger

点击OK后弹出如下结果。

这里要求大家熟悉下图中所框出来的三个地方。通过这个CTD还可以来trace设计的时钟结构。


通过这个CTD分析的一个好处是我们可以在CTD窗口任意选择一颗cell,此时layout上会同步高亮显示出这颗cell。而且还能高亮当前sink点对应的clock path走向。

当然,我们也分享过如何通过命令在layout上高亮clock path。

如果设计中有很多时钟,我们可以通过Visibility----Clock tree来只显示我们所关心的clock tree的结构及相关信息。

除了分析时钟树质量和时钟树结构外,我们还需要关心设计的时序Timing情况。

我们可以通过timeDesign来报告出当前设计的时序。

第一个就是报告postCTS阶段的timing,因为此时我们就是做完了CTS,所以此时我们应该带上PostCTS来报timing。

第二个命令又再加了一个 -hold选项,这个代表是我们想让工具报出当前阶段的hold time情况。

【思考题】 为何这个阶段要看hold time?

优化时序方法

如果工具自己做完时钟树综合和时序优化后的timing还有较大violation,我们还可以通过命令自带的时序优化命令来做时序的优化------optDesign -postCTS -setup (-hold 代表我们希望让工具优化hold time)

####END OF LAB14-1

###LAB14-2

这个章节主要是了产生一个比较合适的rc scale factor系数,使得PT和Innovus之间的timing比较接近。

值得注意的是,工具自动产生出来的rc factor不一定是最佳的,很多时候还是需要工程师来辅助一些分析。对于初学者来说,这部分内容可以大体上了解即可。

generateRCFactor --preroute true -postroute medium -reference externalSpef -spefMapFile spef.map

其中sepf.map为Starrc寄生参数提取signoff工具抽出来的spef文件,externalSpef为Innovus内部自己写出来的spef文件。

###END OF LAB14-2

相关推荐
杰出的胡兵11 天前
景芯SOC设计实战
面试·职场和发展·soc·芯片·数字后端·数字ic后端·芯片设计全流程培训
IC拓荒者1 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者1 个月前
芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义
数字后端培训·ic后端培训·innovus零基础·io ring·pad ring·redhawk·ir drop
IC拓荒者1 个月前
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
数字ic后端·数字后端培训·tsmc12nm·dummy tcd·tcd工艺校准·数字后端零基础入门·a55 a72 cpu
IC拓荒者1 个月前
芯片级IO (Pad) Ring &IP Checklist
esd·数字ic后端·ic后端培训·innovus零基础·io ring·pad ring·checklist
IC拓荒者1 个月前
数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?
数字ic后端·数字后端培训·physical cell·latchup栓锁效应·endcap cell·boundary cell·ic后端设计实现
IC拓荒者2 个月前
数字IC后端设计实现之分段长clock tree经典案例
occ·时钟产生电路·ic后端培训·时钟树综合·clock tree·innovus零基础·分段长clock tree
IC拓荒者2 个月前
华为海思2025届校招笔试面试经验分享
经验分享·华为·面试·数字ic后端·ic秋招·海思校招面经·校招笔试面试
IC拓荒者2 个月前
IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
数字ic后端·静态时序分析·数字后端培训·ic后端笔试题·ic秋招笔试真题·芯原ic后端笔试·时序timing分析
IC拓荒者2 个月前
数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?
数字ic后端·placement·ic后端培训·innovus零基础lab·innovus零基础·spacing rule·innnovus place