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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 5288|回复: 7

[讨论] innovus 生成 clock spec file里面的一处“灵异事件”

[复制链接]
发表于 2020-11-25 19:36:04 | 显示全部楼层 |阅读模式

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

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

×
innovus在生成clock之前一般会生成一个clock spec file,但是我们在工具自己生成的spef file里面发现有几组寄存器分别被设置上了一个clock latency value,其中一组是-500ps 的clock latency,另外一组是 -130ps. 这样导致这些寄存器的clock latency长的比别的寄存器长了大约500ps 或 130ps,这样才能和别的寄存器做平。
那么问题来了,第一,这些寄存器的latency不是我设置的,从flow里根本找不到源头,从place.db 里也找不到相关设置;第二,spef file 里注释了,这些latency是 user通过set_clock_latency这个command设置的。所以问题就产生了。WHY ? ? ? 到底来自何方?
我在生成spec之前通过一个脚本把这些寄存器set_clock_latency 为0,但是不管用。reset clock latency也不管用。我就呵呵了,这难道是灵异事件吗?

发表于 2020-11-25 21:03:49 | 显示全部楼层
report_timing -view <your_view> -to <500ps 那组寄存器中一个>/D
看一下 report 中时钟的 arrival time 是否是负值。 如果是 负值,继续看下面。 如果不是,我猜错了,ignore.

先查一下存的 database, 找一下有没有这个文件。
design.dat/mmmc/views/<view name>/latency.sdc
这个 latency.sdc 是工具自动产生的。 查一下你的 flow 里有没有 update_io_latency 这个命令。 有的话暂时去掉,再跑一次 CTS,看一下生成的 cts_spec 里有没有 set_ccopt_property source_latency -clock_tree <your clock>, 后面的数字是否为 0.

我个人很不喜欢 innovus 这个 IO timing optimization 算法的。 我认为算法是有缺陷的。 这种估算的 clock latency, 往往让后续寄存器间的 balance 变得困难。500ps 对慢的设计无所谓。 高速设计中,基本就是毁掉了设计,clock tree 异常大,功耗极大。 我个人通常用其他方法自己做 IO timing optimization。  
回复 支持 1 反对 0

使用道具 举报

发表于 2020-11-25 23:51:21 | 显示全部楼层
1. 瞧一瞧init_design阶段吃的SDC有没有set_clock_latency的cmd。
2. 看一看CTS前的优化有没有开usefulskew。
回复 支持 0 反对 1

使用道具 举报

发表于 2020-11-26 09:49:43 | 显示全部楼层
本帖最后由 papertiger 于 2020-11-26 09:50 编辑

自动优化产生的。usefulskew。
这是feature,不是bug
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-27 11:05:14 | 显示全部楼层
有同学认为是useful skew,我觉得在CTS这一步的起始阶段哪里有useful skew?我们的flow在CTS刚开始的第一步就是删掉place early clock 产生的spec,然后再生成新的spec。我查看了db/mmmc/mode/latency.sdc,都没有相关设置。我没办法,只好在clock spec里把这些异常的数值改成0,再让工具读取改过的spec,这样长出来的tree还算合理。
回复 支持 反对

使用道具 举报

发表于 2020-11-27 17:26:01 | 显示全部楼层


   
wenfangsibao 发表于 2020-11-26 21:05
有同学认为是useful skew,我觉得在CTS这一步的起始阶段哪里有useful skew?我们的flow在CTS刚开始的第一步 ...


Useful skew 默认是 true.
getOptMode, 看一下几个 usefulSkew 的设置是否都是 true。
flow 一开始就应该用 setOptMode -usefulSkew false 关掉。

回复 支持 反对

使用道具 举报

发表于 2022-8-18 13:26:09 | 显示全部楼层
能请教一下spec file这个文件是啥吗,里面内容包含哪方面的具体内容
回复 支持 反对

使用道具 举报

发表于 2022-8-24 15:16:29 | 显示全部楼层


   
rowdai 发表于 2022-8-18 13:26
能请教一下spec file这个文件是啥吗,里面内容包含哪方面的具体内容


随便打开一个,就知道是干嘛的了


欢迎加wx: pr-hao123,拉你数字后端微信群

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-15 07:39 , Processed in 0.016083 second(s), 3 queries , Gzip On, Redis On.

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