在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8381|回复: 9

[求助] 异步不对称FIFO读出数据存在问题。。。

[复制链接]
发表于 2013-4-20 09:49:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我是在DDR2读出来数据出来加了个异步FIFO,256bit进,8bit出。我用STP观察时候发现有时候前两个256bit读出来数据是正确,但是后面就有些错误,有时候会有规律对调一些数据的位置,不知道哪位大哥有遇到过?

rd_fifo   rdfifo(
     .aclr(~local_init_done),
     .data(sys_data_out),    //输入256Bit
     .rdclk(rd_clk),
     .rdreq(rdf_rdreq), //读请求
     .wrclk(afi_clk),
     .wrreq(sdram_rd_ack), //写请求
     .q(rdf_dout),              //输出的8bit
     .rdusedw(rdf_use),
     .rdempty(rdempty)
     );

其中
assign sdram_rd_req = rdf_rdreq && (rdf_use <= 9'd256) && (!finish_ack);
发表于 2013-4-20 12:01:36 | 显示全部楼层
看看是否FIFO FULL满了,会丢失数据的
 楼主| 发表于 2013-4-20 18:29:21 | 显示全部楼层
回复 2# Lawee
谢谢回复。。。但是我这个FIFO一直处于未满状态的,我故意把深度调大了很多,但是接受到的数据还是会 一段正确,中间某个数据异常,再一段正确,某个数据异常 这样。。。。。。
发表于 2013-4-20 22:22:04 | 显示全部楼层
会不会是读出来的256bit数据与对应写入FIFO的clock时序关系不匹配造成的
发表于 2013-4-21 06:13:32 | 显示全部楼层
DDR2 会中断 refresh数据 , fifo wren 需要判断data valid, 然后fifo读的时候 最后用read counter 控制
 楼主| 发表于 2013-4-21 10:11:06 | 显示全部楼层
回复 5# lee2008

谢谢回复,我的写请求就是 wrreq = rdata_valid ;  您说那个read counter是怎么用?
    谢谢!
 楼主| 发表于 2013-4-21 16:50:18 | 显示全部楼层
问题解决了。。。。。比较坑爹,我不用signaltap ii 我用串口发送到PC查看数据,发现都是正确的,,,,再次感谢回复的个位。
发表于 2013-12-13 13:56:07 | 显示全部楼层
回复 7# ckshy


    我想问个问题啊,我也用了256进64位出的fifo,为什么读出数据先出来的是高64位,是设置的问题吗?
发表于 2013-12-13 21:44:50 | 显示全部楼层
FIFO最先出来的事高位。。若需要低位现出来,在写入FIFO的时候,可以对高低位做变换
发表于 2014-3-12 09:19:54 | 显示全部楼层
你用的是xilinx的fifo还是自己写的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 21:46 , Processed in 0.021373 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表