基于可编程逻辑器件的SDRAM控制器的设计

来源 :硅谷 | 被引量 : 0次 | 上传用户:yaohaoyuan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 本文运用FPGA技术来实现SDRAM控制器的设计,采用模块化设计方法,将控制器分为四个主要模块:SDRAM控制器模块、控制接口模块、命令模块和数据传输模块。SDRAM控制器模块调用其他三个模块并将设计整合,为SDRAM提供了一个同步控制接口和多个控制寄存器,可实现的功能:初始化SDRAM;将SDRAM复杂的读写时序简单化;产生周期性的自刷新命令。控制器通过了MAX+plusⅡ软件的仿真,仿真结果表明通过控制器接口可使得对SDRAM的操作变得异常简单。此外用Verilog硬件描述语言编程实现的电路设计,参数可以灵活修改,使电路设计的通用性和可移植性大大增加。
  关键词 FPGA;SDRAM;控制器
  中图分类号:TP333 文献标识码:A 文章编号:1671—7597(2013)041-024-02
  在信息处理中,特别是在实时视频图像的处理中,需要大量使用SDRAM实现数据缓存,但SDRAM复杂的控制逻辑,严格的时序要求,令使用很不方便。为使用户能很方便地操作SDRAM,本文介绍了一种基于FPGA的通用SDRAM控制器软核的Verilog设计,几乎包括SDRAM的所有操作模式,故用户只要根据器件的参数进行修改,就可实现自己对特定SDRAM的特定工作模式的利用。
  1 SDRAM简介
  在本次设计中,采用Hynix公司的4Banks×1M×16bit HY57V641620作为控制目标,其工作时钟能达到133MHz,是一种高速存储器。HY57V641620的管脚分为三类:控制信号:片选(CS_N)、同步时钟(CLK)、时钟有效(CKE)、读写选择(WE_N)、数据有效(DQM)等;地址信号:行地址选择(RAS_N)、列地址选择(CAS_N)、行/列地址线(SA0~SA12)分时复用、Bank块地址线(BA0~BA1);数据信号:DQ0~DQ15,双向数据。其使能受DQM控制。
  通常一个SDRAM会有多个Bank,在进行寻址时先通过BA的值来确定是哪个Bank,然后再在这个选定的Bank中选择相应的行与列进行寻址,在对Bank进行读写前,必须激活行选通信号。SDRAM在上电以后,对其进行其他操作之前,必须先对其进行初始化。
  2 SDRAM控制器的FPGA设计
  本设计采用Altera公司的FPGA CyloneⅡ EP2C5-208芯片实现SDRAM控制器的设计。SDRAM控制器采用模块化设计,由四个主要模块组成:SDRAM控制器模块(顶层模块)、控制接口模块、命令模块和数据传输模块。顶层模块调用三个较低的模块并将设计整合在一起。控制接口模块(和主机的内存地址相连)接收命令,对命令进行解码并把命令请求传输给命令模块。命令模块接收控制接口模块的命令和地址并对SDRAM发出合适的命令。数据传输模块在写和读命令时控制数据的传输。SDRAM控制器块图如图1所示。
  2.1 控制接口模块
  控制接口模块对主机命令进行解码并注册命令,将已解码的命令传输给命令模块。此外控制接口模块还包含对SDRAM模式寄存器的设置,可以设置SDRAM的突发读写长度和预充电周期,寄存器设置值是在SDRAM初始化时通过接口模块输入的。
  2.2 命令模块
  命令模块接收来自控制接口模块已解码的命令,接收来自刷新控制逻辑的刷新请求,并对SDRAM产生命令。该模块包括一个简单的仲裁器,该仲裁器对来自主机接口的命令和来自刷新控制逻辑的刷新请求进行仲裁。来自刷新控制逻辑的刷新请求比来自主机接口的命令有较高的优先权。如果从自主机来的命令和刷新请求同时到达或在隐藏的刷新操作命令中到达,仲裁器将会等到隐藏的刷新操作完成后再对主机命令应答。如果从主机来的操作命令正在进行时,将会等到主机操作命令完成后再对隐藏的刷新操作命令应答。
  仲裁器从主机接收一个命令后,该命令将会被传输到命令模块的命令发生器部分。在SDRAM发出的命令之间,命令模块通过三个可替换的寄存器进行定时。第一个替换寄存器用来控制ACTIVATE命令的定时;第二个用来控制WRITEA和READA命令的配置;第三个用来记录命令的持续时间,该命令让仲裁器确定是否最后被请求的操作已被完成。
  命令模块执行SDRAM的复用地址命令。在ACTIVATE(RAS)命令期间,行地址输出有效,该命令把行地址输出给SDRAM的A[11:0]引脚。在READA(CAS)或WRITEA命令期间,列地址输出有效,该命令把列地址输出给SDRAM。
  输出信号OE(被命令模块产生)是在数据传输模块的数据输入线路的最后阶段用来控制三态缓冲器的。
  2.3 数据传输模块
  数据传输模块为SDRAM和主机之间提供了数据接口。WRITEA命令时,主机数据会通过DARAIN传输到SDRAM。 READA命令时,数据会通过DATAOUT送给主机。
  数据输入线路由一个两分段的管线组成去适当排列数据而使CMDACK和SDRAM发出的命令相关联。数据输出线路由一个两分段的管线组成用来在READA命令期间寄存来自SDRAM的数据。如果DARAOUT和CMDACK配合的好,可以使输出数据管线的延迟减小到零。
  3 SDRAM控制器的仿真
  本设计的功能仿真是在MAX+plusⅡ的环境中进行的。图2给出了SDRAM控制器控制SDRAM进行写操作的仿真图。仿真结果表明SDRAM控制器对各个操作均有正确的时序输出。
  4 结束语
  本设计应用自顶向下的设计思想,选择FPGA及Verilog HDL语言成功的设计出一种簡单的、通用的SDRAM控制器。该通用控制器具有多种突发读、写方式和工作模式。在实际应用中,可选择其中的基本读、写、刷新操作来满足系统的需要。用SDRAM实现大容量的高速数据缓存具有明显的优势,使用可编程器件实现对SDRAM的控制则使之具有更高的灵活性。
  参考文献
  [1]夏宇闻.Verilog HDL数字系统设计教程[M].北京:北京航空航天大学出版社,2003.
  [2]夏宇闻.复杂数字电路与系统的Verilog HDL设计[M].北京:北京航空航天大学出版社,1998.
  [3]SDR SDRAM Controller White Paper[DB/CD].Altera 2002.8.http://www.altera.com/literature/wp/sdr_sdram.pdf.
  [4]SDRAM Device Operation.[EB/OL].Hynix 2003.9.http://www.hynix.com/datasheet/Timing_Device/sdram _Deviceoperation.pdf.
  [5]樊京,张宏伟.使用FPGA操作SDRAM的RTL级代码实现[J].仪表技术,2006(03).
其他文献
目的 总结高龄病人髋关节置换术重症压疮的干预护理.方法 43例患者共实施46个髋关节置换术,采取术前制定压疮干预护理计划、术后严密观察、预防压疮的出现、教会患者功能锻炼
会阴切开术在产科比较常见.近年来,随着国产医学的发展,人们对优生优育认识的提高,会阴切开率也日渐上升.适宜的缝合方法,不仅可以减少产妇产时产后的痛苦,而且可以提高病房
目的 总结农村敬老院老人的社区护理经验与体会.方法 在10所敬老院开展社区护理,并用自制表向258位老人进行调查及对实施社区护理前后老人的健康状况和医疗费用支出进行比较.
汤剂是我国医药史上应用最久和最广的剂型之一.它是古人将熟食经验用于制剂而产生的一种剂型.汤剂能流传千年有其主要特点;(1)、较丸散片剂等吸收快,易发挥疗效,并能结合辨证
探讨病案管理工作的重要性,指出电子病案档案在医院中的作用及实行电子病案档案的对策
目的 探讨异位妊娠的非手术治疗方法和安全性及有效性.方法 对符合一定指征的42例异位妊娠患者,根据各自指征分别入中药组、化疗组和综合治疗组进行保守治疗,并作疗效对比.结
目的 探讨小儿过敏性紫癜的病因及临床特征.方法 对我院收治的70例过敏性紫癜进行回顾性分析.结果 70例中,男44例,女26例,年龄2-14岁,一年四季均有发病,春冬季节为发病高峰季
通过对高职院校“双师型”教师定义及特点的阐述,分析我国高职院校教师现状,并在此基础上提出“双师型”教师队伍建设途径.
摘 要 本文根据灯泡贯流式水轮发电机组的特点介绍计算机监控系统在机组自动控制上的应用,主要说明了机组自动控制流程的设计方案与调试中需要注意的问题。  关键词 灯泡贯流式;监控;流程  中图分类号:TM312 文献标识码:A 文章编号:1671—7597(2013)041-021-03  我国拥有丰富的水能资源,随着中、高水头水电站的不断开发,低水头径流式水电站的开发在近二十年来也进入了一个高潮。在