FPGA学习笔记
SDRAM 时序分析
1. SDRAM 上电初始化时序
2. SDRAM 自动刷新时序
3. 不带自动充电的写操作
4. 不带自动充电的读操作
1. SDRAM 上电初始化时序
- 加载电源( VDD 和 VDDQ);
- CKE 设置为低电平( LVTTL 逻辑低电平);
- 加载稳定的时钟信号;
- 等待至少 100us 的时间,此过程中的命令保持为禁止命令或空操作命令;
- 在步骤 4 的 100us 中的某个时刻,将 CKE 设置为高;
- 步骤 4 的 100us 等待时间结束后,随即可发出一个全部 BANK 的预充电命令;
- 等待时间 tRP,此过程中命令保持为禁止命令或空操作命令;
- 步骤 7 钟的等待时间 tRP 结束时,发出一个自动刷新命令;
- 等待时间 tRFC(Auto refresh period),此过程中命令仅允许是禁止命令或空操作命
令; - 步骤 9 中的等待时间 tRFC 结束时,再发出一个自动刷新命令;
- 再等待时间 tRFC,此过程中命令仅允许是禁止命令或空操作命令;
- 步骤 11 中的等待时间 tRFC 结束时,发出装载模式寄存器命令设置模式寄存器,具
体模式寄存器的值由 A0~A11 传输; - 等待时间 tMRD(LOAD MODE REGISTER command to ACTIVE or REFRESH command),此过程中命令仅允许是禁止命令或空操作命令。
2. SDRAM 自动刷新时序
- 操作过程:预充电,等待tRP,自动刷新,等待tRFC,自动刷新,等待tRFC,刷新完成C_NOP;
- tRP(Precharge command period):预充电命令时间
- tRFC(Auto refresh period):自动刷新时间
3. 不带自动充电的写操作
-
激活命令,写命令,预充电命令
-
操作过程:
-
激活行,等待tRCD;//tRCD:从ACTIVE到读 or 写命令的延迟
-
激活列,等待tBL+t WR_PRE;//WR_PRE = 2; 写操作写数据完成到预充电时间间隔;tBL:突发长度
-
预充电,等待tPRE_ACT; //PRE_ACT= 2; precharge 到可激活需要延时
-
写结束,输入禁止命令
-
4. 不带自动充电的读操作
-
激活命令,读命令,预充电命令
-
操作过程
- 激活行,等待tRCD; //tRCD:从ACTIVE到读 or 写命令的延迟
- 激活列,等待 tSC_CL+ tSC_BL- tPRE_ACT;//tSC_CL= 2; 列选通潜伏期; tSC_BL= 8; 突发长度设置
- 预充电,等待tPRE_ACT; PRE_ACT= 2; //precharge 到可激活需要延时
- 写结束,输入禁止命令
参考资料:
- 《FPGA系统设计与验证实战指南》
- MT48LC16M16A2_Micron 数据表
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~