在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11730|回复: 25

[求助] 如何减小时钟树

[复制链接]
发表于 2018-6-5 16:32:35 | 显示全部楼层 |阅读模式
100资产
求教,除了设置max_fanout,max_transition,max_skew,以及调用合适的BUFFER,还有什么方法可减小时钟树,如图: W_VZ_CSQXWO64C9ZRAH}_GH.png

发表于 2018-6-5 16:56:34 | 显示全部楼层
可以用fishbone做tree
发表于 2018-6-5 19:31:54 | 显示全部楼层
减小时钟树,是说想要减小longest path吗?还是只是少塞一些buffer?
发表于 2018-6-5 20:12:25 | 显示全部楼层
1. 用inverter替换buffer长时钟树;2. 长时钟树的cell list中添加些小driven length的cell;
3. 用ccopt引擎长时钟树;
 楼主| 发表于 2018-6-6 09:52:57 | 显示全部楼层
回复 3# bruce0729


   减小longestpath
 楼主| 发表于 2018-6-6 10:06:15 | 显示全部楼层
本帖最后由 糖糖123 于 2018-6-6 10:13 编辑

回复 4# sdlyyuxi


   你好,我有几个疑问 1、是直接在cts后找到长路径添加,还是cts之前的cell list中加?2、第三点不懂。谢谢
发表于 2018-6-6 10:16:08 | 显示全部楼层
回复 5# 糖糖123


可以从timing report中,把长得最长的path拿出来分析一下,先看看是什么原因导致这么长,是因为sink的距离太远,导致塞了很多INV、BUFF去解drv?还是说是因为时钟树没有长平?也可以从timing path中分析,塞进去的INV、BUFF是为什么塞进去的,能不能少塞一些进去?
 楼主| 发表于 2018-6-6 10:43:12 | 显示全部楼层
回复 7# bruce0729
我看了下最长的path,相对来说并没有插入太多BUFFER和INVENTER如图 TIM图片20180606104010.jpg   ,sink单元太多,还有就是要少塞BUFFER的话,除了设置transition,还有其他手工干预的吗?
发表于 2018-6-6 11:55:11 | 显示全部楼层
回复 6# 糖糖123
我是以减小整个时钟树cell的面积或平均的insertion delay的角度提的上述几点建议:
1. 在CTS前指定CTS用到的cell list时,添加inverter,另外工具一般有选项,指定CTS时是用inverter还是buffer或者都用。相对于buffer,用inverter的面积和delay都更小。
2. ccopt(Clock Concurrent Optimization),CTS时balance sink的insertion delay变得不再重要,这样应该能省掉一些cell,至于对longest path的影响,你自己可以试试。


另外,楼主最好把你要剪短longest path的初衷说下,有利于发散思维,让别人能提供更多的解决方法!
 楼主| 发表于 2018-6-6 12:50:19 | 显示全部楼层
回复 9# sdlyyuxi


  是要要求面积和功耗等方面较小。还有就是一般是BUFFER和INVENTER都用,试了如果只用其中一个时钟树会更长。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-28 00:54 , Processed in 0.022140 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表