对FIFO的理解

FIFO(first in first out)即先入先出原则,是一种传统的按序执行方法;也可以将FIFO理解为一种先入先出的数据缓存器,其与普通的数据缓存器相比,没有外部读写地址的功能,因此使用更加简单,但是缺点也比较突出:只能顺序写入数据和顺序读取数据,不支持通过地址来自由读写数据。

FIFO的基本参数

1.FIFO的宽度:指FIFO一次读写操作的数据位,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。

2.FIFO的深度:指FIFO可以存储多少个N位的数据(如果宽度为N),例如如一个8位的FIFO,若深度为12 ,就可以存储12个8位的数据,FIFO的深度可大可小,个人认为FIFO深度的计算并无一个固定的公式。

3.满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。

4.空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。

5.读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。

6.写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。

7.读指针:指向下一个读出地址。读完后自动加1。

8.写指针:指向下一个要写入的地址的,写完自动加1。

读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连续的

FIFO的分类

根均FIFO工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟是互相独立的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值