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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6965|回复: 19

[求助] 关于异步clock的约束问题

[复制链接]
发表于 2010-1-4 12:51:49 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jianxuesheng 于 2010-1-4 16:49 编辑

异步clock之间的path (见二楼)

 楼主| 发表于 2010-1-4 12:53:16 | 显示全部楼层
本帖最后由 jianxuesheng 于 2010-1-4 16:48 编辑

有点乱
现在有clk1和clk2两个异步时钟,两时钟之间有有效的路径(如果set false path,后仿中就会出现违反引起的不定态)。
(1)        clk1和clk2都是一个固定的频率,这种情况下,理论上要消除setup和hold是有可能的,频率一定,那相位关系一定,就可以找到最坏情况下建立和保持时间。但是在实际情况下clk1和clk2的频率可能会有理论频率有误差。那还是会可能有违反导致不定态。不知我想法是否正确,遇到这种情况该如何处理。
(2)        clk1和clk2都是一定范围内的不定的频率,相位关系无法确定,那是否就无法消除违反了?遇到这种情况该如何处理。

谢谢各位了。
发表于 2010-1-4 13:53:43 | 显示全部楼层
跨时钟域做个握手信号比较稳当?
 楼主| 发表于 2010-1-4 15:58:33 | 显示全部楼层
本帖最后由 jianxuesheng 于 2010-1-4 16:01 编辑

能具体解释一下 “握手信号”吗?
谢谢了
还有就是代码不能改了。
发表于 2010-1-4 22:46:37 | 显示全部楼层
实际中clk1和clk2几乎不可能做到固定的相位关系,不知道两个不同时钟域之间的有效路径是什么,如果是数据传输就用异步FIFO吧,如果是控制信号,有很多借鉴的方法,这根clk1和cllk2的两个时钟具体的时钟频率有关系。
发表于 2010-1-4 22:58:45 | 显示全部楼层
1.电平信号
如果是高频率到低频率时钟域,直接寄存器打两拍。
如果低频率到高频率,若电平信号宽度有两个高频率时钟周期宽,则打两拍;如果没有,则需要将电平信号展宽(延迟+或门,或者计数器展宽都可以),然后打两拍。

2.数据信号
如果数据信号要保持每个值都不变,且时序关系不变。则使用FIFO来同步
如果数据是很长时间才变化,可以直接打两拍。

P.S.异步处理时如果使用计数器,则通常考虑使用gray码计数器,可以很大程度上避免亚稳态。
发表于 2010-1-4 23:21:29 | 显示全部楼层
楼主 你这个问题的解决方式不应该是约束时钟,而是在后仿真时进行设置,
同步器的2个寄存器不能检查setup hold,

nc 里面可以写一个tfile,排除那些不需要检查setup hold的单元,
实在不行可以改网表,把同步器的单元的setup hold检查的语句注释掉
 楼主| 发表于 2010-1-5 12:43:25 | 显示全部楼层
RE:shuke
后仿中屏蔽了同步寄存器的setup和hold后,那在实际流片后不会因为这两个寄存器而出现问题吗?
头像被屏蔽
发表于 2010-1-5 13:46:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-1-5 15:13:48 | 显示全部楼层
"频率一定,那相位关系一定" 太晕
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 21:21 , Processed in 0.022034 second(s), 8 queries , Gzip On, Redis On.

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