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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: hiwzy

[讨论] 今天华为面试题:异步FIFO读时钟是写时钟的100倍,或者写是读的100倍会出现什么问题?

[复制链接]
发表于 2016-12-22 12:12:06 | 显示全部楼层
回复 40# dyytx

我理解:要区分setup和hold时间,以及写时钟周期,的确在一个写时钟周期内,100倍的读指针会发生100次变化。但是并不是意味着在setup这段时间读指针也发生多次变化,setup时间同读时钟变化相比还是远远小于的。所以即使在100倍读时钟周期情况下,写上升沿的setup窗口中,最多只能有1bit发生变化(格雷码),只有1bit存在亚稳态,而这个亚稳态在经过下一级触发器中被消除了(这个亚稳态引起电路失效的概率是可以推算的,具体可以参考相关文献)。所以我认为不会存在时序问题。
发表于 2016-12-22 13:10:51 | 显示全部楼层
异步fifo设计不就是用来解决跨时钟域的问题,感觉不会有什么问题,只会是出现在写满或者读空信号产生过程中整个电路产生处于亚稳态
发表于 2016-12-22 13:12:31 | 显示全部楼层
本帖最后由 dyytx 于 2016-12-22 13:28 编辑

回复 41# anpingbo


3X
发表于 2016-12-22 13:37:47 | 显示全部楼层
学习了
发表于 2016-12-30 23:33:10 | 显示全部楼层
回复 25# masaka_xlw


看了你两个回复就受不了了。别装逼了,快去别处玩去吧。

根本鸟都不懂,就了解些词汇而已。

估计是个挂虚职的s_b领导吧。
发表于 2016-12-31 14:55:54 | 显示全部楼层
路过,看看而已
发表于 2017-1-2 16:15:32 | 显示全部楼层
不会啊
发表于 2017-2-9 17:10:45 | 显示全部楼层
本帖最后由 lisely 于 2017-2-9 17:12 编辑

我做个简单的回复吧,理解有误,还请大家多多指教,谢谢。
问题如下:异步FIFO读时钟是写时钟的100倍,或者写是读的100倍会出现什么问题?
答: 如果是前者,从快的时钟域读取慢的时钟域,可能会产生fifo空情况(如果两个端口连续进行数据传输,就会有空;如果写端口写到一定数据,再由读端口读,也可能不会产生空),不会产生fifo满的情况,需要注意根据fifo空标志来设计读取控制逻辑;
       如果是后者,从慢的时钟域读取快的时钟域,可能会产生fifo满情况(同上),不会产生fifo空的情况,需要注意根据fifo的满标志来设计写入控制逻辑.

非答案:(此部分用于解释不用关心fifo本身内部的设计机制,我认为考官主要是在考察怎么用fifo(可能产生的现象),而不是设计)
异步fifo设计时,关键的就是如何正确的产生空和满指示。这部分,是通过分别在各自的读写两个时钟域下,对比读地址和写地址的值来输出。由于地址需要跨时钟采样,无法保证在各自时钟域采样下满足建立保持时间,且亚稳态只会发生在地址的变化过程中,因此,使用格雷码计数,可以使得前后相邻地址的变化只存在1bit,最终使得地址采样到另一个时钟域下,最多只有1bit的错误,因此,满时的读地址值可能是n-2,n,n-1(当前写地址值),空时的写地址值可能是n-1,n(当前读地址值),n+1。
发表于 2017-2-9 22:29:54 | 显示全部楼层
MARK~~~~~~~~~~
发表于 2017-2-12 18:57:45 | 显示全部楼层
本帖最后由 zonzi 于 2017-2-12 19:06 编辑

异步FIFO/FILO读时钟是写时钟的100倍:丢包

写是读的100倍FIFO会出现什么问题:小心点就没啥问题
FILO写是读的100倍会出现什么问题:
的话就需要加额外控制部件比较麻烦或者要计算算缓存空间来读

问FIFO是因为情况比较简单
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 04:44 , Processed in 0.023885 second(s), 7 queries , Gzip On, Redis On.

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