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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4929|回复: 15

[求助] 随路时钟经过pad delay很大,DC如何来cover

[复制链接]
发表于 2021-7-5 19:43:37 | 显示全部楼层 |阅读模式

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

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

x
对于随路时钟经过pad输出给到off-chip,在load设为20pf下core->pad delay很大,有10+ns,
那么在pad处create_generated_clock因为DC综合时clock是ideal的,无法cover这个delay,请问两个问题:
1. 在DC综合是否需要插入这个core->pad的delay?是通过设network delay来cover吗?
2. 在CTS时,是需要在io pad的Output端口上设sync pin?从而不去balance pad上的clock,因为pad delay实在很大


 楼主| 发表于 2021-7-6 13:45:23 | 显示全部楼层
@jake Hi Jake,请帮忙看看这个问题,感谢
发表于 2021-7-6 20:17:34 | 显示全部楼层
送到off chip,可以当成普通的data output。
如果需要和其他输出保持一定的timing relationship,考虑用set_data_check约束。
发表于 2021-7-7 17:34:59 | 显示全部楼层
mark.........
发表于 2021-9-3 22:20:28 | 显示全部楼层


jake 发表于 2021-7-6 20:17
送到off chip,可以当成普通的data output。
如果需要和其他输出保持一定的timing relationship,考虑用set ...


请问一个问题,如果是随路时钟的话,不定义时钟而是当做data输出,然后使用set_data_cehck来保证输出到芯片外部的时钟与数据之间的timing skew,

那么是不是也就不需要用任何约束来设置这些输出的output_delay了?
发表于 2021-9-4 08:40:50 | 显示全部楼层


bysg312 发表于 2021-9-3 08:20
请问一个问题,如果是随路时钟的话,不定义时钟而是当做data输出,然后使用set_data_cehck来保证输出到芯 ...


本质上是让下游的片子用上游片子的时钟输出锁存上游片子的数据输出。
我的想法是把时钟输出当作普通的数据输出,不加set_output_delay,用set_max_delay来约束,让这个path紧凑一些。手动加一个buffer,一方面是增加驱动,一方面是避免工具CTS误解buf/A设成ignore pin。
随后以这个时钟输出(fake数据输出)作为参照,用set_data_check来保障其他数据相对于这个时钟输出的相位关系。其他数据也不需要set_output_delay。

发表于 2021-9-4 09:45:31 | 显示全部楼层


jake 发表于 2021-9-4 08:40
本质上是让下游的片子用上游片子的时钟输出锁存上游片子的数据输出。
我的想法是把时钟输出当作普通的数 ...


嗯,明白了,之前也是这么猜测的,但是一直不确定这种方式是否可行,有高人帮忙解答,更加清晰明了,感谢
发表于 2021-9-6 07:41:56 | 显示全部楼层


bysg312 发表于 2021-9-3 19:45
嗯,明白了,之前也是这么猜测的,但是一直不确定这种方式是否可行,有高人帮忙解答,更加清晰明了,感谢 ...


更新一下
今天试了一个新想法。在时钟输出的地方create_generated_clock,然后用这个generated clock做参考,加set_output_dealy去约束数据输出。在Innovus里试了一下,Innovus可以完美支持!
相比set_data_check,这个方法简洁有效。个人更喜欢这个方案。

发表于 2021-9-6 09:05:32 | 显示全部楼层


jake 发表于 2021-9-6 07:41
更新一下
今天试了一个新想法。在时钟输出的地方create_generated_clock,然后用这个generated clock做参 ...


主要区别是利用create_generate_clock,然后把generated_clock定义到port上?

我不太记得有没有是过这种方式了,等有空试一试,谢过。
发表于 2021-9-6 10:15:19 | 显示全部楼层


bysg312 发表于 2021-9-5 19:05
主要区别是利用create_generate_clock,然后把generated_clock定义到port上?

我不太记得有没有是过这种 ...


是的,第一步generated_clock定义到output port是关键。通常generated clock都是定义在内部某个pin上,不会定义到output port上。
今天给几年前的设计扫扫灰,发现几年前试过这个方法,没有成功。可能当时工具版本太老。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-24 18:44 , Processed in 0.020885 second(s), 6 queries , Gzip On, Redis On.

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