FIFO基础知识

[复制链接]
1568|7
 楼主| 中国龙芯CDX 发表于 2023-11-22 20:14 | 显示全部楼层 |阅读模式
FIFO即First In First Out,是一种先进先出数据存储、缓冲器,我们知道一般的存储器是用外部的读写地址来进行读写,而FIFO这种存储器的结构并不需要外部的读写地址而是通过自动的加一操作来控制读写,这也就决定了FIFO只能顺序的读写数据。下面我们就介绍一下同步FIFO和异步FIFO。
1、FIFO分类
同步FIFO,读和写应用同一个时钟。它的作用一般是做交互数据的一个缓冲,也就是说它的主要作用就是一个buffer。
异步FIFO,读写应用不同的时钟,它有两个主要的作用,一个是实现数据在不同时钟域进行传递,另一个作用就是实现不同数据宽度的数据接口。
2、FIFO的主要参数
同步FIFO和异步FIFO略有不同,下面的参数适用于两者。
宽度,用参数FIFO_data_size表示,也就是FIFO存储的数据宽度;
深度,用参数FIFO_addr_size表示,也就是地址的大小,也就是说能存储多少个数据;
满标志,full,当FIFO中的数据满了以后将不再能进行数据的写入;
空标志,empty,当FIFO为空的时候将不能进行数据的读出;
写地址,w_addr,由自动加一生成,将数据写入该地址;
读地址,r_addr,由自动加一生成,将该地址上的数据读出;
同步FIFO和异步FIFO的最主要的不同就体现在空满标志产生的方式上,由此导致两者一些不同的参数设置。
tpgf 发表于 2024-1-5 14:45 | 显示全部楼层
芯片本身内置的有没有fifo啊
coshi 发表于 2024-1-5 15:19 | 显示全部楼层
哪种fifo用起来更加可靠稳定呢
kxsi 发表于 2024-1-5 16:06 | 显示全部楼层
需要对fifo进行溢出的检测吗
wiba 发表于 2024-1-5 16:42 | 显示全部楼层
这些标志位是同步fifo具有的 还是异步fifo具有的呢
drer 发表于 2024-1-5 20:25 | 显示全部楼层
一个fifo最深的深度能达到多少呢
qcliu 发表于 2024-1-5 20:58 | 显示全部楼层
如何区分同步fifo和异步fifo呢
药无尘 发表于 2024-1-30 22:29 | 显示全部楼层
正好需要,这个很有帮助,感谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

342

主题

2725

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部