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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5679|回复: 8

[求助] 跨时钟域FIFO的老话题:快时钟域的地址信息如何同步到慢时钟域?

[复制链接]
发表于 2012-10-25 15:03:30 | 显示全部楼层 |阅读模式

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

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

x
昨天面试被问题这个问题,面试官问译码FIFO的关键技术,如何解决?

我当时以为理解的没问题,就按照Clifford Cummings的论文上来讲。关键技术在于处理译码读写时钟域的地址信息,产生空满信号。解决方法是使用同步器降低亚稳态,使用格雷码保证每次只变1位,即使采错也是+1或-1的问题,不会造成致命错误。

但那个面试官就说,如果两个时钟相差很大,怎么保证快时钟域的信号传递到满时钟域?

我说需要在快时钟域进行信号宽带的展宽,保证被慢时钟域采到。

接着他就问,那FIFO两侧不能这样做吧,怎么保证快时钟域的地址被慢时钟域采到?会不会出现问题?

我就蒙了,感觉有问题,但觉得应该没问题。。。。就说没问题,但不知道为什么?

希望明人指点~~~~
发表于 2012-10-25 16:55:15 | 显示全部楼层
当两个时钟相差很大时,展宽信号就会代价很大,这时候采用握手进行同步处理;
 楼主| 发表于 2012-10-25 16:56:30 | 显示全部楼层
回复 2# Gary.wang

你是不是没明白我什么意思啊
发表于 2012-10-25 17:28:24 | 显示全部楼层
有个术语叫什么TMB还是TSB之类的,忘了,总归就是要通过计算两者之前的最大差值,从而分配需要至少保持在多少字节的BUF。
 楼主| 发表于 2012-10-25 17:45:52 | 显示全部楼层
回复 4# yp19890718

我的问题是 快时钟域的地址一直在变 用慢时钟采 比如本该满的时候没有采到 会不会发生问题
发表于 2012-10-25 18:03:33 | 显示全部楼层
发表于 2012-10-26 14:29:43 | 显示全部楼层
我也一直纠结这个问题。请问你说的“信号展宽”是用结绳法还是?个人感觉计算出两个时钟差造成的最大字节数,然后用握手处理方式同步比较靠谱。
发表于 2017-7-19 13:31:14 | 显示全部楼层
假设异步FIFO中写时钟频率远高于读时钟频率,那么读时钟域采样到的写地址有遗漏,比如1,5,9,14……但是,读时钟域采样到的写指针只可能小于实际的写指针,如果基于比实际更小的写指针判断的结果没有读空,那么基于实际的写指针判断的结果必然没有读空。本质上,异步FIFO对空满的判断是一种保守判断。
发表于 2017-7-21 14:40:19 | 显示全部楼层
我一个新手完全不明白!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 04:00 , Processed in 0.025273 second(s), 9 queries , Gzip On, Redis On.

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