在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9462|回复: 11

[原创] 可用串口配置的SDRAM控制器,附实现工程、源码和仿真~~

[复制链接]
发表于 2014-3-1 10:18:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
   自己写的SDRAM控制器,用的是黑金的DB2C5开发板,Hynix的SDRAM(HY57V641620ET-H),不过仿真时用了一个Micron的SDRAM(mt48lc1m16a1)仿真模型,代码编辑器用的gvim。配置模块用了标准的UART协议进行SDRAM数据、地址和命令的控制,用这个的朋友可以从串口助手向FPGA写入你想要的地址和命令,然后送到SDRAM。因为开发板上也只能用串口和PC连接,串口模块也是很久以前写的了,懒得改所以导致配置过程稍麻烦,用的时候需要耐心一点。仿真的话直接运行/sim/目录下的批处理文件就行了,当然你要先确认你的仿真器环境变量设置正确而且file list中的库文件目录和你的安装目录吻合。
    顺便有一个问题需要请教一下:我做实验是设置的模式是CL=3,而且仿真时没有问题,时序一切正常,但是用Signal TAP抓信号的时候发现SDRAM的tAC参数远大于DataSheet上的标准,这就导致我在读SDRAM时必须晚一个是时钟从数据线DQ上采数。也就是说我设置CL=3以后,仿真模型是正常的,但是板上的Hynix片子出数要晚一个周期,Hynix的datasheet比较坑,我到现在也没找到原因,不知道哪位用过这两款芯片的能给解释一下,我觉得不应该是它们的参数意义不同。
    欢迎大家积极交流,第一次分享自己写的东西,求支持~~~ sdram_ctrl.rar (5.89 MB, 下载次数: 168 )
 楼主| 发表于 2014-3-1 22:29:00 | 显示全部楼层
发现了一个很严重的问题:
    我的这个demo里配置数据时的过程是这样,发送映射地址(同时使能信号置有效)→向寄存器写数据→发送映射地址(同时使能信号置无效),配置其他数据的步骤都是重复这三个操作,今天发现第二个步骤中的数据如果和前一个步骤中的映射地址相同,那么第一个步骤中写入的数据会被第二个步骤修改,但是我的tb中恰巧没有仿出这种状况,这个是会出错的!!!
等我修改以后会更新附件!!哪位用过的同学有更好的方法希望可以留言。
发表于 2015-9-10 12:12:35 | 显示全部楼层
顶一个,正在学习中
发表于 2015-12-31 15:14:53 | 显示全部楼层
正在学习中
发表于 2016-3-27 22:51:20 | 显示全部楼层
文件挺大的,应是完整的工程。
发表于 2018-9-4 01:27:40 | 显示全部楼层
学习 upup
发表于 2018-9-4 02:22:01 | 显示全部楼层
interesting
发表于 2018-9-4 02:23:40 | 显示全部楼层
thank you
发表于 2020-2-14 20:34:57 | 显示全部楼层
学习学习
发表于 2020-12-19 09:20:06 | 显示全部楼层
很好的资料
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:43 , Processed in 0.029499 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表