热度 21
2014-9-11 22:00
2532 次阅读|
2 个评论
今天本来已经将支持突发的读写模块写好了,但是实在太晚了,还没来得急仿真测试,肯定会存在一定的问题,所以先把自动刷新模块的相关内容贴上来,等周末把所有的代码测试好了,就上完整的设计文档和工程源码 ?xml:namespace prefix = w / 目录 一、上电刷新模块 ... 4 1.1 需求(命题要求) ... 4 1.2 架构分析 ... 4 1.3 控制器( sdram_fsm )状态转移图 ... 5 1.4 刷新器( sdram_ref )状态转移图 ... 5 二、上电刷新和读写模块(完整控制器) ... 6 一、上电刷新模块 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 :刷新及 t RFC 等待( DO_REF ) S4 :完成,等待使能控制信号的撤消( WAIT ) 在实际过程中,刷新器完成一次刷新并发出完成信号后,该信号需要在下一拍才会到达控制模块去检测,此时, en 依旧没有被控制模块清零,若直接跳转到空闲状态,可能会立即触发下一次刷新,为了保险起见,在这里增设 S4 状态,等待 en 为低之后再跳转回空闲状态,从而保证了不会立即触发下一次刷新操作。(这里主要是我对节拍的分析还不是特别明晰,待仿真过后根据时钟节拍再确定是否需要等待状态)