sdram总结

对于sdram,这是掉电会使数据消失的存储器。是通过电容来工作的。sdram里面会有几个bank,每次存储数据的时候,先选bank地址,在进行对其中的行,和列来选则。
我们对于一个器件来说,了解使用说明手册,通过阅读,sdram需要设置初始化的,之后就是进行写,和读操作。但是对于这样掉电会消失的数据存储器,我们就需要对其中sdram,定时进行充电,这就是刷新。
对其中sdram是一个器件,于是我们需要在fpga上弄出一个SDRAM控制,让控制器,对它进行初始化,刷新,读和写。
要书写控制器,我们首先对它进行管脚的了解。

sdram_top(
                //输入
                sclk,//系统时钟
                s_rst_n,//复位信号
				//输出
                sdram_clk,//输入给sdram的时钟
                sdram_cke,//时钟使能,会掉电
                sdram_cs_n,//片选信号
                sdram_cas_n,//都是命令信号
                sdram_ras_n,//都是命令信号
                sdram_we_n,//都是命令信号
                sdram_bank,//BA0,BA1,控制bank的地址
                sdram_addr,//数据地址,a0到a11,row地址行地址,a0到a8,col地址列地址,a10控制auto—precharge。
                sdram_dqm,//数据掩码,屏蔽数据地址的输出几位,ldqm,为高,会屏蔽低8bit,
                //inout
                sdram_dq//交互的数据

    );

之后就是进行对于SDRAM的初始化,对于初始化,就是进行在要求的时序中,对其中命令信号输出要求的值
下面是我对其中命令的解释

        localparam NOP      =   4'b0111                ;
        localparam PRE      =   4'b0010                ;//给bank进行预充电,与A10,高是所有的bank打开关于bank的选择    a10是auto precharg的标志信号
        localparam AREF     =   4'b0001                ;//自动刷新
        localparam MSET     =   4'b0000                ;/*模式寄存器配置   对于地址的配置,其余的pre 和aref没有配置 
        a0,a1,a2,控制突发(触发)长度,给一个写命令或者读命令一次会给设置的长度,例如a2,a1,a0,010,就是连续写入读入4个数据。
        a3,控制的是触发的类型读入写入是连续(0)还是不连续型(1)
        a6,a5,a4,控制的潜伏期,针对读命令,会有相应的延迟,一般就是2(010),3(011)个周期,才会读出来
        a7,a8,都是0
        a9,触发读和触发写(0),或者是触发读和单个写(1)
        ba0,ba0,a11,a10,都是0
        */

之后就是进行对其中刷新模块的书写。了解什么时候会掉电。对其中进行定义相应的请求。
之后就是进行对其中,写模块,读模块的书写,观看相应的SDRAM手册即可写好。

对其中不管是刷新,写模块,读模块。如何进行安排。
为啥要安排呢?
因为在程序在写模块的时候,sdram马上就要没电了,程序该如何执行,继续写?掉电后,数据全就没了,所以需要我们对其中的模块进行安排。
有一个仲裁模块,当刷新模块中,需要刷新时候,对仲裁模块,发送刷新请求,我们会在连续写完数据后进行执行刷新操作。
对这些模块的调配。我们需要很明显的状态机思想,先初始化,看仲裁模块怎莫说,之后进行状态调整。

对于sdram的时钟,一般sdram存储的数据使用的时钟都是高速的,与系统时钟不同,所以我们需要进行跨时钟领域的处理,这时候需要FIFO来处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值