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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1166|回复: 8

[求助] hold违例问题

[复制链接]
发表于 2022-8-19 10:05:47 | 显示全部楼层 |阅读模式

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

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

x
各位前辈,后端新手想求助一个关于hold time的问题。
我apr很多次,发现每次在cts后的timing都没有问题(setup和hold的时序都能MET),但一旦跑完route,就会出现violation,大多数都是setup violation能够修掉,但hold violation一直有,而且有时候下set_fix_hold指令,hold violation完全没有变化(path的delay完全没变)。
我的电路里面有2个clock,虽然是2分频的关系,但是我是把它们设成asynchronous的:set_clock_groups -asynchronous -group{clk} -group{clk_div2}。

拿一版举例(最终有violation):
cts前的clock tree:
image.png
cts后的clock tree:
image.png

cts后的timing(hold):
image.png
route后的timing(hold):
image.png


奇怪的是之前有一版跑完CTS后,setup和hold都有violation,我直接放下去跑route,反而最终可以过(setup和hold最终都没有violation)。
跑的过的这一版:
cts前的clock tree:
image.png
cts后的clock tree:
image.png

cts后的timing(hold):
image.png
route后的timing(hold):
image.png

想请教一下这种情况一般要怎么去解决呢?或者大概知道是哪一步做的不好呢?
另外请问这样的skew合理吗?不太会判断到底多大的skew是可以往下做的。
image.png
发表于 2022-8-19 10:32:00 | 显示全部楼层
pba打开可能就会好很多
发表于 2022-8-19 10:32:15 | 显示全部楼层
我看你这个设计没有设置clock encertainty是吗,是不是可以考虑在前期就设置上,后面到route再去掉,可以在前期把这个margin留出来就好了
 楼主| 发表于 2022-8-19 10:41:27 | 显示全部楼层


superviky 发表于 2022-8-19 10:32
pba打开可能就会好很多


谢谢建议~pba没有尝试做过,我学习一下。不过这次可能来不及尝试pba,想知道有什么办法可以试着救一下吗?我同学的经验是不行就重跑,直到ok,感觉太薛定谔了。。。

 楼主| 发表于 2022-8-19 10:45:09 | 显示全部楼层


lijiasen.xy 发表于 2022-8-19 10:32
我看你这个设计没有设置clock encertainty是吗,是不是可以考虑在前期就设置上,后面到route再去掉,可以在 ...


我有设置uncertainty,但是只是setup部分而已:set_clock_uncertainty -setup 0.2 [get_clocks clk]
set_clock_uncertainty -setup 0.4 [get_clocks clk_div2]
route后面没有去掉uncertainty,没有hold的uncertainty,需要去掉吗?
另外去掉的方法是不是直接sdc注解掉?还是ICC里面下command呢?

谢谢你的解答~
发表于 2022-8-19 10:51:51 | 显示全部楼层


Han_aa 发表于 2022-8-19 10:41
谢谢建议~pba没有尝试做过,我学习一下。不过这次可能来不及尝试pba,想知道有什么办法可以试着救一下吗 ...


3楼的建议就可以,重跑没啥区别,无非是clock tree会略有有点差别,但对violation来说影响没那么大
发表于 2022-8-19 10:53:11 | 显示全部楼层
本帖最后由 lygrc 于 2022-8-19 10:56 编辑

你cts后,clock tree有走线吗,是在route阶段和signal线一起走?从你上面图上看是cts之后clock tree差别大,cell lib hold time也变大(与trans和阈值相关),说明绕线前和后预估走线和实际走线差别大,绕线前没global route过吗
 楼主| 发表于 2022-8-19 13:56:21 | 显示全部楼层


superviky 发表于 2022-8-19 10:51
3楼的建议就可以,重跑没啥区别,无非是clock tree会略有有点差别,但对violation来说影响没那么大
...


好的,我试一下先加上hold time的uncertainty再去掉。谢谢解答~
 楼主| 发表于 2022-8-19 13:58:00 | 显示全部楼层


lygrc 发表于 2022-8-19 10:53
你cts后,clock tree有走线吗,是在route阶段和signal线一起走?从你上面图上看是cts之后clock tree差别大 ...


谢谢解答,我CTS后route有先route_zrt_group -all_clock_nets 再 route_zrt_auto
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-24 16:52 , Processed in 0.029214 second(s), 8 queries , Gzip On, Redis On.

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