当前位置:首页 > 工业控制 > 工业控制
[导读]摘要 对DDR SDRAM的基本工作特性以及时序进行了分析与研究,基于FPGA提出了一种通用的DDRSDRAM控制器设计方案。在Modelaim上通过了软件功能仿真,并在FPGA芯片上完成了硬件验证。结果表明,该控制器能够较好地完成DD

摘要DDR SDRAM的基本工作特性以及时序进行了分析与研究,基于FPGA提出了一种通用的DDRSDRAM控制器设计方案。在Modelaim上通过了软件功能仿真,并在FPGA芯片上完成了硬件验证。结果表明,该控制器能够较好地完成DDR SDRAM的读写控制,具有读写效率较高、接口电路简单的特点。
关键词 DDR SDRAM;控制器;FPGA

    随着超大规模集成电路技术的成熟,以及数字信号处理技术的广泛应用,高速大容量缓存逐渐成为一项关键技术。DDR SDRAM即双倍速率同步动态随机存储器,它采用地址复用技术,在时钟的上升沿和下降沿均能触发数据进行传输,并且能与系统保持良好的同步性。DDR SDRAM以其大容量、低成本以及更高的数据传输质量等优势,逐步取代SDRAM而被各集成电路制造厂家所青睐。而要实现各微处理器和数字信号处理器的存储器接口与DDR SDRAM接口相逢接,必须要借助DDR SDRAM控制器才能实现控制读写等功能。微电子制造工艺的迅猛发展使得FPGA的集成度和性能也不断提高,在各种嵌入式系统中的应用也越来越广泛。FPGA内部集成了DDR触发器、PLL锁相环等逻辑资源,并且其引脚均能满足SSTL-Ⅱ电器特性的要求,因此FPGA是实现DDR,读写控制的最佳平台,研究如何利用FPGA实现DDR SDRAM控制器具有重要的现实意义。

1 DDR SDRAM的工作特性
   
一个DDR SDRAM通常包含有地址总线15个、数据总线16个、数据捕获探针2个、写掩码信号线2个、差分主控时钟线1个、时钟使能信号线1个、以及命令信号线4个:CS_N,RAS_N,CAS_N,WE_N。
1.1 DDR SDRAM的初始化
    DDR SDRAM的工作模式必须由初始化操作来配置,初始化的过程通常包含:首先发送一个Prechargeall bank命令完成对所有块的预充,接下来是两个或多个Auto Refresh命令使DDR SDRAM进行自动刷新,最后由模式配置命令完成对DDR SDRAM内部模式设置寄存器的配置。
1.2 访问存储单元
   
为减少输入输出引脚的数量,初始化完成后要对各个Bank中的阵列进行寻址以访问存储单元:在Read/Write状态下先由Active命令激活相关的Bank,并锁存其行地址,当Read/Write命令有效时锁存列地址。对于已被激活由同一个Bank,再次激活必须重新执行一次Prechar ge all bank命令。
1.3 刷新
    DDR SDRAM的存储单元由晶体管和电容器组成,电容器会由于漏电而导致电荷丢失,为保证数据存储的稳定性,必须周期性地对DDR SD RAM进行刷新。控制器内部的自动刷新计数器每隔一个刷新周期便会发送一个刷新请求,控制器在接收到请求后会根据当前DDR SDRAM的状态做出不同响应:如果此时DDRSDRAM处于Idle State,控制器便会发出一个AutoRefresh命令对DDR SDRAM进行刷新;如果此时DDR SDRAM正在进行Read/Write操作,控制器会等到当前操作完成之后再发送Auto Refresh命令。
1.4 操作控制
    DDR SDRAM的操作命令由专用的命令控制信号决定。具体会执行何种操作动作决定于系统时钟上升沿时的CS_N(片选信号),RAS_N(行地址使能信号),CAS_N(列地址使能信号)以及WE_N(写使能信号)的状态。DDR SDRAM操作命令真值表如表1所示,选择控制信号线和地址信号线只作为辅助参数输入。



2 DDR SDRAM控制器的设计
   
为能像操作普通存储器—样对DDR SDRAM进行控制,必须要通过一系列的初始化操作完成对DDRSDRAM复杂的读写时序转换。同时DDR SD RAM控制器还要自行产生周期性的Auto Refresh命令自动刷新DDR SDRAM,以保证存储数据的稳定性。图1为DDR SDRAM控制器管脚接口示意图,控制器右端的管脚接口与DDR SDRAM所对应管脚接口直接相连,控制器左端的管脚接口则是接收来自系统发送的控制信号。


    DDR SDRAM控制器的基本构造框架如图2所示:分别是系统控制接口模块ddr_control_interface、CMD命令模块ddr_command和数据通路模块ddr_data_path。ddr_control_interface包括命令接口模块和刷新控制模块,系统发出的控制信号会首先进入ddr_control_interface,进而产生不同的commsnd信号组合;ddr_command用于接收系统控制接口模块产生的command,并解码成具体的操作命令对DDR SDRAM进行控制;ddr_data—path主要是对输入和输出数据进行有效的控制。


