Qurrtus ii下载以及SDRAM调试的问题
来源:互联网 发布:mac接外置光驱不能读取 编辑:程序博客网 时间:2024/06/05 15:28
这几天一直在调sdram的驱动,总是调不通,感觉突然不好了。
发现quartus ii真是奇葩,有时下载程序时,非得删了原来的.sof程序文件,重新添加新编译的.sof文件才能下载到正确的版本。
可能软件用到了缓冲,频繁的更新编译使得软件有时会来不及更新内存缓冲区里的文件。
调了好几天的SDRAM,还是没能调好,毫无头绪了。先放下吧,如果能找到好的参考程序,再来试一试。如果实在太耗时间就准备买个好点的开发板,可以省去许多调试的时间。
不过个人觉得,在初学阶段自己多花点时间折腾再去参考别人可行的代码还是值得的。不然都是走马观花,把别人的程序跑一下就以为学的差不多了,心里说不定还沾沾自喜以为这门技术也不过如此而已,须不知自己给自己挖了个大坑。
过段时间还是去买个比较好的开发板,趁热打铁。
这个代码调试了很久,差不多一个星期。期间暂时放了下来,今天终于把它调通了,如释重负啊!这个SDRAM芯片是已停产的H57V2562GTR,比H57V64多了四倍的容量,行多了一倍,所以如果H57V64的每行自刷新时间为15us的话,应该把H57V256相应的减少一半。
在突发传输时,一定要设置好DQM引脚(这次就是因为马虎将两个QDM引脚置于悬空状态,结果读取的数据始终不对)。
我参考的是特权的代码,他的代码是基于H57V64的,写的相当漂亮,教科书级别的!但也有一些小错误。
改动如下:
sdram_ctrl.v文件第190行
原代码是:
assign sdram_rd_ack = (work_state_r == `W_RD) & (cnt_clk_r > 9'd1) & (cnt_clk_r < 9'd10);//读SDRAM响应信号
改为:
assign sdram_rd_ack = (work_state_r == `W_RD) & (cnt_clk_r >= 9'd1) & (cnt_clk_r < 9'd9);//读SDRAM响应信号
这样改动之后,sdram_rd_ack作为写rdfifo的使能信号才能在每个数据输出的时候及时有效,否则延迟一拍会导致丢失第一个从SDRAM中读出的数据(没有被rdfifo读取)。
- Qurrtus ii下载以及SDRAM调试的问题
- SDRAM调试遇到的问题小结 -- Quartus II & Verilog HDL
- 建立带SDRAM的NIOS II系统
- WebStorm下载,破解,汉化,debug调试,以及会debug会出现的问题
- Keil MDK使用J-LINK分别在Sram,Nor Flash以及Sdram中调试代码的原理和方法
- 实验2 建立带SDRAM的NIOS II系统
- Jlink无法下载调试的问题
- 【摘】请教关于SDRAM阻抗匹配的问题
- 请教关于SDRAM阻抗匹配的问题
- 继续SDRAM+UART调试
- Android 源码的下载、编译以及eclipse调试【MAC】
- AXD调试中初始化SDRAM的脚本语句
- u-boot sdram调试为什么要skip_lowlevel_init的一点看法
- AXD调试中初始化SDRAM的脚本语句
- KEIL+JLINK+Small2440下的SDRAM调试配置
- 基于FPGA的SDRAM串口调试RTL…
- KEIL+JLINK+Small2440下的SDRAM调试配置
- js下载文件以及下载文件名乱码问题的解决
- MYSQL数据库规范-sql
- python set集合操作
- node 多重监听
- 在MySQL中创建表。
- 【magento2命令行安装 WINDOWS】Composer异常: Your configuration does not allow connection to xx.,
- Qurrtus ii下载以及SDRAM调试的问题
- 第四章:Dubbo整合maven+spring+springmvc+mybatis之mybatis集成
- orcl数据库记载资料
- LeetCode:Set Matrix Zeroes
- node buffer
- Spring学习笔记-自动装配
- 生产环境实战spark (4)Linux CentOS 系统安装 防火墙检查 ssh免密码登录
- 如何输出dev_dbg log
- 如何转储数据文件和Buffer Cache中的数据块