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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4130|回复: 7

[求助] icc cts 的问题

[复制链接]
发表于 2015-1-9 20:24:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
项目中大在cts阶段 ,clock_opt -only_cts后 congestion 还比计较好,skew 也能接受,DRC为0,接下来clock_opt -only_psyn,congestion就想到严重了,一片红色。set_false_path去掉一些不需要balance的clock 情况好了一点,但是还是比较严重。我就想那就不做clock_opt -only_psyn。只做 clock_opt -only_cts

report_constraint后 ,其中只有一条clock的transition的violation比较大,大概2.6,怎么也opt不掉 ,optimize_clock_tree -clock_tree [] 单独对那条clock做了cto ,psyopt -only_design_rule都用了,结果变化不大。占用率大概80%



第二个问题是 :detail route后发现clock tree有transition的错,该怎么办?因为显示的dont touch了
发表于 2015-1-10 07:57:55 | 显示全部楼层
感觉约束上还要好好debug下,哪些是同步需要blance的,哪些是没有timingcheck不需要blance的理清楚。感觉你的design可能时钟上是不是有dont touch或被设为idealnet的方检查下,clock_opt后congestion没有变化,就说明cts对design冲击不大,做onlypysn后很红说明你的你的时钟树可能有问题,需要blance得地方没有blance,这样工具看到很大的violation,然后拼命去优化,将cell的size称撑的很大就变红了,还有就是你的pysn的时候约束也有问题同样会导致这样的问题。
 楼主| 发表于 2015-1-10 08:09:10 | 显示全部楼层
回复 2# lif8991373


   谢谢回复,如你所说,确实存在不需要balance的clock tree,大概20多条clock,相互之间不需要balance,set_false_path 没有写全,用set_clock_group 重新将clock 约束了一下。具体什么问题,我再debug一下另外是有一条clock,cts做完后transition的值很大,怎么也做不好,差的太多了,我怀疑是驱动clkbuf放的太小。怎么单独处理这个clock,求指点
发表于 2015-1-10 08:25:08 | 显示全部楼层

标题clock_opt 的

回复 3# fangwang85
发表于 2015-1-10 08:32:58 | 显示全部楼层

标题8

回复 3# fangwang85
    单独报下那个点,看看是不是有dont touch 有的话看能不能remove掉,再在版图看是在什么位置,是不是前后级都很远。如果做树时有设transition和cap就不会有这样的问题,icc主要1是利用transition来驱动优化的
发表于 2015-1-10 09:17:51 | 显示全部楼层
通常只会 fix hold会导致 utilization growth toomuch从而导致congestion的新增加,

不妨先不要set_fix_hold [all_clocks] ,  psynopt 先修setup 先,

而且如上面所述,sdc约束肯定要搞清楚, false path,clk balance spec等也会影响的,
比如修一个根本是false的setup path,也有可能造成buffer插的太多
 楼主| 发表于 2015-1-10 10:46:46 | 显示全部楼层
回复 6# icfbicfb


   谢版大回复,没有fix hold ,现在是一个master clock 通过不同的分频器产生了很多clock,这些cock之间是不需要balance的。dc在每个分频器后面 create_clock    master clock 在port端create_cock  并且将master 和分频后的clock 也set_false_path 了。现在肯定是所有的clock之间都设成了异步的 。通过set_clcok_group -asynchronous
问题是分频后的clock总是做不好,总是其中一条的transition特别大。

因为only_cts后没有timing的问题。skew 也可以。所有就不想让工具去做only_psyn了,clock  transition 的violation 自己手动fix
 楼主| 发表于 2015-1-10 11:26:55 | 显示全部楼层
回复 5# lif8991373


  谢谢回复  第二个问题已经解决了,可以remove掉 ,现在是一个master clock 通过不同的分频器产生了很多clock,这些cock之间是不需要balance的。dc在每个分频器后面 create_clock    master clock 在port端create_cock  并且将master 和分频后的clock 也set_false_path 了。现在肯定是所有的clock之间都设成了异步的 。通过set_clcok_group -asynchronous
问题是分频后的clock总是做不好,总是其中一条的transition特别大。

因为only_cts后没有timing的问题。skew 也可以。所有就不想让工具去做only_psyn了,clock  transition 的violation 自己手动fix,不知道有没有其他好的办法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 05:41 , Processed in 0.019655 second(s), 7 queries , Gzip On, Redis On.

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