lijiasen.xy的个人空间 https://blog.eetop.cn/1778649 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ccopt的log详解

热度 36已有 4642 次阅读| 2022-8-15 10:01 |个人分类:后端EDA-cadence|系统分类:芯片设计

目录

ccopt阶段介绍... 1

Initialize. 2

1.1 Check Placement 2

1.2 update I/O latenty. 2

1.3 set_propagated_clock. 3

1.4 optDesignGlobalRouteStep. 3

1.5 DPlace-Init 3

1.6 验证CTS配置... 4

1.7 开始综合时钟树... 5

二、Cluster 6

2.1 refine place. 6

2.2 clock tree legalization. 7

2.3 fix drv. 7

2.4 Insertion Delay Reduction. 8

三、Implementation. 8

3.1 reduce power 9

3.2 balance. 9

3.3 Polish. 10

 

 

ccopt阶段介绍

cluster :ccopt里面特有的一个概念,聚拢。这里主要是两个步骤,修复drv和insertion delay。insertion delay也就是latency,pin到root点的latency。

implementation:主要的步骤。其中polish为磨平,打平。这里创建完时钟树之后通常是不会动了,处于fix的状态。

 

ccopt一共有四个步骤,如图所示,接下来分别看每个步骤都做了什么事。

image.png

Initialize

Initialization 阶段开始,三个点就代表这是一大步骤

1660527366191.jpg

1.1 Check Placement

最先开始的就是对placement的检查,这里检查比较严格,有问题就会停止。

如图,最后报告了cell已placed的数量以及density等

1660527393075(1).jpg

1.2 update I/O latenty

更新I/O latenty

1.3 set_propagated_clock

ccopt引擎会自动把clock path设置为propagated mode。

1660527408030.jpg

到这里前面的检查阶段就完成了。

 

1.4 optDesignGlobalRouteStep

执行时钟树综合进程:

先对时钟树进行初步的global绕线

1660527424571.jpg

期间会进行绕线overflow和congestion分析。

1.5 DPlace-Init

1660527735429.jpg


1.6 验证CTS配置

at least one key说明设置参数为非默认的。至少设置过一次,是用户自己设置的

1660527831103(1).jpg

包括一些配置信息:还会自己设置上top的slew target

1660527848677.jpg

确认skew group上的一些信息

由于ccopt检查很严格,导致一些设置不合理的ingore pin被舍弃掉了

1660527859253(1).jpg

 

Estimated routes为cts阶段的绕线引擎,因为此时需要计算rc和插入buf等操作,需要计算net的delay信息。这里的via rc信息是供cts来使用的,后期的nanoroute是不会使用的。

1660527890356(1).jpg

到这里验证配置阶段就结束了。

1660527909505.jpg

如果设置不合理,ccopt也会主动显示出来,并作出最优选择,例如:

1660527924979.jpg

1.7 开始综合时钟树

merging duplicate silings:merge掉一些clock gate cell

然后在网表中删掉时钟树重新纵综合。

1660527937358.jpg

DAG:(时钟树网络被建模为DAG(有向无环图),以适应时钟树和skew group之间的重新收敛和重叠),是一个ccopt中树的结构的概念

1660527952875(1).jpg

1660527963960.jpg

 

二、Cluster

cluster阶段:修复drv和insertion delay

1660527974682.jpg

2.1 refine place

聚 拢cell,对全局的drv快速的修一下,并不是详细的修,所以后面调用了refine place得到cell的位置后面显示了cell移动的数量和多少距离

1660527984873.jpg

2.2 clock tree legalization

cluster之后显示使用了什么cell,

b:buffer 103个;i: inv 0个;nicg:clock gate cell 0 个;l:logic cell 0个

insertion delay:sd为方差

image.png

此时快速修drv的过程已经做完了

然后就会抽一下rc,再进行计算insertion delay。

1660528011094(1).jpg

 

2.3 fix drv

接下来就是详细有drv的过程,这个过程会做两次。并且会报出优化之后使用的cell。

1660528020738(1).jpg

各种DAG信息

image.png

由于修复drv可能会插入inv,buf等cell会导致insertion delay变大,所以后面需要减少delay。

 

2.4 Insertion Delay Reduction

通过减少不必要的buffer,由于这个design很简单,这里没有可以减得buffer了。

image.png

减少最长net上的cell。

image.png

这个过程也是两次。

image.png

此时cluster就做完了

三、Implementation

减少功耗、balance、polish、route


 image.png

3.1 reduce power

cell越大的话,功耗会越大,所以可以通过size down的方式减小功耗,这里也会做两次。

image.png

image.png

功耗做完之后就会开始进行balance了,会分很多的小步骤。

3.2 balance

首先是两轮的balance-Approximately balancing fragments step

image.png

之后就会improve fragments clock skew

image.png

前面的两次balance的effort是最大的,后面就是简单的修复工作。

balance之后由于插了buffer,可能影响drv,多以会在这些步骤上多次的修复,直到找到最好的平衡点。

通过一系列操作减少insertion delay,修复drv,balance等。

image.png

 

3.3 Polish

balance阶段过后进入polish阶段

把tree整体做短一点

image.png

第三次减少power

image.png

减少insertion delay

image.png

这样来回的找到优化的平衡点!

减少线电容,移除较长的线和短路的线。

image.png

 

refine placement,合理摆放cell

 

最后进入clock的route的过程,布线之后就fix。这里就会真正的调用nanoroute布线引擎。

 

3.4 route

开始对时钟树进行绕线

image.png

会先进行earlyGlobalRoute,然后评估congestion

image.png

 

然后globalDetailRoute

image.png

这里结束route

image.png

继续评估congestion

image.png

 

做完route之后进行总结,然后抽取RC

image.png

到这里就结束了

image.png

 

接下来就是对时钟树进行时序优化阶段,基本上内容类似。

20

点赞

刚表态过的朋友 (20 人)

发表评论 评论 (8 个评论)

回复 king-wa 2022-8-16 09:38
不错,不错。
回复 lijiasen.xy 2022-8-18 18:44
king-wa: 不错,不错。
客气,客气
回复 saicom 2022-8-19 09:26
讲解的很好
回复 lizhibin8718 2022-9-1 17:27
赞一个!
回复 ComZero 2022-9-2 11:10
请教一下PostConditioning是干啥的
回复 binbojiang 2022-9-5 17:40
讲解的很好,期待下一个
回复 wisywyx 2022-9-6 15:18
写的真详细,学习了
回复 hdch121212 2022-9-14 19:59
  

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 6

    总排名
  • 6

    关注
  • 80

    粉丝
  • 35

    好友
  • 172

    获赞
  • 182

    评论
  • 1338

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 17:48 , Processed in 0.019208 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部