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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4526|回复: 2

[求助] vivado下使用DDR4 IP核出错

[复制链接]
发表于 2019-7-17 19:11:34 | 显示全部楼层 |阅读模式

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

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

x
使用的片子是赛灵思的zynq utralscale,然后PL下使用的是三星的2GB DDR4,数据源是2路相机数据,对于DDR4来说是2路输入,3路输出,其中1路相机数据目前是造的数据模拟源640*512,输入到DDR4中缓存,再输出进行数据比对,上板测试数据输入和输出是一致的,另一路数据是SDI相机数据,数据是1920*1080的HD-SDI数据源,上板测试,抓信号发现这些数据在写到DDR4的时候,DDR4缓存模块的状态机会出现状态乱跳,也就是在写完256bit数据给DDR4 ip核的app_wdf_data端口状态,跳转到写对应地址到app_addr这个状态的时候,就会偶尔乱跳状态,导致没写相应地址给ip核,状态机是3段式,整个状态机18个状态。功能仿真没问题,写数据状态跳转到写地址状态的跳转条件是ddr4 ip核输出的app_wdf_rdy为高则跳转。现在想咨询的问题是:1、DDR4 IP核有XDC约束文件,我的工程是只定义了DDR4的的引脚以及输入的参考时钟,比如DDR IP核约束文件里面的时序约束则没有复制到工程里面的XDC文件中,这样做是否正确?问过一些身边的做FPGA的,给的回答是不需要处理,vivado在综合的时候,会自动寻找ip核中的约束文件进行处理。
                                2、DDR4 IP核配置的时钟很低了,配置的666M,DDR4缓存模块的时钟就是DDR4 IP核输出的用户时钟166.5M,写数据状态跳转到写地址状态的判断条                                         件仅仅只有一个app_wdf_rdy,这个端口为高就跳跳转,但是还是会偶尔出现状态乱跳情况,这是个时序问题,但是现在都不知道该怎么修改了。

大家有用用过赛灵思  DDR3 或者DDR4 IP核的, 有懂的,帮帮忙看看吧,指点指点,感谢!
 楼主| 发表于 2019-7-17 19:14:23 | 显示全部楼层
C:\Users\yanda\Desktop\微信图片2
 楼主| 发表于 2019-7-17 21:36:41 | 显示全部楼层
目前我能想到的办法是在写数据状态app_wdf_rdy为高时,再停留一个时钟周期,然后跳转到写地址状态,在三段状态机中,次态赋值给现态的时候,时序可能就有点不满足了,但是时序报告里没得相关寄存器时序违例的报告,大佬们有建议可以提点下呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-28 23:15 , Processed in 0.018182 second(s), 5 queries , Gzip On, Redis On.

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