论文部分内容阅读
内存是计算机系统的重要组成部分,所有指令和数据都必须调入内存才能进行处理。由于处理器的访问请求不能被内存直接识别,因此,需要内存控制器来负责完成处理器对内存的控制操作,而内存控制器决定了计算机系统所能使用的最大内存容量、存储体数目、内存类型和速度、内存颗粒的数据深度和数据宽度等重要参数。因此,内存控制器便成为影响内存性能发挥乃至计算机系统整体性能提升的关键因素之一。内存控制器的研究也成为高性能计算、嵌入式系统等领域的研究热点。本文首先研究了限制计算机性能发展的“存储墙问题”及内存控制器的发展现状。然后,对DDR3的新特性、低功耗设计技术进行了详细说明,研究了DDR3的工作原理和基本操作以及JESD79-3E_DDR3标准,提炼出了影响设计功能和性能的重要参数,为控制器的设计提供理论支撑。再后,结合Altera公司的外部存储器解决方案,并考虑嵌入式系统的特点,对控制器的设计方案进行了论证,设计出来DDR3内存控制器IP核的整体架构,并把DDR3内存控制器的结构划分为传输层和物理层两个部分,接着采用自顶向下的设计思路,将传输层划分为各个子模块,对各个子模块进行详细分析,并使用Verilog HDL语言完成对初始化模块、用户接口模、仲裁模块、ECC模块、命令产生模块等模块的编程设计。物理层的设计则调用Altera公司的ALTMEMPHY IP核并对其接口例化实现与控制逻辑的对接。在完成控制器IP核的设计后,首先使用Verilog HDL语言编写了测试平台(Test Bench),在Quartus 10.0和Modelsim软件中对内存控制器IP核进行软件仿真。接着,论文还给出用户接口模块、初始化模块、指令仲裁模块等关键子模块的RTL级仿真结果,并对仿真结果分别进行了分析。最后,在Altera Stratix Ⅳ E开发板上对控制器IP核进行FPGA验证,采用单载波信号作为测试激励,使用Signal Tap逻辑分析仪对输出测试点的信号采样和放大,并用MATELAB对采样数据进行还原并与输入信号比对。比对结果完全一样,从而完成了DDR3控制器的仿真验证。本文所设计的内存控制器能够与ALTMEMPHY数字接口AFI兼容,通用性较好。可以检测并纠正单比特的数据错误和检测双比特的数据错误,通过仿真验证得到数据传输的最高时钟频率为457.88Mhz,为以后DDR3内存控制器的设计提供了参考。