找回密码
 注册
关于网站域名变更的通知
查看: 308|回复: 2
打印 上一主题 下一主题

用两块同步FIFO实现一个异步FIFO功能?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-31 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
也就是说用一个25M频率的FIFO写入数据,用另一个100M(或者不同频)的FIFO读出数据。该如何实现呢?不使用异步FIFO: n4 v/ w# ]8 E: l7 }, \; T

该用户从未签到

2#
发表于 2022-10-31 17:28 | 只看该作者
这是反常规操作,实际占用资源会更多,属于比较坑的思路。如果只是为了学习无所谓。
6 E, i5 ^8 {9 W& T; h) J//------假定25MHz/100MHz同源(即相位偏差为0,时钟电气参数一致): \7 G% X* e( E! f9 E, [
1.fifo-a工作在25MHz频率用来写入数据,fifo-b工作在100MHz频率用来读出数据;7 Y3 M8 M2 \3 |
2.理论上讲,fifo-a读出数据持续的有效期是fifo-b工作的四个时钟周期;: q) l5 @/ }4 b; x1 ?' a$ v
3.fifo-b的写使能信号为fifo-a的读使能信号上升沿(需要打两拍/三拍/多拍,具体跟fifo-a设置相关)& Q; R: y2 C( a3 l6 T! q9 E
4.fifo-b的写数据为写使能信号有效时的fifo-a读出数据。& W! W3 G' R. `! ]5 P/ A
//------备注
5 O, @& N; T- Y. n4 K2 t, I% u1.fifo的写入是同步的(写使能/写数据),但是fifo的读出不是同步的(读使能/读数据)。, I& \+ f7 ^* k$ q
2.整体的处理涉及到异步信号的处理(跨时钟域)。
- @4 R" K2 D# w. Y8 W, \! D

该用户从未签到

3#
发表于 2022-10-31 18:16 | 只看该作者
跨时钟域处理,常用打拍或者fifo缓存两种方式。
, ~' _5 o6 u; |: g: K7 A
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-20 20:21 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表