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的,还是如果要修改地址,需要修改时序的问题,
    如果要修改时序,需要修改哪些地方。
     
    希望得到大家的帮助!
  • 相关阅读:
    微人事项目-mybatis-持久层
    通过外键连接多个表
    springioc
    Redis 消息中间件 ServiceStack.Redis 轻量级
    深度数据对接 链接服务器 数据传输
    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
    sqlserver 索引优化 CPU占用过高 执行分析 服务器检查
    sql server 远程备份 bak 删除
    冒泡排序
    多线程 异步 beginInvoke EndInvoke 使用
  • 原文地址:https://www.cnblogs.com/meinvlv/p/2690390.html
Copyright © 2011-2022 走看看