本帖最后由 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中的代码修改了弄的,还在惊醒中,,感觉自己还是太弱弱了。。。 |