一.理论知识
1.SDRAM内部存储体是利用电容能够保持电荷以及可充放电的特性制成,而电容所存储的电荷会随时间不断流失,会造成存储数据的丢失。为保证SDRAM 中数据的可靠性,需要对 SDRAM 进行不断刷新。SDRAM的刷新方式分为自刷新和自动刷新两种。
2.自动刷新模式:作用是在 SDRAM 的正常操作过程中,保证数据不丢失,自动刷新过程需要外部时钟的参与,但刷新行地址由内部刷新计数器控制,无需外部写入。
3.自刷新模式则主要用于休眠模式低功耗状态下的数据保存, 自刷新过程无需外部时钟参与,与自动刷新相同的是,刷新行地址由内部刷新计算器控制,无需外部写入。
4.两者的操作命令相同{CS_N,RAS_N,CAS_N,WE_N} = 4’b0001,当 CKE 信号保持高电平时,写入刷新指令,进入自动刷新模式;当 CKE 信号为低电平时,写入刷新指令,进入自刷新模式。
5.自刷新模式下,除 CKE 之外的其他外部信号均无效,当 CKE 再次拉高时,退出自刷新模式,进入正常操作状态。
6.目前国际公认的标准是,存储体中电容的数据有效保存期上限是 64ms, 也就是说每一行刷新的循环周期最大为 64ms,那么刷新速度就是:行数/64ms。在 SDRAM 的数据手册中经常会看到 4096 Refresh Cycles/64ms 或 8192 Refresh Cycles/64ms 的相关介绍, 这里的 4096 与 8192 就代表 SDRAM 芯片中单个 L-Bank 的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化, 当单个 L-Bank 为 4096 行时,刷新间隔最大为 15.625μs,单个 L-Bank 为 8192 行时,刷新间隔最大为 7.8125μs。
二.芯片时序分析
1.自动刷新操作时序

2.延迟时间

三.设计verilog时序图

四.verilog代码
module sdram_aref
(
input wire sys_clk,
input wire sys_rst_n,
input wire init_end,
input wire aref_en,
output reg aref_r

本文详细介绍了SDRAM的刷新原理,包括自动刷新和自刷新两种模式,强调了数据保持时间和刷新周期的重要性。同时,展示了Verilog模块`sdram_aref`的设计,用于实现SDRAM的刷新请求、命令及地址信号的生成,并提供了相应的仿真代码以验证设计的正确性。
最低0.47元/天 解锁文章
8352





