FPGA零基础学习:IP CORE 之 FIFO设计

这篇博客介绍了如何在FPGA中设计和使用FIFO,详细阐述了FIFO的工作原理、设计要求以及在SANXIN -B01 FPGA开发板上的实现过程,包括IP CORE的配置、架构设计、顶层设计和RTL仿真。内容适合FPGA初学者,通过实例展示了FIFO在不同时钟域中的应用和状态标志的使用。
摘要由CSDN通过智能技术生成

本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。

FIFO(first input first output或者first in first out),先入先出队列,是一种数字电路中常用的缓冲器,先进入的数据或者命令会先出来,后进入的数据或者命令会后出来,不改变数据的先后顺序。FIFO的工作方式就像超市购物结账时的通道,先进入的顾客先结账,然后出超市;当先进入的顾客没有结算完成时,或进入的顾客只能进行等待;进入的顺序和走出超市的顺序是相同的。

在大多数的逻辑接口设计时,都会留有一定的缓冲区(FIFO),避免数据没有及时发送(接收)。

无论多大的缓冲区都可能会被装满。当装满后,再次进行载入时,就会出现错误(覆盖或者丢失),所以缓冲区会给予外部标志信号,表明自己的状态。

FIFO的输入和输出的速率可以是不相同的,这就为我们解决多bit数据线跨时钟域的问题提供了方法。

对于输入端口来说,只要FIFO中还有空余位置,就可以写入数据;对于输出端口来说,只要FIFO中还有数据,就可以读出数据。

写一侧的所有信号都同步于写时钟,读一侧的所有信号都同步于读时钟。

设计要求

设计宽度为8、缓冲深度为256、输入速率为100MHz、输出速率为50MHz和各类标志信号的FIFO。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值