1.SDRAM写数据模块及仿真
图1.1为SDRAM工作方式状态机,要实现写数据功能,首先给到SDRAM一个ACT命令,用以激活要写入的行地址,从而使SDRAM从IDLE状态进入Row Active状态。接着给一个Write命令(其中带有列地址)就可以通过sdram_dq引脚写入数据。数据写完后,给到Precharge命令关闭现有工作行,准备打开新一行的操作,此命令进行完后自动返回IDLE状态
图1.2为写命令的具体时序图,其中包含了列地址(A0-A9),BANK地址(BA0,BA1)以及其他各引脚的电平。
仿真模块的整体时序如图1.3所示,往SDRAM里面写入两行数据,中途会被Auto-refresh命令打断,为防止冲突,需要进一步完善TOP模块的仲裁机制,使得SDRAM在需要刷新时能够得到响应。
2. SDRAM读数据模块及仿真
同样参照图1.1的状态机,在读命令前,需要给到ACT命令以激活相应的行,接着给到写命令进入到写数据状态。
可以参照读数据模块相应地构建读数据模块,只需要改写读数据命令为写数据命令。