打印
[FPGA]

FPGA控制AD采样数据DDR3存储后出现毛刺的问题

[复制链接]
4267|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenqizhou8|  楼主 | 2013-10-10 23:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个项目用了三路AD采样,依次存入DDR3之后,读取出来的其中AD1路波形有毛刺。VHDL程序没有改动,当去掉chipscope后重新综合,AD1路的毛刺消失,但是AD2路产生了新的毛刺。
分析了一下毛刺的原因,就是读出来的数比如说16位的,其中某一位不同步,如果是高位,一下子就一个很大的毛刺。
FPGA用的是XIlinx公司的Virtex-6,AD使用ADS5463,控制DDR3是用Xilinx的IP核MIG。大神们有没有碰到过类似情况?求助!

相关帖子

沙发
chenqizhou8|  楼主 | 2013-10-11 08:36 | 只看该作者
求猴哥现身哇

使用特权

评论回复
板凳
chenkui456| | 2013-10-11 09:48 | 只看该作者
你 确定问题是出在存储上而不是采集上?

使用特权

评论回复
地板
Backkom80| | 2013-10-11 13:27 | 只看该作者
时序是否有约束?

使用特权

评论回复
5
haitaox| | 2013-10-11 15:22 | 只看该作者
从AD到DA,数据通路经过的环节很多。我建议
1.先屏蔽掉DDR3 SDRAM,将AD的数据直接输出,看看是否有毛刺
如果没有毛刺,那就要看看ddr3的部分了
2.v6只提供了DDR3的控制器硬核,用户需要自己写算法的。请将你的ddr3模块在仿真平台上好好验证一遍
3.v6的ddr3 ip提供了example design,里面有比较完整的测试工程,你可以用他的测试工程跑一遍,确定ddr3是好用的
验证好ddr3之后,将前后模块整合起来
4.时序约束一定要做好,否则加上chipscope之后很容易出现错误。原因是chipscope会使用时钟资源布线,如果这条时钟没有约束的话,就会造成其他逻辑出现错误

使用特权

评论回复
6
chenqizhou8|  楼主 | 2013-10-11 22:48 | 只看该作者
haitaox 发表于 2013-10-11 15:22
从AD到DA,数据通路经过的环节很多。我建议
1.先屏蔽掉DDR3 SDRAM,将AD的数据直接输出,看看是否有毛刺
如 ...

DDR3 和AD都 单独测试过木有问题。今天毛刺问题解决了,使用的是planahead进行优化 。多谢海涛x帮助!

使用特权

评论回复
7
chenqizhou8|  楼主 | 2013-10-11 22:50 | 只看该作者
Backkom80 发表于 2013-10-11 13:27
时序是否有约束?

之前进行了是时序约束,今天用planahead进行区域约束,把问题解决了。Thank u all the same!

使用特权

评论回复
8
haitaox| | 2013-10-12 08:49 | 只看该作者
chenqizhou8 发表于 2013-10-11 22:48
DDR3 和AD都 单独测试过木有问题。今天毛刺问题解决了,使用的是planahead进行优化 。多谢海涛x帮助! ...

恭喜你,planahead的确挺好用的,请问你用的是区域约束解决的问题?

使用特权

评论回复
9
lwq030736| | 2013-10-12 16:09 | 只看该作者
估计是你的时序约束不正确导致的
可能没有时序警告,但是你的约束量不对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

2

粉丝