http://www.cnblogs.com/edaplayer/p/3678897.html

以前在学校初学fpga的时候碰到sdram就搞不定了,现在突然发现网上有好多现成的代码,友晶的,altera有个Mobile_DRAM_Altera_MAX_II_CPLD_Design_Example版本的,呵呵,拿来主义确实不错,以后有机会再自己试着写写。

但是在用Sdram_Control_4Port的时候发现,全页写的时候图像数据出错,刷屏位置与预期有很大出入,而且只有vga横条显示是正常的,竖条和分形图都完全变形,看起来肯定不是同一个mom生的。问题到底出在哪里,我试着画半条单线看看,发现居然超出了屏幕一半的位置,这明显不科学。 抓波形看了,发送数据进fifo是正常的,那看来是sdram存储或输出数据出问题了,把sdram代码全部研究了一遍,依然无果,最终百度 sdram 页写,看到特权提到,sdram页读写要通过发送突发停止命令来结束操作,否则读写会从当前操作地址继续循环读写!Oh,mygod。最后查看关键的代码,发现突发停止命令根本永远不会发送给sdram,就是下面的代码,在command.v文件中。

else if ((do_precharge==1) & ((oe1 == 1) | (rw_flag == 1))) begin 
// burst terminate if write is active //CMD = 110 突发停止
RAS_N <= 1;
CAS_N <= 1;
WE_N <= 0;

看这个过程块的执行条件,(do_precharge==1) & ((oe1 == 1) | (rw_flag == 1)),我怎么找不出什么时候这个条件成立。。。

于是我把do_precharge==1改成 PMSTOP == 1,呵呵,问题解决。

实际上这个sdram controller原始代码是nwlogic的,友晶做了改动,删减了一些信号,贸然使用友晶的源码可能导致数据读写出错,除非你的板子和友晶的一模一样。要用友晶的必须根据需要把必要的信号、命令补完整。

转-友晶Sdram_Control_4Port的全页操作Bug?的更多相关文章

  1. 全键盘操作Windows

    计算机机用户在使用计算机的时候,是用键盘多一点?还是用鼠标多一点?如果是专业打字员,应该会说他使用键盘多一点,除此之外,多数人都会告诉你,他已经离不开鼠标了,没有鼠标,就不会操作电脑.   如果某一天 ...

  2. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作

    从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...

  3. IntelliJ IDEA全键盘操作

    IntelliJ IDEA 如何做到全键盘操作呢? 1.自定义快捷键实现全屏操作 你可以设置自定义快捷键进入全屏操作,并实现各个窗口之间的切换.这样,你就可以告别小窗口的时代,体验全屏显示的效果了!( ...

  4. JS实战 · 复选框全选操作

    思路: 1.获取被选中checkbox,通过checked属性的状态完成: 2.获取被选中的checkbox的value值: 3.求所有value的和sum: 4.定义span区域存储和sum:   ...

  5. javascript - 可编辑表格控件 支持全键盘操作(无JS框架)

    项目中经常会用到表格编辑控件,网上也有不少,但是确实没有完全符合我要求的, 自己写一个吧! 1.该控件支持 数据显示列,文本编辑列,选择列,下拉列,索引列,删除列 六种列类型 2.支持全键盘操作,自定 ...

  6. magento 全页缓存

    全页缓存能极大的提高网页的响应速率,但magento社区的商用全页缓存工具都很贵,但是有一款免费的叫ezzoom,虽然免费但是功能强大,能够对产品.分类.特定模块进行缓存,还支持页面某些部分的动态加载 ...

  7. GridControl表头全选操作实现之最优方法

    突然发现很久没有写博客了. 昨天整了个Windows Live Writer 就为了以后好好写写博客. 所以,开始咯. 为了积累,也为了分享. 之前在博客园中看到一篇文章:<Winform分页控 ...

  8. 首先看一下友晶DE-SOC开发板的user manual

    对于友晶DE-SOC系列开发板来说,由于其内部自带ARM 的cortex-A9硬核,所以使用nios II开发来说其实是不划算的,但是这里重点是为了学习NIOS II的开发,所以对于用DS-5来开发A ...

  9. 从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作

    从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇“从Eclipse到Android Stud ...

随机推荐

  1. 领扣(LeetCode)最大连续1的个数 个人题解

    给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组 ...

  2. opencv各种小例子

    图像腐蚀 #include <opencv2/highgui/highgui.hpp>//OpenCV highgui 模块头文件 ~ #include <opencv2/imgpr ...

  3. bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】

    介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...

  4. 五年老Android,我决定转后端开发了!

    今天给大家分享一些移动端(Android)开发学习后端开发(Java Web)的一些事儿,不知道从什么时候开始身边的同事都开始陆陆续续的在朋友圈发一些后端的文章如:Nginx.Docker.k8s类的 ...

  5. DDD实战与进阶 - 值对象

    目录 DDD实战与进阶 - 值对象 概述 何为值对象 怎么运用值对象 来看一个例子 值对象的持久化 总结 DDD实战与进阶 - 值对象 概述 作为领域驱动设计战术模式中最为核心的一个部分-值对象.一直 ...

  6. ES集群操作原理

    路由 当你索引一个文档,它被存储在单独一个主分片上.Elasticsearch 是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片 1 还是分片 2 上的呢? 进程不能是 ...

  7. Flink中的CEP复杂事件处理 (源码分析)

    其实CEP复杂事件处理,简单来说你可以用通过类似正则表达式的方式去表示你的逻辑,表现能力非常的强,用过的人都知道 开篇先偷一张图,整体了解Flink中的CEP中的  一种重要的图  NFA非确定有限状 ...

  8. tcpdump 详解

    目录 简介 安装 参数详解 案例 监听指定主机的数据包 监视指定主机和端口的数据包 监视指定网络的数据包 监视指定协议的数据包 使用tcpdump抓取HTTP包 简介 用简单的话来定义tcpdump, ...

  9. mysql 基础知识整理

    什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展.阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的. ...

  10. VUE+DRF系列

    vue基础系列 001 路飞学诚项目简介 002 Vue简介 003 Vue引入 004 文本指令 005 事件指令 006 斗篷指令 007 属性指令 008 表单指令 009 条件指令 010 路 ...