一,FIFO定义
1、 FIFO(Frist Input Frist Output),即先入先出,也是一种存储器,一般做数据缓冲。
2、 FIFO 和 RAM 的共同点在于都能存储数据、都有控制写和读的信号;不同点在于 FIFO 没有地址,所以不能任意指定读取某一个数据,数据只能按照数据输入的顺序输出,即先入先出,并且读写可以同时进行。
3、如果数据把 FIFO 的深度写满了,数据将不能再进去,也不会覆盖原有的数据;读 FIFO 的数据也只能读一遍,读完一遍 FIFO 就空了,需要再往 FIFO 写数据才能读出新数据,否则读出的数据一直是最后一次读 FIFO 时的数据。下图所示的是一个简单的异步 fifo 的示意图。在写端口有写时钟、写使能和待写入的数据。在读端口有读时钟,读使能和读出的数据。此外还有 fifo 的空满信号,当 fifo 中写满数据的时候,full 信号拉高,当 fifo 中数据全部读出后 empty 信号拉高。
二,FIFO读写时序
1,FIFO写时序写端口数据在写使能拉高的情况下,每个时钟周期 将待写入的数据&