SDRAM调试经验(2)--写入的数据为什么会被覆盖掉?

在FPGA项目中使用SDRAM时遇到数据覆盖问题,原因是突发长度设置为5,无法整除行地址数512。这导致行地址指针无法自动跳转到下一行,使得部分地址数据被重复写入覆盖。解决方案是将突发长度设为2的正整数次方,确保行地址完整写入,避免覆盖。通过修改突发长度为8,仿真结果显示读写一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        开发板的FPGA型号:Cyclone IV E系列,EP4CE10F17C8。

        SDRAM型号:MT48LC16M16A2,行地址2^9 = 512,列地址2^13 = 8192,bank数量4个。

        因为手上项目有620个数据要写入SDRAM,同时还要适配12405、24000等诸如5或10的倍数的个数的数据,所以将突发长度设置成了5,实现方法是全页突发加终止突发来实现。

        做功能仿真的时候发现第1次读取的数据与第1次写入的数据不匹配

        第1次读取的5个数据:

        第1次写入的5个数据:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤独的单刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值