异步fifo_FIFO工作的原理

本文详细解释了异步FIFO的工作原理,包括读写指针的工作方式,FIFO的空/满状态检测。通过额外位和数据计数器的方法来区分满和空状态,并讨论了二进制和灰码表示指针时如何避免亚稳态问题。
摘要由CSDN通过智能技术生成
 根据FIFO工作的时钟域分为同步/异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟在时钟沿来临时同时发生读写。异步FIFO读写时钟不一致,读写相互独立。

读写指针的工作原理

读指针:总是指向下一个将要读取的单元,复位时指向第一个单元(编号为0);

写指针:总是指向当前要被读出的数据,复位时,指向第一个单元(编号为0);

FIFO的“空/满”检测

FIFO设计的关键:产生可靠的FIFO读写指针和生成FIFO“空/满”状态标识。

很明显,当FIFO写满时,就不能再写新数据了,否则就导致数据的溢出;而在空状态即之前写入的数据已经读完,就不能再读取了,否则读出的数据就是无效数据。

1.读空信号(rd_empty)

一般情况当读写指针相等时,表明FIFO为空,这种情况发生在 复位操作时 或者当读指针读出FIFO中最后一个字 后,追赶上写指针时,此时读空信号有效。

发生如下图所示:

8655ea3f60df6ef8eeccb53d76efb24c.png

2.写满信号(wr_full)

当读写指针再次相等时,表明FIFO为满,这种情况发生在,当写指针转了一圈折回来(wrapped around)又追上了读指针&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值