[求助] FIFO核问题

jokeboy999   2011-9-19 08:41 楼主

我用IP 生成器生成了一个宽度8位深度为103680的FIFO,发现往里存数据,写一半的时候,出来的视频就在显示器上不正常了。我试过存1000个,没问题。为什么大了就不行呢?

回复评论 (7)

Q2吗?试着做时序约束
点赞  2011-9-19 10:35
1、为什么深度为103680而不是2的n次方呢?
2、会不会生成IP时选用的芯片和实际使用的不同,实际的没那么多资源?
点赞  2011-9-19 11:33

回复楼上

用的是Xilinx的Virtex-4  xc4vsx25芯片。里面有128个18kb的bram。我的视频数据是每个8位,存180*576=103680个。这样算下来,bram应该够。我设置的FIFO是8位*131072,所以能存下的。最后报表显示,bram使用了64个.是不是时序约束问题呢!~

点赞  2011-9-19 14:57

回复 4楼 jokeboy999 的帖子

 你计算的BRAM使用量是对的,看来只有时序问题了。建议检查读数据时否少一CLK,这个地方容易错,看仿真波形也应看得出。
点赞  2011-9-19 15:20

回复 5楼 仙猫 的帖子

我做了仿真。没发现溢出,clk也改过。
还有一些东西我没说,我做的是视频处理,很简单那种,就是把采集的656格式的视频流进行八分频,然后把得到的y分量存到我设的fifo里,等到103680个以后,读出来,再进行还原成656格式输出。我输出的时候,用的计数器,cnt=0,给cb和cr赋值128,cnt=1,给y分量赋值前面读出的数。如果前面fifo那里测试没问题的话,是不是可能在还原这里出问题呢?
我设a=103680,之前我存1000时,显示正常,存a/4时,屏幕分为了四部分,存a/2时,出现分割线,靠近显示器右侧,存a时,仍有分割线,但线较a/2时靠左。
我没有团队,自己琢磨的,想不出怎么回事,希望仙猫指点下,感激不尽
点赞  2011-9-21 11:05

回复 6楼 jokeboy999 的帖子

现在看来是视频同步问题
点赞  2011-10-21 20:08

应该不是FIFO的问题,还是你程序应用设计问题

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-10-22 22:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复