FPGA verilog 内部存储器SDRAM的使用

SDRAM模块的使用

模块功能:

实现SDRAM存储128M字节的数据,并且其它模块每来一个使能信号,可以从SDRAM中读出1024个字节的数据,通过Signal Tap 观察读出的数据是否等于写入的数据。

SDRAM介绍以及引脚时序图

本人在第一次使用SDRAM存储器时,觉得下面这一篇博客整理的很详细,反复阅读了几遍,在这里引用一下:
链接: SDRAM详细介绍.博客对SDRAM的概念以及内部结构、怎么写入、读取介绍的及其详细。具体的SDRAM初始化操作这里不做过多介绍,个人认为没有特殊需要,可以直接拿现成的IP来用。下面以正点原子的为例官方例程.,总结一下我使用该模块时候遇到的坑,浪费了自己很多时间,不过人就是在寻找错误中成长的。

操作SDRAM遇到的问题

1、由于阅读手册不清晰,导致对模式寄存器理解不深入,SDRAM写入和读取都是以一个突发长度为单位的。只要指定起始地址与突发长度,内存就会依次自动的对后面相应数量的存储单元进行读写操作,而不再需要控制器连续的提供列地址。(这里不要有这一种想法,先设置SDRAM的行地址再设置SDRAM的列地址将它们作为SDRAM写或者读的起始地址。这种想法如果按照正点原子的教程那是错误的。你可以仔细看一下顶层文件,最大最小地址长度设置为24

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SDRAM参考设计文档学习手册是用于指导读写SDRAM的例程的一份文档,本文将以Cyclone 4E FPGAVerilog语言为主要工具进行开发。 首先,我们了解SDRAM(同步动态随机存取存储器)是一种常见的存储设备,用于存储大量数据。开发过程中,我们需要仔细阅读SDRAM参考设计文档学习手册,掌握SDRAM的控制信号、时序要求、地址和数据传输等基本概念。 接下来,我们进行FPGA的开发。选择Cyclone 4E FPGA是因为它具有适用于嵌入式系统和数字信号处理应用的低功耗和高性能特点。使用Verilog语言进行开发的原因是Verilog是一种常用的硬件描述语言,能够准确地描述电路的功能和时序。 在进行SDRAM读写例程的开发前,我们需要从SDRAM参考设计文档中获取如下关键信息: 1. 控制信号的定义和时序要求:包括写使能、读使能、数据读写、时钟信号等。 2. 地址和数据传输方式:SDRAM的地址线和数据线的布局、长度和顺序。 3. 初始化和复位要求:SDRAM的初始化和复位过程,以确保正常工作。 设计例程时,我们首先根据SDRAM参考设计文档中的时序要求,编写适当的Verilog模块。模块中需要定义相应的输入和输出信号,并设置时钟频率和延时要求。 然后,我们可以利用Cyclone 4E FPGA的开发工具,将Verilog代码编译、综合和实现为具体的硬件电路。在这个过程中,我们需要根据FPGA的特性和资源限制,对Verilog代码进行适当的优化。 最后,我们可以通过在FPGA板上载bitstream文件,将我们开发的SDRAM读写例程部署到FPGA上进行验证。通过连接适当的外设,我们可以测试SDRAM读写功能的正确性和性能。 总结起来,SDRAM参考设计文档学习手册为我们提供了实现SDRAM读写的基本指导。通过结合Cyclone 4E FPGAVerilog语言的开发工具,我们可以有效地开发出符合SDRAM要求的读写例程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值