论文部分内容阅读
存储器作为计算机中一个重要的部分,对计算机的整体性能起着关键性的作用。随着存储器频率的提高,对控制器的要求也是越来越高。在对DDR2 SDRAM的操作中涉及了很多时间参数,操作复杂。因此,怎样有效、稳定、快速地对DDR2 SDRAM进行读取便成了一个热门而有意义的研究方向。本文的目的在于实现一个可移植的DDR2 SDRAM控制器,提供基本的读取功能。在通过对DDR2 SDRAM控制器进行深入的研究后,本文采用了自上而下的设计方法,用Verilog语言对其进行实现,并用Modelsim软件进行功能测试仿真。然后在本实验室自主开发的多内核验证平台——Altera StratixII EP2S180F1020开发板上用QuartusII软件进行后仿时序验证,并使用Quartus II软件搭建一个可以进行读取验证的验证平台。在设计过程中按功能区分将控制器分为大的三个模块,分别为控制模块、数据通道模块、I/O模块。这三个模块又会因为各自具体的任务而再进行下一步模块的划分,譬如,控制模块又将其拆分为初始化模块和读写执行模块。这样经过一级一级的拆分和模块化后,对于结构上来说,可以做到一目了然,并且也有利于代码的实现和调试。对于设计中的关键技术,譬如在数据通道的结构上采用了异步时钟FIFO解决内部时钟和外部时钟的匹配问题,并且还起到了数据缓冲和数据整合的作用。在I/O模块的接口设计上,相对于传统的使用倍频时钟来实现数据在上升沿和下降沿分别进行传输,这里采用了单倍时钟来实现。在设计实现的过程中会对每个模块所采用的实现方法做一一详解,通过结构图和伪代码的讲解使读者能够对设计方式和方法一目了然。在控制器设计完成后,针对控制器使用Verilog编写相应的测试向量。在用Modelsim进行功能测试仿真中,使用了由Micron公司提供的DDR2 SDRAM模型。通过仿真,能够正确实现各种读写,自动刷新等一系列功能。并在Quartus II软件上进行后仿,在200MHz时钟频率下,通过了各种时序验证。