今天本来已经将支持突发的读写模块写好了,但是实在太晚了,还没来得急仿真测试,肯定会存在一定的问题,所以先把自动刷新模块的相关内容贴上来,等周末把所有的代码测试好了,就上完整的设计文档和工程源码
目录
一、上电刷新模块
1.1 需求(命题要求)
1.2 架构分析
1.3 控制器(sdram_fsm)状态转移图
1.4 刷新器(sdram_ref)状态转移图
二、上电刷新和读写模块(完整控制器)
一、上电刷新模块
1.1 需求(命题要求)
1.2 架构分析
1.3 控制器(sdram_fsm)状态转移图
状态定义:
S0:上电初始化过程(EN_INIT)
S1:自动刷新计数器使能(EN_REF_TIM)
S2:等待一次刷新完成(WAIT_REF_DONE)
1.4刷新器(sdram_ref)状态转移图
状态定义:
S0:空闲状态,等待刷新使能信号(IDEL)
S1:预充电(PRE)
S2:NOP(DO_NOP)
S3:刷新及tRFC等待(DO_REF)
S4:完成,等待使能控制信号的撤消(WAIT)
在实际过程中,刷新器完成一次刷新并发出完成信号后,该信号需要在下一拍才会到达控制模块去检测,此时,en依旧没有被控制模块清零,若直接跳转到空闲状态,可能会立即触发下一次刷新,为了保险起见,在这里增设S4状态,等待en为低之后再跳转回空闲状态,从而保证了不会立即触发下一次刷新操作。(这里主要是我对节拍的分析还不是特别明晰,待仿真过后根据时钟节拍再确定是否需要等待状态)
文章评论(0条评论)
登录后参与讨论