广告

SDRAM模块上电初始化模块设计

2017-1-10 14:16 299 0

今天,我们主要学习了SDRAM的操作时序,而今天的作业,就是设计SDRAM三大控制模块中的第一个模块——上电初始化模块

每次最痛苦的就是明明高清的图片写到博客里就看不清了,所以,在最后,我还是传上原版文档的PDF,供有兴趣的同学查看。


作业:


试完成如下的FSM设计:该FSM仅执行SDRAM的上电过程,包括上电的延时,预充电,刷新和MRS(模式寄存器设置)。


设计频率100MHz,tRP=20ns(2tCLK),tRFC=66ns(7tCLK), tMRD=2tCLK,设计接口如下(忽略DQ和DQM等信号)。该FSM加电后,按照ppt15页内容对输出信号进行操作。


设计要求



首先将状态转移图绘制出来


延时过程可以用一个延时计数器控制,也可以直接用FSM控制。


使用Verilog进行编码


在Quartus II中执行编译并生成符号


有兴趣的同学可以编写一个Testbench用ModelSim进行功能仿真


一、 上电初始化模块状态时序分析


图1.1为MT48LC32M16A2数据手册提供的该芯片的上电初始化以及模式设置寄存器的时序图,因此,该上电初始化模块的状态设计将严格按照此时序图进行。



图(1.1)MT48LC32M16A2上电与模式寄存器设置时序图


该芯片上电初始化包含了以下几个过程:


1、 上电最小100us的延时;


2、 1个周期的空操作指令;


3、 1个预充电过程;


4、 2次自动刷新命令;


5、 设置模式寄存器命令;


6、 等待激活。


其中,预充电命令到第一个自动刷新命令之间的时间延迟最小要求为tRP=20ns。


一次自动刷新时间最小要求为tRFC=66ns。模式寄存器设置时间最小要求为tMRD=2tCLK。当模式寄存器设置完毕后,系统即进入等待激活状态。


二、 上电初始化模块状态转移图设计


状态设置:


RST:复位状态


S0:上电延时状态(DELAY)


S1:NOP(DO_NOP)


S2:预充电状态(PRECHARGE)


S3:自动刷新状态1(REFRESH_1)


S4:自动刷新状态2(REFRESH_2)


S5:设置模式寄存器(SET_MR)


S6:等待(WAIT)


因为本模块只设计了上电复位,因此上电复位状态结束后就会一直停留在WAIT状态,直到下一次复位信号的到来。



控制命令(CMD)与各控制引脚状态对应关系


本状态迁移图由李老师设计,通过对比,发现我的设计基本能够达到老师的要求,只是老师的更规范,命名更合理,相比之下,我的设计还有很多的不规范不合理的地方,特此对比。在实际代码编写过程中,为了保证代码的规范易读,所以均采用和老师提供的一致的信号名。




三、 上电初始化模块仿真结果分析


下图为上电初始化模块的仿真波形图,由图可知,该上电初始化模块能够正确的对仿真模型进行初始化,图3.2为Micron官网提供的仿真模型打印出的仿真信息,通过该打印信息也可知上电初始化是成功的。



图(3.1)上电初始化模块仿真波形图



图(3.2)仿真模型输出的信息


广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
小梅哥 2018-05-27 22:03
【博客大赛】【小梅哥FPGA】闹心的gcc-linaro-arm-linux-gnueabihf编译器——Floating ...
  今天在继续编写示波器(just for fun)工程,该工程的波形显示和处理界面是在Linux系统上编写程序实现的。应用程序的编写是使用的17.1版本的Quartus软件配套的DS-5软...
小梅哥 2018-05-09 22:37
【博客大赛】【小梅哥FPGA】Cyclone V SoC 中为HPS添加SPI控制器并使用 ... ... ... ...
    关于如何在Cyclone V SoC FPGA系统中为HPS添加一个SPI外设,这个实验我已经进行了有相当长的一段时间了,但直到今日方才有所突破,顺利的完成了SPI控制器的...
小梅哥 2018-05-04 11:49
【博客大赛】【小梅哥FPGA】Altera SOC更改Qsys后重新生成hps_0.h文件 ...
在Altera SoC的开发中,Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空...
小梅哥 2018-05-04 11:44
【博客大赛】【小梅哥FPGA】Quartus II中使用脚本转换sof到rbf文件 ... ...
        rbf文件作为Altera的FPGA一种常见的配置数据格式,常用于使用其他主控主动配置FPGA时使用,例如PS模式。在Cyclone V SoC...
小梅哥 2018-05-04 11:36
【博客大赛】【小梅哥FPGA】使用DS-5编写和调试SoC的Linux应用程序 ...
对于Intel Cyclone V SoC FPGA用户,如果仅仅开发应用程序,也可以在 Windows 环境下完成。Intel针对其自家的SoC FPGA芯片提供了定制的DS-5软件,该软件为A...
小梅哥 2018-05-03 22:11
【博客大赛】使用MATLAB一键制作mif文件
        这里讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理...
我要评论
0
0
广告
关闭 热点推荐上一条 /3 下一条