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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
也就是说用一个25M频率的FIFO写入数据,用另一个100M(或者不同频)的FIFO读出数据。该如何实现呢?不使用异步FIFO/ A7 _% K$ j+ ~

该用户从未签到

2#
发表于 2022-10-31 17:28 | 只看该作者
这是反常规操作,实际占用资源会更多,属于比较坑的思路。如果只是为了学习无所谓。
- N; y( ^- q8 W3 q  a$ O3 s  u//------假定25MHz/100MHz同源(即相位偏差为0,时钟电气参数一致)
( Y# K' J9 C4 T: H; w' g! _3 Q$ @1.fifo-a工作在25MHz频率用来写入数据,fifo-b工作在100MHz频率用来读出数据;
' f' H. `' D% |5 S9 G  j. H; o2.理论上讲,fifo-a读出数据持续的有效期是fifo-b工作的四个时钟周期;
1 [' e9 h1 o  U. q1 x% E3.fifo-b的写使能信号为fifo-a的读使能信号上升沿(需要打两拍/三拍/多拍,具体跟fifo-a设置相关)
+ a* M- H1 j  K4 X4 a. ^  N$ e4.fifo-b的写数据为写使能信号有效时的fifo-a读出数据。, U* a2 r! \# k7 c( Q
//------备注
: J# K: K. L$ _5 L* S" T1.fifo的写入是同步的(写使能/写数据),但是fifo的读出不是同步的(读使能/读数据)。% j$ {2 [5 X$ A# c( c5 V
2.整体的处理涉及到异步信号的处理(跨时钟域)。+ ~' o, W. [. ?9 T) g

该用户从未签到

3#
发表于 2022-10-31 18:16 | 只看该作者
跨时钟域处理,常用打拍或者fifo缓存两种方式。; e8 N2 f: D! B% o, N0 k' r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 22:00 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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