1.简介
FIFO(first in first out)是一种数据缓冲器,用来实现数据先入先出的读写方式,FIFO存储器主要是作为缓存,应用在同步时钟以及异步时钟,很多设计中会应用,如:多比特数据做跨时钟域处理,前后带宽不同步等。
如上图,系统A将数据传送到系统B,A和B时钟不同步,因此需要FIFO。
如上,FIFO将4位宽转化为8位宽。
同步FIFO(左)和异步FIFO(右)
以同步FIFO为例,data[7:0]表示数据输入,q[7:0]表示数据输出。wrreq和rdreq分别是写使能和读使能,clock为系统时钟,full为数据满标志,almost_full为数据将满标志,empty为数据读空标志,almost_empty为数据将读空标志,usedw为剩余数据个数,eccstatus为校验位,sc