使用Verilog实现基于FPGA的SDRAM控制器(图)
——
关键词:sdram;控制器;verilog;状态机
引言
---在基于fpga的图象采集显示系统中,常常需要用到大容量、高速度的存储器。而在各种随机存储器件中,sdram的价格低、体积小、速度快、容量大,是比较理想的器件。但sdram的控制逻辑比较复杂,对时序要求也十分严格,使用很不方便,这就要求有一个专门的控制器,使系统用户能很方便地操作sdram。为此,本文提出了一种基于fpga的sdram控制器的设计方法,并用verilog给于实现,仿真结果表明通过该方法设计实现的控制器可以在fpga芯片内组成如图1所示的sdram接口,从而使得系统用户对sdram的操作非常方便。
sdram简介
---sdram器件的管脚分为控制信号、地址和数据三类。通常一个sdram中包含几个bank,每个bank的存储单元是按行和列寻址的。由于这种特殊的存储结构,sdram有以下几个工作特性。
● sdram的初始化
---sdram在上电100~200μs后,必须由一个初始化进程来配置sdram的模式寄存器,模式寄存器的值决定着sdram的工作模式。
● 访问存储单元
---为减少i/o引脚数量,sdram复用地址线,所以在读写sdram时,先由active命令激活要读写的bank,并锁存行地址,然后在读写指令有效时锁存列地址。一旦bank被激活后只有执行一次预充命令后才能再次激活同一bank。
● 刷新和预充
---sdram的存储单元可以理解为一个电容,总是倾向于放电,因此必须有定时的刷新周期以避免数据丢失。刷新周期可由(最小刷新周期
评论