前言
简单对xilinx FIFO IP进行介绍。
详细内容可以参考该IP的手册 : pg057-fifo-generator --LogiCORE IP FIFO Generator v9.3。
异步fifo仿真代码下载:https://download.csdn.net/download/qq_22168673/13712863
FIFO CONFIGURATION
下图是KU FPGA的fifo配置概要。
1、FIFO数据写入时序
2、标准FIFO读时序
3、First-word-Fall-Through FIFO读时序
4、握手信号
5、FIFO读写仿真时序
下图仿真,采用标准fifo(非FWFT模式)。
5.1、关于数据写入FIFO,需要注意几点:
(1)在第一个数据写入FIFO之后两拍,FIFO IP的WCNT端口计数值才变为有效值1。
(2)计划向FIFO中写入10个数据,WCNT在FIFO写使能WREN结束1CLK后,其值 才变为10。
5.2、关于数据读出FIFO,需要注意几点:
(1)在第一个数据写入FIFO后,经过6个读时钟(CLKS),EMPTY信号才变为0,RCNT值才变为1,即此刻才允许第一次读取FIFO中写入的第一个数据。
若在第一个数据写入FIFO后,下一拍立即读访问FIFO,这种情形下是无法读访问写入FIFO的第一个数据。
具体仿真时序如下图所示。
5.3、关于FIFO的读写计数器,需要注意几点:
(1)、FIFO IP 本身的读写计数器可能存在不准确的情况。因此,当需要使用FIFO 写计数器时,需要注意其数值的不稳定情况。比如:若使用多个FIFO,同时对所有FIFO写入相同数量的数据,它们的写计数器值可能不一致,存在先后错拍的现象。
(2)FIFO 的Almost_EMPTY/Almost_FULL信号,也可能存在不稳定的情况,使用的时候需要通过仿真验证。