转-友晶Sdram_Control_4Port的全页操作Bug?
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?的更多相关文章
- 全键盘操作Windows
计算机机用户在使用计算机的时候,是用键盘多一点?还是用鼠标多一点?如果是专业打字员,应该会说他使用键盘多一点,除此之外,多数人都会告诉你,他已经离不开鼠标了,没有鼠标,就不会操作电脑. 如果某一天 ...
- [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作
从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...
- IntelliJ IDEA全键盘操作
IntelliJ IDEA 如何做到全键盘操作呢? 1.自定义快捷键实现全屏操作 你可以设置自定义快捷键进入全屏操作,并实现各个窗口之间的切换.这样,你就可以告别小窗口的时代,体验全屏显示的效果了!( ...
- JS实战 · 复选框全选操作
思路: 1.获取被选中checkbox,通过checked属性的状态完成: 2.获取被选中的checkbox的value值: 3.求所有value的和sum: 4.定义span区域存储和sum: ...
- javascript - 可编辑表格控件 支持全键盘操作(无JS框架)
项目中经常会用到表格编辑控件,网上也有不少,但是确实没有完全符合我要求的, 自己写一个吧! 1.该控件支持 数据显示列,文本编辑列,选择列,下拉列,索引列,删除列 六种列类型 2.支持全键盘操作,自定 ...
- magento 全页缓存
全页缓存能极大的提高网页的响应速率,但magento社区的商用全页缓存工具都很贵,但是有一款免费的叫ezzoom,虽然免费但是功能强大,能够对产品.分类.特定模块进行缓存,还支持页面某些部分的动态加载 ...
- GridControl表头全选操作实现之最优方法
突然发现很久没有写博客了. 昨天整了个Windows Live Writer 就为了以后好好写写博客. 所以,开始咯. 为了积累,也为了分享. 之前在博客园中看到一篇文章:<Winform分页控 ...
- 首先看一下友晶DE-SOC开发板的user manual
对于友晶DE-SOC系列开发板来说,由于其内部自带ARM 的cortex-A9硬核,所以使用nios II开发来说其实是不划算的,但是这里重点是为了学习NIOS II的开发,所以对于用DS-5来开发A ...
- 从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作
从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇“从Eclipse到Android Stud ...
随机推荐
- C# XML解析之DOM模型
DOM的工作方式是:首先将XML文档一次性的装入内存,然后根据文档中定义的元素和属性在内存中创建一个“树型结构”也就是一个文档对象模型,这里的含义其实是把文档对象化,文档中每个节点对应着模型中一个对象 ...
- 你必须知道的容器日志 (1) Docker logs & logging driver
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.监控和日志历来都是系统稳定运行和问题排查的关键,在微服务架构中,数量众多的容器以 ...
- 【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程
概述 本文以SpringBoot应用为基础,尝试分析基于注解@Configuration的配置类是如何向Spring容器注册BeanDefinition的过程 其中主要分析了 Configuratio ...
- salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)
此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...
- IDEA连接Redis
1.创建一个Maven项目 2.在src下的pom.xml文件里,添加相关包引用 <?xml version="1.0" encoding="UTF-8" ...
- 【原创】(十二)Linux内存管理之vmap与vmalloc
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- LVM扩容之xfs文件系统
LVM的基础请见:https://www.cnblogs.com/wxxjianchi/p/9698089.html 一.放大LV的容量.放大容量是由内而外来操作的. 1.设置新的lvm分区:用fdi ...
- JVM(2)--深入理解java对象创建始终
java对象探秘 java是一门面向对象的语言,我们无时无刻不在创建对象和使用对象,那么java虚拟机是如何创建对象的?又是如何访问对象的?java对象中究竟存储了什么运行时所必需的数据?在学习了ja ...
- 关于HashMap容量的初始化,还有这么多学问。
在<HashMap中傻傻分不清楚的那些概念>文章中,我们介绍了HashMap中和容量相关的几个概念,简单介绍了一下HashMap的扩容机制. 文中我们提到,默认情况下HashMap的容量是 ...
- Linux高级命令-sort、uniq、 cut、sed、grep、find、awk
sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html) 功能:根据不同的数据类型进行排序 格式:s ...