zoukankan      html  css  js  c++  java
  • DE2115 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的实现中出现多次[11:0] SA这样的定义,但是这块SDRAM的地址线是有13根的,所以我将其
    修改为[12:0] (在多个verilog文件中,包括SDRAM params),但是效果仍然不对,我想知道本身这个controller是有bug的,还是如果要修改地址,需要修改时序的问题,
    如果要修改时序,需要修改哪些地方。
     
    希望得到大家的帮助!
  • 相关阅读:
    hibernate中的所有属性
    新闻系统(3)内容保护的探索
    Hibernate常见问题集锦
    java对象序列化java.io.Serializable 接口实践
    读写属性文件
    Struts 中的自定义异常
    JAVA程序员看C#的精华与糟粕
    正确理解hibernate的inverse属性
    HTML5中的WebSocket
    【转载】 单元测试:是否针对非 public method 进行测试?
  • 原文地址:https://www.cnblogs.com/meinvlv/p/2690390.html
Copyright © 2011-2022 走看看