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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1797|回复: 5

[求助] 异步FIFO跨时钟域_求助

[复制链接]
发表于 2016-11-7 17:52:58 | 显示全部楼层 |阅读模式

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

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

x
接触异步fifo不多,请教各位一个异步FIFO的问题。
需求:AD采样进来20Msps的数据(独立的外部时钟),想转换到80M的内部FPGA时钟上,异步FIFO如何控制才能保证数据在FPGA内部是大致均匀的?


现在的想法是:时钟慢到快,就写若干个进去譬如写十个,超过十个之后写一个进去,就读一个出来。感觉这样就没用起FIFO,请教各位有好的什么建议么?
发表于 2016-11-8 08:43:39 | 显示全部楼层
如果读出时钟是写入的4倍,4个周期读一个出来
发表于 2016-11-8 09:16:26 | 显示全部楼层
不用FIFO,用data ready通知FPGA。当然data ready到FPGA需要同步到FPGA时钟。
发表于 2016-11-8 14:54:44 | 显示全部楼层
我真好也是在做同样的东西,不过我是准备把慢时钟的信号(EOC转换完成)用快时钟锁存器产生一个标记信号,然后采用同步FIFO处理,异步FIFO的时候也是需要锁存一个标记位,采用异或的办法,产生PUSH信号,可以在网上查一下,我记得里面有一篇介绍的很详细
发表于 2016-11-8 17:15:33 | 显示全部楼层
说一个很简单的办法,你这个问题是读时钟Rclk 远大于写时钟Wclk,这就意味着FIFO永远不会overflow.
但是会underflow,但是这正是我们希望看到的。
把读写使能设置为‘1’,这样underflow信号取反作为你读到Rclk时钟域下数据的valid信号。

因为Wclk和Rclk不是同源,所以会有频差,所以你同步到Rclk时钟域下的数据只是近似均匀的。

这样用过,很稳定,仅供参考。
发表于 2016-11-10 09:30:22 | 显示全部楼层
没搞懂什么意思,何为均匀?
首先由慢到快不担心fifo full,其次数据的分布是由AD决定的,FPGA只是接受.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

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

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