yuloong 发表于 2014-3-27 20:48:23

求助:基于fpga的IP核FIFO实现乒乓操作的功能,遇到一个问...

我使用的FIFO的存储深度为8192,分成两部分,每一部分的存储深度为4096,根据乒乓操作的原理,
当一部分写满时,即写到4096时,开始读数据。问题就来了,当我读完第一部分时,就一直停第一部分的最后一个数据,也就是说没有读第二部分的数据。。。
但这个程序我仿真时,出来的结果是对的,就是最后在开发板上用时不行

qswsjs 发表于 2014-3-27 21:46:16

没有懂你的意思,你是两个fifo还是一个fifo,怎么分两部分

yuloong 发表于 2014-3-28 16:29:22

qswsjs 发表于 2014-3-27 21:46
没有懂你的意思,你是两个fifo还是一个fifo,怎么分两部分

用的是一个FIFO,在将一个FIFO分成两部分,那么就可以实现乒乓操作了

yuloong 发表于 2014-3-28 17:15:10

是不是和FPGA的时序约束有关?

NJ8888 发表于 2014-3-28 20:06:28

FIFO哪能分两部分?读写地址线只有各{:lol:}一套

RLCIC 发表于 2014-3-28 20:07:09

一个FIFO拆开来用?还是blockRAM哦

yuloong 发表于 2014-3-28 20:24:58

一个FIFO拆开的

yuloong 发表于 2014-3-28 20:25:28

RLCIC 发表于 2014-3-28 20:07
一个FIFO拆开来用?还是blockRAM哦


一个FIFO拆开的

yuloong 发表于 2014-3-28 20:33:55

NJ8888 发表于 2014-3-28 20:06
FIFO哪能分两部分?读写地址线只有各一套

我分成两部分的意思是,根据乒乓操作的原理,假如fifo的地址深度为8192,我先对前4096个地址写数据,当写到4096时(我是通过wr_usedw来判断FIFO写到了第4096个地址),
我开始读数据,因为读时钟比写时钟快很多,因此这4096个数据很快就被读完了,然后等待读4097~8192这4096个数据,读完这4096个数据后继续刚才的循环,实现乒乓操作的功能。

yuloong 发表于 2014-3-28 20:34:31

问下:大家有没关于乒乓操作的程序,,,谢谢!

RLCIC 发表于 2014-3-28 21:00:06

yuloong 发表于 2014-3-28 20:25
一个FIFO拆开的

看了你给yuloong的回复,你都是先写后读,就是一个FIFO而已,没有在打乒乓,一般乒乓是两个缓存,写缓存2时读缓存1,写缓存1时读缓存2,基本是同时在读写操作!

yuloong 发表于 2014-3-28 21:42:23

RLCIC 发表于 2014-3-28 21:00
看了你给yuloong的回复,你都是先写后读,就是一个FIFO而已,没有在打乒乓,一般乒乓是两个缓存,写缓存2 ...

使用两片FIFO的我也试过,仿真成功但是最后烧写到开发板上用时不行,下面是我的程序,有时间的话帮我看看,谢谢

yuloong 发表于 2014-3-28 21:45:00

NJ8888 发表于 2014-3-28 20:06
FIFO哪能分两部分?读写地址线只有各一套

下面是我的程序,麻烦帮我看看,是用一片FIFO实现乒乓操作的
页: [1]
查看完整版本: 求助:基于fpga的IP核FIFO实现乒乓操作的功能,遇到一个问...