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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 3676|回复: 9

[讨论] 大家怎么处理这种常见的时钟结构?

[复制链接]
发表于 2021-5-24 16:18:32 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 wenfangsibao 于 2021-5-25 15:30 编辑

Source clock is cpu_clk with 1G frequency and there are two generated clock, namely cg_clk1 and cg_clk2.

这是一种最常见的时钟case,一般情况下,或者说你曾经在什么样的背景下怎么处理过这种时钟结构?

第一,默认情况下,reg_group1/2/3 的所有 sinks 之间是需要互相balance的,工具会试着把这三个group of sinks 长平。
第二,假如 reg_group1/2 和 reg_group3 被设置成了 asynchrous 关系,那在 reg_group1/2 和 reg_group3 之间还会自动地被 tool 长平吗?这种情况你会怎么处理?

捕获.PNG
发表于 2021-5-25 10:05:20 | 显示全部楼层
做tree的时候设置not balance 或者单独创建createclock 就可以避免被长平
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 15:33:13 | 显示全部楼层
本帖最后由 wenfangsibao 于 2021-5-25 15:52 编辑


   
teddy1234567 发表于 2021-5-25 10:05
做tree的时候设置not balance 或者单独创建createclock 就可以避免被长平


请问在做tree的时候具体怎么“设置 not balance ”? 另外,“单独 create clock” 是指什么?cg_clk1/2就是在SDC里分别定义的 generated clock 啊。。。请问你是指在clock spec file 里相应的时钟定义语句之后更改或者添加什么设置吗?
我是菜中菜,还望大牛不吝赐教!

回复 支持 反对

使用道具 举报

发表于 2021-5-27 22:51:52 | 显示全部楼层
不希望被balance 可以在reg pin 上设ignore ,工具就不会balance
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-28 00:17:27 | 显示全部楼层


   
凡人修仙传 发表于 2021-5-27 22:51
不希望被balance 可以在reg pin 上设ignore ,工具就不会balance


假如我不想让cg_clk1和 {cg_clk2 和 cpu_clk 直接drive 的sink}balance,该怎么设置?
回复 支持 反对

使用道具 举报

发表于 2021-5-28 10:04:10 | 显示全部楼层
处理cts spec,加不同的skew group,并设置非balance group, 楼上说的create_clock虽然也能做tree时达到你要不balance的效果,但是时序检查已经错了,不建议用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-28 13:37:17 | 显示全部楼层


   
shi6091591142 发表于 2021-5-28 10:04
处理cts spec,加不同的skew group,并设置非balance group, 楼上说的create_clock虽然也能做tree时达到你要 ...


set_ccopt_property -skew_group cg_clk1 -constraint {none ?}
我看 spec 里大多用none,除此之外,还有其它选项吗?你说的非 balance group 也是在这里用其它一个option设置?
回复 支持 反对

使用道具 举报

发表于 2021-5-30 20:21:57 | 显示全部楼层


   
wenfangsibao 发表于 2021-5-28 00:17
假如我不想让cg_clk1和 {cg_clk2 和 cpu_clk 直接drive 的sink}balance,该怎么设置?
...


你先要分析是那一条path 最长导致的其他path 也被拉长了
假如是cg_clk1,可以用set_ccopy_property sink_type -pin {cg_clk1} ignore

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-30 20:37:20 | 显示全部楼层


   
凡人修仙传 发表于 2021-5-30 20:21
你先要分析是那一条path 最长导致的其他path 也被拉长了
假如是cg_clk1,可以用set_ccopy_property sink_t ...


谢谢你的回答。
第一,这么问吧,假如 cpu_clk 直接驱动的 reg_group3 和 reg_group1/2 之间不需要互相 balance,那该怎么设置?该怎样告诉tool不要balance,具体 command 和 option 是?
第二,你的回答可能不是我想问的问题。不过你提出的这个case我觉得有点疑问。如果把某个skew_group里面最长latency sink 给 ignore 掉,我相信tool会把它做短,但是这个 sink 的 latency 和其上下级的 sink(reg)的latency common path不就小很多了吗?当然了,也不见得时序收敛不了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-30 20:46:13 | 显示全部楼层


   
shi6091591142 发表于 2021-5-28 10:04
处理cts spec,加不同的skew group,并设置非balance group, 楼上说的create_clock虽然也能做tree时达到你要 ...


spec file 里对每个 clock 都会自动生成一个 skew group。遇到这种情况,user 该怎样改,具体 command 是?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-16 09:37 , Processed in 0.019112 second(s), 5 queries , Gzip On, Redis On.

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