FIFO IP核最后一个数据读不完,怎么回事?
FIFO设置有问题?我在12.1版本里面使用FIFO的时候,满标志不正常,还有最好不要使用异步FIFO,最好是同一个时钟,然后通过wr和rd信号写入读取。
是否是你的读使能信号提前拉低,导致最后一个数据没有读出,等到下次有新的数据写入后才能再次读出?
感谢楼上二位,顺便弱弱问一句,ISE的ip核应该都是没问题的吧?我同事怀疑是ip核问题,我又不敢妄下论断
你使用的fifo肯定是 read width > write width 。是不是?
IP没有问题,空满的设置可以改下条件看看,试试program empty,设置的深度为0或1再看看,
read width = write width,program empty空满条件只能变大,没法变小了,默认已经是最小了。
我也遇到同样问题,只不过我是第一个数读不出来,总是从我写入的第二数开始读出。
软件没问题,在cycloneII时正常的,但在cycloneIII时就不行了。
有遇到过并解决的吗?
你好,我也遇到你这个问题,不知道最后你是怎么解决的
谁说xilinx没有bug的,本身FIFO generater这个东西,有些版本就是有bug,建议小编换成vivado,如果还有问题,建议去找个FAE问问,他们对这些基础模块的问题很重视的,毕竟是丢脸的事情
我现在也遇到了同样的问题,是怎么解决的啊
Ise的fifo bug还是有的,不要太奇怪
也遇到这个问题了,第一次总是读不出来,而下一次读出的总是上一次没读出的那个最后一个数据,请问什么原因?
不要连续读,试试隔一个周期读一次
用过ISE12.4版本的异步FIFO,完全没问题。
你这个应该是第一个数没有写进去,FIFO复位延时会有2个或者3个时钟周期,你可以看一下IP核的参数,可以在复位后延长2~3个时钟周期再使能写信号,这样看下结果。
你好,我也遇到这个问题,把读使能延后几个时钟周期也不行,最后一个数据还是在下一次的读数中读出,请问当时怎么解决的。
您好,看到您之前碰到过这个问题,当时怎么解决的呢?
学习了!
可能是ip core的配置问题,你们用了almost empty而不是empty,且almost_empty_depth = 1, 所以里面实际上还有最后一个数,只有当后面的数push进fifo后,才能读出后面的数
确实有这个问题,我也遇到过
关注中!
同步fifo和异步fifo能写进去的实际大小不一样,相差一个
