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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: hiwzy

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

[复制链接]
发表于 2017-6-5 11:07:19 | 显示全部楼层
个人的意见,仅供大家参考。
首先,以目前大部分FPGA的跑的速率看,以100倍计算,慢速时钟的最高速率是小于5M (请参考Xilinx和Altera的手册)的。这会带来一个问题,对于一个最高时钟是200M的系统,慢速时钟只有2M,这个时钟要考虑从哪来?
1.来自FPGA外部,经过IO进入FPGA内部使用,抖动是不是大幅度增加了。 ;2.内部计数器分频得到的时钟,其抖动更是要多加小心。总之,低于5M的慢速时钟,其时钟质量是令人担心的。我想这是面试考官所要考察的第一个点。
其次,FIFO的空慢判断确实涉及地址的跨时钟域处理,在慢速时钟质量很差的情况下,你要还说跨错时钟域对于FIFO再所难免,那就说不过去了。所以在这种情况下,楼主应该在他的答案上,加上一条“有可能产生错误的空满信号”。

对于这道面试题,我想一定是来源于大量的实践的,但是面试那么短的时间内,解读出内部隐含的信息,有点强人所难了。
发表于 2017-8-11 10:45:49 | 显示全部楼层
回复 54# lxq124lxq
不是读指针快才会有空标志吗,我被搞糊涂啦
发表于 2017-8-11 14:26:58 | 显示全部楼层




   一般情况下是这样,但读写时钟速率相差太大,就会产生这样的问题,因为空指示信号是在读时钟域通过比较读写地址得到,而写地址同步到读时钟域至少需要耗费数个读时钟周期的时间(相当于成百上千个写时钟周期),在这个同步过程中,同步到读时钟域的写地址其实已经远远落后于实际的写地址值。
发表于 2017-8-13 17:06:36 | 显示全部楼层
谢谢分享!谢谢分享!
发表于 2017-8-13 19:01:27 | 显示全部楼层
各位高见,学FPGA,来北京至芯科技
发表于 2017-8-13 21:41:29 | 显示全部楼层
收藏了!
发表于 2017-8-14 16:55:13 | 显示全部楼层
无影响,会出现虚满和虚空现象
发表于 2017-8-15 09:05:37 | 显示全部楼层
厉害啊,学习的了
发表于 2017-8-16 14:57:14 | 显示全部楼层
回复 63# lxq124lxq
哦哦,谢谢
发表于 2017-8-17 15:12:00 | 显示全部楼层
本帖最后由 lxq124lxq 于 2017-8-18 11:16 编辑


一般情况下是这样,但读写时钟速率相差太大,就会产生这样的问题,因为空指示信号是在读时钟域通过 ...
lxq124lxq 发表于 2017-8-11 14:26



这是Xilinx FIFO core文档中的描述:
FIFO.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-3 09:55 , Processed in 0.029170 second(s), 6 queries , Gzip On, Redis On.

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