问题描述
COREGen生成的FIFO的实际深度是多少?
解决/修复方法
有效深度将根据您生成的FIFO类型而有所不同。
对于通用时钟FIFO:
您选择的深度是您在通用时钟情况下将获得的实际深度。
对于独立时钟FIFO(Block Mem,Dist Mem类型):
在独立时钟的情况下,您接收的FIFO的物理深度实际上是您选择的深度。但是,可用深度总是少一个。在任何给定时间,不使用一个位置以防止write_pointer和read_pointer(内部指针)重叠。如果这两个指针重叠,您将无法确定FIFO实际上是EMPTY还是FULL。因此,可用深度总是少一个。您可以将FIFO视为循环缓冲区。
对于FIFO16(独立时钟的通用):
在内置FIFO情况下,几个FIFO16基元级联在一起以形成所需的深度。由于我们需要考虑每个这些原语的Full标志的延迟,我们使用每个这些原语的ALMOSTFULL标志来生成核心的FULL标志。因此,使用每个基元,您将松开大约5个可用位置。
FIFO Gen GUI的最后一页是摘要页面,它将指示实际可用的深度。
没有回复内容