引言DDR2(Double DataRate2)SDRAM是由JEDEC(电子设备工程联合委员会)制定的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同:虽然采用 时钟的上升/下降沿同时传输数据的基本方式,但DDR2却拥有2倍的DDR预读取能力(即4位预存取技术)。此外,DDR2还增加ODT(内建核心终结电 阻器)功能,内建合适的端接电阻,避免了以往因片外连接大片终结电阻带来的制板成本增加。
基于FPGA的SDRAM控制器,以高可靠性、强 可移植性、易于集成的特点,逐渐取代以往的专用控制器而成为主流解决方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司 的DDR2 SDRAM器件HY5PS121621实现DDR2控制器的设计。
2 FPGA与DDR2存储器接口
图1所示为 DDR2与FPGA的外围接口连接图,DDR2的信号线分为:时钟信号线CK/CK;数据信号线Data/DQS/DM;地址信号线 Address/BA1/BA0;命令信号线RAS/CAS/WE;控制信号线CS/CKE/ODT。FPGA除与DDR2的所有信号线相连外,还引出外 部环回信号线(图中虚线所示),此信号输出送至输入输出模块(IOB),以补偿FPGA与存储器之间的IOB、器件和迹线的延迟。
差 分时钟线CK/CK为DDR2数据传输提供时钟,在CK的上升沿和下降沿均有数据被触发;双向差分线DQS/DQS看作数据的同步信号,写入时由控制器发 出,读取时由DDR2产生DQS向控制器发送,它与读数据边沿对齐而与写数据中心对齐。DN为数据信号屏蔽位在突发写传输时屏蔽不存储的数 据;RAS/CAS/WE作为命令信号线向DDR2发出读取、写人、刷新或预充电命令;片内终结信号线ODT控制是否需要DDR2进行片内终结。
3 DDR2控制器的设计原理
基于FPGA的DDR2控制器设计是由时钟生成模块、存储控制模块和读写数据接口模块组成如图2所示。
控 制器中所有模块时钟均来自于时钟生成模块,它由数字时钟管理器(DCM)控制,输出90°、180°和270°时钟。该模块还包含延迟校准监视器,用于校 准读取数据(DQ)对读取数据选通脉冲(DQS)的延迟,以便读取数据选通脉冲边沿能够正确对齐DQ有效窗口的中间位置。
读写数据接口模 块是整个控制器设计的关键,它负责将用户写入的数据DQ和DOS按照DDR2SDRAM时序要求发送给DDR2,DDR2在DQS的每一个时钟沿采集写数 据。在读取数据时,DDR2SDRAM将DQS和相关数据发送到与DQ对齐边沿的FPGA。FPGA将接收到的DQS信号经过延迟校准,作为内部存储读数 据的FIFO的写时钟。FPGA为DDR2的每个数据位配置一对读写异步的FIFO,每个数据位都输入到上升沿(FIFO0)和下降沿(FIFO1)的 FIFO中,实现原理如图3所示。
|