打印
[CPLD]

使用spartan3的MIG生成的DDR2控制器如何写满整个DDR2SDRAM,

[复制链接]
2315|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zy7598865 于 2012-8-24 00:48 编辑

最近用的spartan3外接2片16 Meg x 16 x 8 banks是DDR2芯片,构成32位宽的输入存储空间2G的DDR2SDRAM,现在用生成的核时自带的example design在硬件上能够正常跑起来,没有误码了,生成的核时选择的突发写BL=4。
      测试用例是循环的写5个burst,然后再读,现在我想将DDR2 SDRAM写满整整2G的数据,手册中关于写操作时序有这样一句话:Back-to-back write operations are support ed only within the same bank and row。如果我每次写144个burst,先写bank0的第一行(写满1024列)写满,然后再写bank1的第一行,直至8个bank写满,再写第二行,依然如此这样交叉写满8个bank,
在每次写144个burst时,若遇到bank切换的时候会出现什么问题吗?还是不用管直接写,地址每次递增就可以了?
DD2芯片的地址关系如下:
Row address:A[13:0] (16K)
Bank address:BA[2:0] (8)
Column address:A[9:0] (1K)

大家是怎么操作的?我现在是把testbench中的代码修改了弄的,还在惊醒中,,感觉自己还是太弱弱了。。。

相关帖子

沙发
zy7598865|  楼主 | 2012-8-20 23:15 | 只看该作者
这个。。。

使用特权

评论回复
板凳
zy7598865|  楼主 | 2012-8-21 23:36 | 只看该作者
大哥大姐们求指点了。。

使用特权

评论回复
地板
水畔天蓝| | 2012-8-22 10:46 | 只看该作者
跳到下一行时需要将状态机跳转到自刷新状态,DDR2换行要刷新的

使用特权

评论回复
5
zy7598865|  楼主 | 2012-8-22 18:41 | 只看该作者
IP核关于spartan3的DDR2控制器,文档中时序只提到了初始化,写、读时序,自刷新什么的不是自己完成吗,
换行时,我跳到一个空闲的状态,是不是会自己自动刷新

使用特权

评论回复
6
piandhai| | 2012-8-22 20:17 | 只看该作者
用他的ipcore你什么都不管,直接按照接口时序写地址fifo,数据FIFO就可以了,初始化,读写时序,刷新这些都是控制器自己去做的事情!

使用特权

评论回复
7
zy7598865|  楼主 | 2012-8-23 20:22 | 只看该作者
本帖最后由 zy7598865 于 2012-8-24 00:53 编辑

怎么换行的时候报了这个错,现在是想先写满再说,至于数据对错先不管, 但是第0行的8个bank写满之后,一换行报了这个错,说什么溢出。。停止了仿真,这是神马情况?请各位大虾指点一下。。。

11111.jpg (2.43 MB )

11111.jpg

使用特权

评论回复
8
zy7598865|  楼主 | 2012-8-25 11:05 | 只看该作者
后来发现是仿真模型的memory深度需要配置下

使用特权

评论回复
9
GoldSunMonkey| | 2012-8-25 23:31 | 只看该作者
后来发现是仿真模型的memory深度需要配置下
zy7598865 发表于 2012-8-25 11:05
解决了?是吧?

使用特权

评论回复
10
zy7598865|  楼主 | 2012-8-25 23:40 | 只看该作者
目前看来,换行 换bank都ok了,  感谢猴哥的关心,有问题我还会继续来的

使用特权

评论回复
11
gool| | 2012-8-27 17:36 | 只看该作者
过来长点经验

使用特权

评论回复
12
zy7598865|  楼主 | 2012-9-5 00:36 | 只看该作者
init_done有效一次后 ,以后就不用管了 ,不管进行怎样的操作都可以?

使用特权

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

本版积分规则

1

主题

167

帖子

1

粉丝