当前位置:   article > 正文

【FPGA学习笔记】FIFO IP核的使用_fpga fifo ip核

fpga fifo ip核

一、FIFO 简介

1、概念

FPGA使用的FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互,也即所谓的跨时钟域信号传递。它与FPGA内部的RAM和ROM的区别是没有外部读写地址线,采取顺序写入数据,顺序读出数据的方式。

可以分为单时钟FIFO双时钟FIFO。
单时钟FIFO: 单时钟FIFO具有一个独立的时钟端口clock,因此所有的输入输出信号都同步于clock信号。单时钟FIFO常用于同步时钟的数据缓存
双时钟FIFO: 写端口和读端口分别有独立的时钟,所有与写相关的信号都是同步于写时钟wrclk,所有与读相关的信号都是同步于读时钟rdclk。双时钟FIFO常用于跨时钟域的数据信号的传递。

2、常用参数

FIFO的宽度:一次读写操作的数据位N
FIFO的深度::FIFO可以存储宽度为N位的数据的个数
空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出。
满标志:FIFO已满或将要写满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出。
读时钟:读FIFO是遵循的时钟,上升沿有效
写时钟:写FIFO时遵循的时钟,上升沿有效。

3、读入写出顺序

1、写数据:当wrempty(写空)有效且wrfull(写满)无效时,wrreq(写请求)置位,过一个周期开始写数据。
在这里插入图片描述
2、写满时:wrfull(写满)有效,过三个周期,rdfull(读满)有效;
过一个周期,读请求信号有效,开始读数据。开始读数据后,wrfull(写满)信号失效。

在这里插入图片描述
3、读空时:rdempty(读空)信号有效,过两个周期,wrempty(写空)信号有效;过一个周期上升沿到来,写请求信号有效,然后开始写数据。

在这里插入图片描述

FIFO IP核 内部机制

1、读空FIFO时,读空信号rdempty先拉高,过两个时钟周期后写空信号wrempty才拉高,这是由FIFO内部结构决定的,并且在写请求信号wrreq拉高后的第4个时钟周期读空信号rdempty才拉低。

2、写满FIFO时:写满信号wrfull拉高3个时钟周期后,读满信号rdfull才有效,并且在读请求信号rereq拉高后的第4个时钟周期写满信号wrfull才拉低。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/206766
推荐阅读
相关标签
  

闽ICP备14008679号