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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: sharpwinner

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

[复制链接]
发表于 2012-10-29 14:57:52 | 显示全部楼层
回复 10# arccosx


   
    为什么你认为同时变化两bit就失去意义了? 你要明白
1. 格雷码目的是避免产生错误的空满信号,比如在fifo空/满的时候产生非空/非满指示,但是允许在非空/非满的时候产生空/满指示;
2. 前面多层楼已经解释得很清楚了,格雷码并不是不允许被采错或者采漏,而是限制了采错的时候的地址范围,比如同时采到2bit变化,那么真实的地址一定是在采到地址的相邻的2个地址范围内,再加上地址传递到慢时钟域时会至少用慢时钟打2拍,这样产生的空满信号是不会出错的。而如果使用线性码,采错的时候可能是任何一个地址,最后产生的空满信号就可能是错的。
发表于 2012-10-30 19:13:39 | 显示全部楼层
回复 4# vongy

说得相当好,
发表于 2012-10-30 20:15:55 | 显示全部楼层
我面试也被问到这个问题了~
 楼主| 发表于 2012-11-1 21:44:55 | 显示全部楼层
回复 10# arccosx

你这个疑问,clifford Cummings在他的论文里

http://www.sunburst-design.com/papers/

SNUG 2002
(San Jose)
Simulation and Synthesis Techniques for Asynchronous FIFO Design
with Asynchronous Pointer Comparisons
Rev 1.1
Apr 2002
Voted Best Paper
1st Place
SNUG 2002
(San Jose)
Simulation and Synthesis Techniques for Asynchronous FIFO Design

已经讲过了,你可以看看,你的楼下11楼讲的很对
发表于 2012-11-1 23:16:40 | 显示全部楼层
4楼正解!!
发表于 2012-11-2 12:57:18 | 显示全部楼层
回复 11# kulalabala


    thank  you
发表于 2012-11-2 12:58:23 | 显示全部楼层
回复 14# sharpwinner


        thank  you
发表于 2012-11-2 14:29:11 | 显示全部楼层
回复 11# kulalabala


   说得很好!
发表于 2013-3-14 12:57:17 | 显示全部楼层
回复 11# kulalabala


   问一个很幼稚的问题,看你们讨论了这么多,从快时钟到慢时钟,读地址不是也应该一拍时钟变化一次么?怎么会变化多次呢?我之前的理解是,写信号按照输入时钟一个地址一个地址的写,输出按照读信号一个一个的读,如果地址差距为25%或者75%判断写满或读空。请高手指教
发表于 2013-3-14 19:57:36 | 显示全部楼层
异步fifo两侧的时钟频率相差太大,异步fifo就失去的意义(格雷码就失去了意义)。
要用其他的方式同步,比如上面说的握手,就是一种。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 16:17 , Processed in 0.020893 second(s), 7 queries , Gzip On, Redis On.

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