微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的DDR3控制器设计

基于FPGA的DDR3控制器设计

时间:09-12 来源:互联网 点击:

,Bank地址位宽为3位,总容量为2 GB。设置突发长度为8位,数据宽度为64位,速度级别为-2,时钟频率为400 MHz。

DDR3 SDRAM控制器的主要功能是完成对DDR3SDRAM的初始化,将DDR3 SDRAM复杂的读写时序转化成用户简单的读写时序,将DDR3 SDRAM接口的双时钟数据转化成用户的单时钟数据,并发送周期性的刷新命令来维持DDR3 SDRAM中的数据。控制器主要分为传输层和物理层,传输层负责接收上层用户逻辑的访存请求,并将这些请求转换成DDR3SDRAM所需的时序发送给物理层。物理层负责将控制和地址信号按照DDR3 SDRAM需要的时序发送给存储芯片,同时在传输层和存储芯片之间创建地址通路和数据通路,捕获DDR3 SDRAM发出的数据,通过输入输出缓存发送DDR3 SDRAM所有的控制信号、地址信号以及数据信号,同时保证指令与地址,数据的同步,DDR3 SDRAM接口模型如图3所示。

DDR3 SDRAM内存控制器的设计必须满足两大基本要求:(1)所设计的控制器要实现对内存模组的管理,完成CPU的访存要求。(2)需尽可能提高访问内存的速度和带宽,这是衡量内存控制器性能的重要指标,同时还需考虑内存的兼容性和成本问题。

3 实验结果

为验证DDR3控制器IP核的正确性,对MIG生成的测试模块在ISE14.2环境下进行功能仿真验证,该模块可以对DDR3存储器进行一系列操作,并对写入和读出的数据进行比较,从而验证控制器的正确性。仿真结果如图4所示,phy_init_done的值为1,说明初始化完成。当app_cmd=000时,表示当前进行写操作,只有同时app_en=1和app_rdy=1,app_ addr才能写入成功。当app_cmd=001时,表示当前操作为读操作,可通过rror这一比较信号验证控制器是否正确。从仿真结果可看出,比较信号error始终为低电平,说明写入和读出的数据是一致的。

4 结束语

通过对DDR3的技术特点和工作原理进行分析,将DDR3控制器的从层次上分为传输层和物理层,然后给出了DDR3 SDRAM控制器的设计方法,将控制器在Xilinx公司的Virtex-6系列FPGA芯片上实现,通过ISim软件仿真结果,证明了设计的可行性和正确性,以及IP核设计的DDR3控制器具有较好的适应性和灵活性,缩短了系统开发周期、降低了系统开发成本。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top