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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 88221|回复: 142

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

[复制链接]
发表于 2016-9-11 11:34:40 | 显示全部楼层 |阅读模式

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

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

x
今天华为面试题:异步fifo读时钟是写时钟的100倍,或者写是读的100倍会出现什么问题?
答得:
如果是瞬态数据中间有足够间隔,则不会出现问题。
如果是连续数据,则很快输出空满标志位。


面试官不满意,请教下大神指点?
 楼主| 发表于 2016-9-11 14:43:10 | 显示全部楼层
等待高手哈!
发表于 2016-9-11 18:04:00 | 显示全部楼层
本帖最后由 lcxi2727 于 2016-9-11 18:06 编辑

不要在意,术业有专攻。面试的估计也就自己写过FIFO而已。
方案会出现这种问题,首先就不是一个好的设计。
发表于 2016-9-11 23:05:46 | 显示全部楼层
觉得应该是会产生setup/hold时序问题吧。例如,在读时钟比写时钟快100倍的情况下,写满的标志位是在写时钟的时钟域下产生的,这时,就要对写指针和读指针进行比较,而读指针是在读时钟的时钟域下生成的,为了满足读时钟域的setup时序要求,那么读指针的产生就必须要在一个读时钟周期内完成,这时,读指针的变化就相对写时钟来说变化得太快,那么可能会在写时钟的setup/hold时序检查的窗口里面变化,就会在产生写满标志位时有setup/hold时序问题。
发表于 2016-9-12 08:59:24 | 显示全部楼层
时钟差距这么大,感觉怪怪的,这种情况用RAM更简单吧
发表于 2016-9-12 09:19:08 | 显示全部楼层
华为面试官也能问出这么没有水平的问题……或者楼主没有把问题描述全面。纯粹从设计上看,异步FIFO读写时钟差异万倍也不会导致FIFO本身功能出错。你回答的是会出现什么现象,提问者觉得会出现什么错误问题,所以他不满意。确实只会出现你说的现象,不会有什么问题。
发表于 2016-9-12 21:02:25 | 显示全部楼层
回复 5# 菜鸟要飞


   读是写的100倍,直接拍过去都可以把它拍死了。写是读的100倍,一般来说是面试提问的人“脑子瓦特了”
发表于 2016-9-17 01:27:38 | 显示全部楼层
(1)人家问这问题,不代表实际中会用,大家没必要评论这问题本身合不合理
(2)太快会导致 fast-》slow的 path 在throughput较大时,对于slow domain而言出现一堆timing的问题(transition, mata, etc.),甚至会导致slow domain看到的gary code变换后的指针和fast domain最新的值不匹配,就全挂了
(3)这种设计在架构上应该不会有。之前碰到即使8x clk -> 1x clk的时候,为了稳妥起见,最后的实现方式是:
   8x- > 4x -> 1x。
发表于 2016-9-17 10:20:04 | 显示全部楼层
回复 8# masaka_xlw


   请教大师,能讲详细点吗???
发表于 2016-9-17 21:20:06 | 显示全部楼层
时钟差距太大,有可能会导致跨时钟域的,读写指针丢失数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 22:19 , Processed in 0.031488 second(s), 7 queries , Gzip On, Redis On.

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