1、什么是FIFO?
FIFO(First In First Out) 是一种先进先出的数据缓存器,在逻辑设计里面用的非常多。它是一种存储器结构,被广泛应用于芯片设计中。FIFO由存储单元队列或阵列构成,第一个被写入队列的数据也是第一个从队列中读出的数据。
FIFO 设计可以说是逻辑设计人员必须掌握的常识性设计。FIFO 一般用在隔离两边读写带宽不一致,或者位宽不一样的地方。 在 FPGA 设计,使用 FIFO 一般有两个方法,第一个方法是直接调用官方的 FIFO IP,另外一个方法是自己设计 FIFO 控制逻辑。当然了,我们学会设计FIFO,并不一定是真的需要自己造轮子,只是说作为从业人员我们要了解相关的设计方法,毕竟自己造的轮子不一定能跑不是。
为了更好地了解FIFO,可以把FIFO形象化地比作一条管道,管道中的球可以被看做写入FIFO的数据。FIFO的写操作和读操作过程如下所示: