基于fpga的sdram控制器的设计和实现 - search readpudncom

基于fpga的sdram控制器的设计和实现 - search readpudncom

ID:18562384

大小:114.00 KB

页数:6页

时间:2018-09-18

基于fpga的sdram控制器的设计和实现 - search readpudncom_第1页
基于fpga的sdram控制器的设计和实现 - search readpudncom_第2页
基于fpga的sdram控制器的设计和实现 - search readpudncom_第3页
基于fpga的sdram控制器的设计和实现 - search readpudncom_第4页
基于fpga的sdram控制器的设计和实现 - search readpudncom_第5页
资源描述:

《基于fpga的sdram控制器的设计和实现 - search readpudncom》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的SDRAM控制器的设计和实现0.引言随着电子技术在工业、医疗、商业等领域的发展,人们对数据传输率的要求越来越高,传统的单片机早已不能满足这种高速数据传输的要求。与此同时,可编程的逻辑器件FPGA/CPLD以其强大的功能,开发过程投资小、周期短,可反复编程修改,开发工具智能化等特点,成为当今硬件设计的潮流;相比而言,FPGA即现场可编程门阵列,它的集成度高,可完成极其复杂的时序与组合逻辑电路功能,更适用于高速、高密度的高端数字逻辑电路设计领域[1]。SDRAM即:同步动态随即存储器,与传统的DRAM有很大区别。它可以与系统总线以同频率工作,用同一个CPU时钟周

2、期即可完成数据的访问和刷新,进而大大的提高了数据传输率,其速度远大于DRAM。因而,SDRAM常作为数据缓存应用于高速数据传输系统中。目前,许多嵌入式设备的大容量、高速度存储器都采用SDRAM来实现,而且大多都是用专用芯片完成其控制电路,这不但提高了设计成本,而且使系统的硬件电路变得复杂。随着FPGA在嵌入式系统中的广泛应用,如果我们能够结合具体的需要,利用FPGA来设计自己的SDRAM控制器,这些问题就迎刃而解了。然而,SDRAM的控制逻辑复杂、时序要求严格,常常困扰设计人员。有很多文章[2,3,4,5]详细的介绍了SDRAM的工作原理、控制时序和指令特点,以及基于FP

3、GA的SDRAM控制器的实现方法,但是并没有详细的给出控制器内部结构和指令时序的控制问题。因此。本文将介绍一种基于FPGA的通用SDRAM控制器,并着重介绍设计方案中各模块的功能和实现方法。该控制器用VHDL语言程序实现,完成了SDRAM指令状态转换、信号仲裁判断,并巧妙的用三个移位寄存器解决了指令的逻辑和时序的问题。1.SDRAM简介SDRAM具有空间存储量大、读写速度快、价格相对便宜的特点。但其控制逻辑复杂,需要周期性刷新操作、行列管理、不同延时和命令序列等。1.1SDRAM地址结构SDRAM的存储地址分为页(bank)地址,行(row)地址和列(column)地址。

4、例如一个8MByte的SDRAM,被分为4个bank,即1个bank为2MByte,每个bank包括12行8列。1.2SDRAM的指令SDRAM的一系列指令如表1所示,每个指令最终都是通过控制RAS、CAS、WE信号来实现。通常对SDRAM的操作过程如下:表1SDRAM命令(1)SDRAM初始化操作:上电后至少等待100ns,然后至少执行1条空操作;对所有页执行预充电操作;向各页发出两条刷新操作指令;最后执行SDRAM工作模式的设定LMR命令用来配置SDRAM工作模式寄存器,SDRAM工作寄存器如表2所示。其中A11~A10是用户保留位;A9用来配置写突发模式;A8~A7

5、是操作模式,通常为“00”,代表标准操作模式;A6~A4设置CAS延迟时间;A3决定突发操作模式是顺序还是间隔型;最后的三位A2~A0用来配置突发长度。表2SDRAM工作寄存器A11A10A9A8A7A6A5A4A3A2A1A0ReserveWriteburstmodeOperatingmodeLatencymodeBursttypeBurstlength(2)SDRAM读、写操作:根据实际应用的需要,发出读、写指令。SDRAM可实现突发式读写,支持的突发长度可配置为1个、2个、4个、8个数据周期或者页模式。并且突发的模式可以配置为顺序或者间隔型。对SDRAM进行访问的最

6、主要操作就是读RD和写WR操作。SDRAM在进行读写操作时,必须要先进行页激活ACT操作,以保证存储单元是打开的,以便从中读取地址或者写入地址,关闭存储单元通过预充电PHC命令实现。在进行写操作时,内部的列地址和数据就会被寄存;进行读操作时,内部地址被寄存,等待CAS延迟时间(通常为1~3个时钟周期)后,读出的数据出现在数据总线上,具体时序详见SDRAM数据手册,此处不再赘述。(3)操作终止:当SDRAM接收到读、写指令后,开始进行顺次的读写操作,直到达到突发长度或者突发终止指令BT出现。2.SDRAM控制器方案SDRAM控制器【6】针对SDRAM的指令操作特点,为SDR

7、AM提供同步命令接口和时序逻辑控制,下面将以ALTERA公司的Cyclone系列FPGA为例,主机系统时钟为100MHz,使用三星公司的K4S641632E,8MByteSDRAM【7】,介绍SDRAM控制器的具体设计方法。图1为SDRAM控制器的接口原理图。图1SDRAM控制器接口原理图接口信号介绍:(1)与主机接口信号:CLK:系统时钟信号;RESET::系统复位信号;CMD[2:0]:译码指令,如表3所示;CMDACK:指令应答信号,通知主机命令已被SDRAM执行;ADDR:地址线,根据具体情况确定位数,本例中为22位,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。