[X]关闭

关于FPGA-MIG DDR读写的问题

文档创建者:Tyrion.
浏览次数:10231
最后更新:2019-12-10
 
本帖最后由 Tyrion. 于 2019-12-10 11:53 编辑

MK7325,数据从DDR读出,当app_rd_data_vaild第一次拉高时,读出的数据app_rd_data每四位就有一位是错误的,如图所示(应该是00010001000100010002000200020002…)。当app_rd_data_vaild拉低后再次拉高,恢复正常。ILA监测写入数据data_wdf_data以及app_addr并无错误。C:\Users\dell\Desktop\app_rd_data.jpg

另外,目前所用的DDR教程:版本 REV2018 时间 05/22/2018  XILINX FPGA-MIG DDR 篇 基于 MK7325 系列开发板 。第44页最后一行,
app_addr_begin                   <=app_rdy&&app_wdf_rdy?(app_addr_begin+29'd16):app_addr_begin;//跳到下一个(8*32=256)bit 数据地址
为什么地址每次加16,突发长度为8,是否应该改为app_addr_begin+29'd8,每次增加8*64=512bit地址?

本帖子中包含更多资源

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

x

发表评论已发布 5

uisrc

发表于 2019-12-10 15:31:01 | 显示全部楼层

突发长度加8,就可以,对于MIG 512bit就是跳过了 8x512bit地址
越努力越幸运!加油!

uisrc

发表于 2019-12-10 15:33:32 | 显示全部楼层

如果数据又错误,可以试下降低频率,降低到1333M
越努力越幸运!加油!

Tyrion.

发表于 2019-12-10 15:37:49 | 显示全部楼层

msxbo 发表于 2019-12-10 15:31
突发长度加8,就可以,对于MIG 512bit就是跳过了 8x512bit地址

那请问为什么app_wdf_data每次写入数据为“00010001000100010002000200020002...”的512bit数据,读出的pp_rd_data在第一次app_rd_data_vaild拉高时,数据出现如图所示的错误呢?
程序是按照教程改的,请问是否需要提供我改写的代码,有助您解决我的问题呢?

A1_Vincent

发表于 2019-12-10 15:49:26 | 显示全部楼层

按照我的理解app_addr_begin ={RANK_WIDTH + BANK_WIDTH+ ROW_WIDTH + COL_WIDTH}={1'bx,15'dx,3'dx,10'dx},app_addr_begin+29'd16即COLUMN地址增加16,每片DDR跳过的容量为16*16bit;而一次BURST_MODE = "8",每片DDR写入的数据量为8*16bit,因此,可能后面的8*16bit容量并没有写入新内容。可以改变一下读出程序中的app_addr_begin值来验证一下分析是否正确。

uisrc

发表于 2019-12-10 18:55:45 | 显示全部楼层

可以贴上代码的,另外用我们的代码是否测试有问题呢?
越努力越幸运!加油!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则