2.1 系统控制接口模块
   
图3为系统控制接口模块ddr_control_interface的有限状态机。控制器接收到后模块发送的LOAD_REG1命令后进入载入模式,然后由一个LOAD_REG2命令将刷新计数器值载入控制器。控制器发送Read/Write操作请求时,如果DDR SDRAM正处于IdleState,则需要使用Active命令打开相应的行之后才能进入Read/Write状态。DDR SDRAM的Read/Write访问是基于突发方式,有2、4、8这3种突发长度。在突发长度为8的状态下,DDR SDRAM接收Read命令后会在指定的延迟后的4个时钟周期内,由DQ数据线给出8个16位数据,完成1次突发Read操作。执行完1次突发Read操作,控制器便会自动转入Read等待状态,这个等待状态将持续到控制器接收到下一个Read命令。如果此时发送1个Precharge命令关闭当前正在工作的行,控制器就会进入Idle State。连续突发Bead操作可以通过设置Read等待状态来实现而不必重复Active操作。当Read操作发生在不同的行时,需要先使用Precharge命令关闭正在工作的行,再由Active打开需要读取的另一个行,而此时的访问耗时最长。


2.2 CMD命令模块
    CMD命令模块ddr_command由仲裁模块以及命令产生模块构成。仲裁模块的作用主要是仲裁初始化请求、刷新请求以及读写请求的优先级,并产生初始化响应initial hold、刷新响应refresh hold和读写响应sdram wr hold。命令产生模块则是实现存储器与控制之间的命令通信,直接产生存储器所需的CKE、CS_N,RAS_N,CAS_N,WE_N等命令信号。除此之外Read/Write所需的行列地址和簇地址也由命令模块产生。命令产生模块接收到来自CMD命令解析模块的操作命令后,根据数据选通倍号OE对数据通路模块进行有效控制:OE为1时,进行Write操作;OE为0时,进行Read操作。
2.3 数据通路模块
   
数据通路模块ddr_data_path受命令产生模块的OE信号控制,其管脚接口如图4所示。OE为1时,数据可由DQIN引脚写入DDR SDRAM;OE为0时,数据可从DDR SDRAM的DQIN引脚读出。


    由于DDR SDRAM在时钟的上升沿和下降沿能均触发数据,使得用户端的数据宽度是DDR SDRAM的两倍。进行Read操作时,DQ pins上的双倍速率数据经过边沿触发器,在DQS信号的两个边沿同时采样数据,然后这些数据会通过另一套可配置的寄存器被传送到系统的时钟域。进行Write操作时,用户端寄存器输出的数据会被传送到控制器的寄存器中,进而被存放到DQ pins上。数据通路模块在与存储器的接口处完成了两个转换:一是翻倍来自存储器的数据总线宽度;二是以400 MHz的时钟频率接收存储器在时钟上升和下降沿发出的数据。

3 DDR SDRAM控制的仿真和验证
3.1 DDR SDPAM控制器的软件仿真
   
设计的软件功能仿真是利用硬件描述语言VerilogHDL写出测试代码,在Mentor公司的Modelsim软件中进行,通过检查波形完成。DDR SD RAM控制器测试流如图5所示,实现了写数据到第1组寄存器,读校验数据,写数据到第2组寄存器,读校验数据。


    当控制器接收到请求发送数据的命令后,由命令引脚产生相应的Write命令传送给DDR SDRAM,接下来会反馈—个握手信号ready以告知用户端已准备就绪可以继续接收数据,而接收到的数据通过dq端口直接传给DDR SDRAK。经过Modelsim功能仿真Read/Write波形如图6和图7所示,结果表明DDR SDRAM能顺利地完成读写、刷新和预充电,行与行、块与块之间的交换平稳迅速,无论是连续还是单个操作都非常顺畅。


3.2 DDR SDRAM控制器的FPGA验证
   
设计的DDR SDRAM控制器硬件验证在Altera公司CycloneII系列的EP2C5Q208C8 FPGA芯片中进行,利用在线仿真技术快速建立芯片设计的硬件模型,然后将设计映射至目标FPGA电路中,通过加载设定的激励信号,观察所输出的结果并与所期望的输出结果进行比较,发现写入和输出的数据完全吻合。经过综合,基础逻辑单元资源占用率为12.33%,引脚资源占用率为62.5%,锁相环PLL资源的占有率为50%,流片频率测试也能达到期望要求,能完全胜任对DDRSDRAM控制。

4 结束语
   
在研究DDR SDRAM的主要工作特性以及时序的基础上,利用Verilog HDL硬件描述语言提出了一种适用于DDR SDRAM的控制器的设计。并且通过了Modelsim软件功能仿真、FPGA硬件验证,结果表明该设计传输数据稳定可靠,读写效率较高,接口电路简单,可应用于各种高速度、大容量存储器场合中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