当前位置: 首页 > news >正文

数字后端零基础入门系列 | 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

set_ccopt_property用法

设置好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

Clock Tree Debugger (CTD)

点击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


http://www.mrgr.cn/news/60538.html

相关文章:

  • 深度剖析美区代理IP的多元应用与优势
  • su user更换用户后无法打开图形屏幕Cannot open your terminal ‘/dev/pts/0‘ 解决办法
  • KVM 虚拟机Anolis OS 8.9 下利用宝塔面板中的 Docker 配置 Nextcloud + onlyoffice
  • 【vs2022】windows可用的依赖预编译库
  • 基于Multisim的串联型稳压电源设计与仿真
  • Agent实战:基于大模型的Agent技术框架开发实战
  • Python学习的自我理解和想法(22)
  • 双十一宠物空气净化器推荐,希喂、霍尼韦尔、有哈哪款性价比高?
  • llama.cpp基础知识与原理导读
  • 常用的8款文件加密软件分享|2024企业办公文件怎么加密?
  • xlive.dll错误的详细解决办法步骤教程,xlive.dll基本状况介绍
  • 适合你的GIS工具箱是哪款?五款实用工具优缺点详解
  • 文件相对路径与绝对路径
  • 深度学习训练中epoch的含义,以及每个epoch训练中acc和loss的含义
  • Android NSD局域网发现服务
  • 接口测试需要验证数据库吗?
  • 【01初识】-初识 RabbitMQ
  • 【归一化技术】层归一化和批归一化
  • matplot常备设置
  • 【纯血鸿蒙】安装hdc工具