FPGA FIFO IP核(1)

前言

前两天梳理了PLL核ROM两种IP核,并分别通过一些小的实践应用来知晓其功能,今天继续介绍另外一种IP核:FIFO,今天的内容主要是理论部分。

FIFO概念

英文全称:First Input First Output,顾名思义,也就是“先进先出”的含义,这里面很容易联想到堆栈概念,即先入先出和先入后出。其实它就是计算机中按序执行的队列,先进入的指令先完成,然后执行第二条指令。

应用场景

  • 不同时钟域之间的数据传输
    如下图所示:当想要完成两个不同频率时钟的模块之间的数据传输时,如果直接进行两个模块之间的相连接,一边速度慢一些,一边速度快一些,就会出现乱码,这时候FIFO的作用就类似于一个中间商,将数据以一种写进后,再以另一种速度读出去。这里在实际应用过程中有一个应用:就是在进行AD数据采集时,如果时钟信号和数据处理的时钟不一样,就需要对数据跨时钟处理
    在这里插入图片描述
  • 数据位宽转换
    如下图所示,将8位数据转换为16位数据。
    在这里插入图片描述

参考资料视频源:FIFO IP核的讲解

  • 信号延迟
    这个功能和第一个功能本质上是一样的,如果把第一个功能图中的两个模块颠倒过来,就是数据信号的延迟。

分类

同步FIFO

读和写功能是同一个时钟

异步FIFO

读写是不同的时钟

FIFO设计参数

  • 宽度
    一次读写操作的数据位
  • 深度
    可以存储多少个N位的数据
  • 满标志
    FIFO已满或将满时由FIFO状态电路送出的一个信号,以阻止FIFO的写操作
  • 空标志
    FIFO已空或将空时由FIFO状态电路送出的一个信号,以阻止FIFO的读操作
  • 读时钟
  • 写时钟

小结

上述只是FIFO精简的一个简单概要,在FIFO设计中,非常有难度的就是异步FIFO设计。下一期实践篇完成后再总结一下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值