Vavido IP核Independent Clocks Block RAM FIFO简述

1 FIFO(先入先出)
1.1 概念

    FIFO(First in First out)即先入先出队列,是一种数据缓存器,其没有外部读写地址线,数据地址由内部的读写指针自动加1完成,使用简单。但这也造成FIFO只能按顺序写入数据和读取数据。

1.2 应用场景

    FIFO主要应用在以下几个场景中:

  • 数据缓存:可以暂时存储数据以便进行运算、传输等逻辑操作。
  • 跨时钟域处理:进行数据的跨时钟域处理,即当数据以X频率的时钟获取到,却需要Y频率的时钟取进行处理时,使用FIFO能够更好的完成该操作。
  • 不同数据位宽处理:当数据进行宽度转换时也可以使用FIFO进行操作。
1.3 FIFO信号

    FIFO常用到的信号如下图
在这里插入图片描述

  • rd_clk、wr_clk:FIFO的读写时钟,数据的读写基于这两个时钟进行。
  • rd_en、wr_en:读写使能,写使能信号拉高时向FIFO里面进行数据写入,读使能拉高时则从FIFO里读出数据。
  • rst:FIFO复位信号,拉高时对FIFO进行复位操作。
  • din、dout:din为写入FIFO的数据,dout为从FIFO读出的数据。
  • empty、full:空满信号,empty拉高时标识FIFO里面的数据也被全部读出,不能在进行读操作;full拉高时则表示FIFO能容纳的数据量已达到设计的大小,不能再向里面写入数据了。
  • rd_data_count、wr_data_count:读写数据计数,每写入一个数据时两个计数器自增1,每读出一个数据两个计数器自减1.
1.4 FIFO读写时序
1.4.1 FIFO读时序

    FIFO有两种模式:Standard FIFO(标准模式)和First-Word Fall-Through(FWFT模式)。两种模式下的读时序是不同的,标准模式下读操作时数据会在读使能拉高的下一个时钟给出,而FWFT模式下数据则在读使能拉高的同一个时钟给出。

  • Standard FIFO模式下读时序:

在这里插入图片描述

  • First-Word Fall-Through模式下读时序:
    在这里插入图片描述
1.4.2 FIFO写时序

    在两种模式下其写时序都是一样的,在写使能拉高的同一个时钟沿开始写入数据。
在这里插入图片描述

参考

    1、https://blog.csdn.net/qq_38812860/article/details/120138467
    2、https://blog.csdn.net/HouQi02/article/details/51683635

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值