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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13325|回复: 27

[求助] 请教cts之后如何修setup违例【已解决】

[复制链接]
发表于 2015-4-18 13:52:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jiazhang 于 2015-4-19 10:11 编辑

请教两个关于时序的问题

(1) cts后,place阶段留下来的几个setup违例还是怎么修(group_path -weight,psynopt,clock_opt -only_psyn ,optimize_clock_tree)也

      修不干净,只能稍微减小一些

      其中一条timing path如下,slack为-0.08

       333.png

       发现 U2481这个 buffer的延时比较大,因为其扇出比较大,如何手动优化一下它呢

(2) design中的critical path是发生在ICG上的path,这个很可能是因为ICG距reg比较远而离clock  root比较近造成的 这个该如何优化呢;

      看到论坛上有人提到用move bound结合set_clock_gate_latency? 再用move bound时,如何提前知道某个ICG是和哪些reg相连呢
发表于 2015-4-18 19:43:03 | 显示全部楼层
1)调整clocktree吧, 把endpoint 拖后,

2) place_opt -optimize_icg看看,
 楼主| 发表于 2015-4-18 21:15:45 | 显示全部楼层
回复 2# icfbicfb

  版主首先多谢你的关注
1)把clocktree的endpoint 拖后?  这个用什么命令来实现呢?
2) place_opt -optimize_icg看看?  看了下09和13版本的place_opt和clock_opt都没有这个-optimize_icg选项
发表于 2015-4-19 07:56:35 | 显示全部楼层
1) 手工insert_buffer ,
2) 13.12 才有这个选项,
 楼主| 发表于 2015-4-19 10:11:27 | 显示全部楼层
回复 4# icfbicfb

哈哈 ,确实昨晚搞了好久,也发现手动插入buffer可以解决问题,并且插入buufer的时候,有几点要注意:

(1) 要插入低驱动能力的buffer,如1x的;插入大驱动的话,只会使slack更差


(2) 如果要在某个cell的输出pin之后插入buffer,那么一定要选择那些只出现在clock path上的cell,否则时序不会改善


(3) 在clock path上插入buffer后,setup问题解决后;要注意查看是否有hold的违例,如果有可以用 psynopt -only_hold_time,这个命令


      在修hold的同时,不大会使setup变坏


哦,原来这样,那我有时间再去下个13.12的


多谢版主
发表于 2015-4-20 10:39:07 | 显示全部楼层
回复 5# jiazhang


    (1) 要插入低驱动能力的buffer,如1x的;插入大驱动的话,只会使slack更差

---注意在时钟树上的buffer限制: 注意类型是否是CTS专用的,注意驱动是否是合法的
发表于 2015-4-20 10:41:45 | 显示全部楼层
建议用合法的最小驱动的buffer,不满足的话,多插一些
 楼主| 发表于 2015-4-20 10:47:35 | 显示全部楼层
回复 7# sjtusonic
恩 多谢版主 用的就是最小驱动的buffer ,1x的!
发表于 2015-4-20 10:53:48 | 显示全部楼层



时钟树上不能用这么小的buffer,否则ocv覆盖不了,一般至少用x4以上,而且不到万不得已最好不要动时钟树
 楼主| 发表于 2015-4-20 11:14:02 | 显示全部楼层
回复 9# ljjbunny
我觉得,时钟树建好之后,它的质量优时钟树的skew和transtion决定,如果修改之后(插入buffer)之后,这两项还依然满足你的要求

那就应该没有太大问题的;  插入大驱动buffer的话,比如4x的,我试过,这样会使clock path上的延时减小,从而使slack变得更差;


当然也可以在data path上将小驱动的buffer(比如1x 2x)替换为大驱动(比如4x 8x),不知道你说的是这个意思不?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-6-3 07:46 , Processed in 0.028855 second(s), 7 queries , Gzip On, Redis On.

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