戴晋爱我 发表于 2012-9-18 13:00:01

DE2-115 SDRAM地址问题

我在跑VEEK-MT的camera的demo(DE2-115+D5M),运行很正常,但是当我在top module中修改SDRAM Controller的时候,就是把
WR2_ADDR(23'h100000);
WR2_MAX_ADDR(23'h100000+800*480/2);
RD2_ADDR(23'h100000);
RD2_MAX_ADDR(23'h100000+800*480/2);

中的23‘h100000分别修改为
1. 23'h200000    LCD显示图像正确
2. 23'h400000    LCD能显示图像,但颜色很奇怪,也很模糊
3. 25’h1000000   LCD中能大致看出图像,但是花的,而且有很多绿色

关于这些地址,我都做了计算, SDRAM共两块,每块64MB, 形成8M*32 bits*4banks
行地址线是A0-A12
列地址线是A0-A9,
所以共有13+10=23根地址线,正好可以寻址一个bank 8M= 8*1024*1024 = 800000h
因此我认为改成1. 23'h200000和2. 23'h400000都应该可以显示正确的影像
但是2的影像有错误

因为我原来用过DE1的板子,并且跑过DE1_D5M,其中也用了SDRAM Controller,它的SDRAM是1M*16 bits*4banks,
但是在它的顶层文件中却用了22‘h100000这样的方式,而22根地址线是可以寻址4个banks的,但VEEK-MT(也就是
DE2-115)却用23,只寻址了一个bank,对比了二者的SDRAM Controller代码,我没发现本质的区别,所以我认为
25’h1000000也是可以的,

8M*4=32M=32*1024*1024=2000000h,需要25跟地址线,但是3的影像也是错误的。

我注意到在VEEK-MT Camera的demo中,SDRAM controller的实现中出现多次 SA这样的定义,但是这块SDRAM的地址线是有13根的,所以我将其
修改为 (在多个verilog文件中,包括SDRAM params),但是效果仍然不对,我想知道本身这个controller是有bug的,还是如果要修改地址,需要修改时序的问题,
如果要修改时序,需要修改哪些地方。

希望能得到各位大大的帮助

戴晋爱我 发表于 2012-9-25 13:11:07

我已经解决了。。。主要就是改SDRAM_params.h中的各种参数,大家可以参见这块SDRAM的手册。。。如果需要修改后的代码,大家可以给我短消息。。。恩。。。还遇到了另一个问题,在SDRAM Controller中用到了FIFO,这个FIFO是从16bit-32bit或者32bit-16bit,不知道可不可以实现32bit-32bit,有没有人遇到过类似的情况,大家交流一下

psong87 发表于 2012-9-25 18:32:49

回复 2# 戴晋爱我


    我有做过同样的问题,可以做到

戴晋爱我 发表于 2012-9-26 01:18:14

回复 3# psong87


   谢谢你的回复,如果我遇到问题了,希望能得到你的帮助
页: [1]
查看完整版本: DE2-115 SDRAM地址问题