1.FIFO简介
FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。
FIFO 存储器主要是作为缓存,应用在同步时钟系统和异步时钟系统中,
FIFO 根据读写时钟是否相同,分为 SCFIFO(同步 FIFO)和 DCFIFO(异步FIFO)
2.FIFO分类
异步和同步:指读写时钟是否相同
标准和即出模式:标准模式下读使能下一个周期数据才出现在读端口,先出模式下读使能和数据同时出现,默认为标准模式,即出模式下第一个数据默认输出,
2.FIFO标志位
full:写满标志:写满时拉高
empty:空标志位,为空时拉高
usedw:
显示当前FIFO中已经存数据个数,
标准模式比即出模式多1,
标准模式下会溢出一位,可以加一位信号线来计数,可用满信号线与usedw拼接
即出模式下不会溢出
almost full、almost empty:几乎满空标志位,自定义
asynchronous/synchronous clear:异步/同步复位,用于清空FIFO
上溢和下溢检测:写满或者读空时禁止写或读操作
3.FIFO拼接
8输入16输出时,16bit 数据是输入的 8bit 数据低位在后高位在前的顺序,如果记错了顺序在使用数据的时候会产生错误。
参考资料:征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》(上)