集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1099|回复: 3

FIFO基础的了解与仿真

[复制链接]
d643189658 发表于 2017-8-3 07:51:25 | 显示全部楼层 |阅读模式
      FIFO基础的了解与仿真

FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,一般我们是在用在数据缓存中,对于不同步的数据写入和读取一般采用FIFO。

首先我们来看一下Quartu建立的FIFO模块图



此时我们建立的FIFO的数据位为8位。则data和q端口都为8位。

FIFO的一些参数
Data[7:0] : 向FIFO中写入的数据
Wrreg: 向FIFO写请求信号 高电平有效
Wrclk:   向FIFO写时钟信号
Rdreq:   FIFO读取请求信号 高电平有效
Rdclk:   FIFO读取时钟信号
Wrfull:   FIFO写满信号,如果FIFO满则此信号一直为高电平
Wrempty: FIFO写空信号,如果没有向FIFO中写入数据,则此信号一直为高电平,当向其中写入写入数据则此信号为低
Wrusedw[7:0] FIFO写入的数据个数
Q[7:0] 从FIFO中读取的数据
Rrdfull: 读取端满信号,当读取端FIFO的数量增加直到满足FIFO的容量时,则此信号为高电平。
Rdempty:  读取端空信号,当读取端FIFO的数量读取完后,则此信号变为高电平。
Rrdusedw[7:0] :此信号为读取端读取数据数量的信号。
Aclr:      同步清零信号,当此信号为高电平时,将清空FIFO中的全部数据。

2

我们了解FIFO的各个端口的数据之后我们就来看一下FIFO仿真的时序图。


从上图我们可以看出,在wrclk的上升沿,当Wrreg为高时,就将Data端的数据写进FIFO中,相应的Wrusedw就相应的加1,rdempty就由低电平变为高电平。在rdclk的上升沿,当rdreg为高电平时,就从FIFO中读取一个数据,读取的数据在q端口,rdusedw就相应的减少1,rduesdw总是比wruesdw晚几个时钟,这也就是异步FIFO的原理,写入和读取不同步。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
FPGA_one 发表于 2017-8-3 09:16:47 | 显示全部楼层
分析的更到位         
芙蓉王 发表于 2017-8-3 09:26:05 | 显示全部楼层
FIFO基础的了解与仿真
 楼主| d643189658 发表于 2017-8-3 11:11:59 | 显示全部楼层

看人家写的,分享出来
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 23:15 , Processed in 0.065349 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表