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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1237|回复: 1

[讨论] ICG enable 是否需要做同步

[复制链接]
发表于 2023-1-19 12:44:45 | 显示全部楼层 |阅读模式

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

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

x
大家新年好,在review公司时钟design 当中,发现ICG enable 端做了同步开启,异步关闭逻辑,即来自另一个时钟域(ahb clock, 用来配置clock gate enable control register)的enable 信号,同步到gated clock 时钟域时,用了类似reset 同步的方式。

感觉设计很奇怪,在我的理解中:
1. 前端主动例化的ICG大多应用场景下enable可以是异步的,因为大部分应用场景下,时钟关断前,模块会关闭,而模块开启前,时钟已经打开且稳定。
2. 如果应用场景要求时钟关断前,模块状态保持不变,时钟打开后模块继续在原有状态运行(hold 模式),那时钟关闭时必须保证干净,enable 信号一定要用两级以上同步寄存器打拍方式处理。
3. 我认为目前公司的设计,如果应用场景1,是没有问题,如果应用场景2,时钟关闭那瞬间可能会有毛刺产生,因为无法做timing check。

以上是我的理解,所以想把这个奇怪的逻辑修改成两级寄存器同步模式。

有其他后端同事认为ICG 本身会保证clock 输出no glitch,不需要enable 再同步到gate clock 时钟域,ICG enable timing 不用关心。

所以请教大家一般是怎么处理ICG enable 端的,个人的理解是否正确,感谢!!


发表于 2023-1-28 14:22:50 | 显示全部楼层
我认为你的理解是对的,ICG内部的latch和and(or)之间的时序是库保证的不会输出glitch。但enable和clock时钟沿的时序是由设计者保证的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-28 16:45 , Processed in 0.018501 second(s), 7 queries , Gzip On, Redis On.

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