摘 要 :DDR3 SDRAM 是第二代双倍数据传输速率同步动态随机存储器, 以其大容量、 高速率和良好的兼容性得到了广泛应用。 文中介绍了 DDR3 的特点和 *** 作原理, 以及利用 MIG 软件工具在 Virtex - 6 系列 FPGA 中实现 DDR3 SDRAM控制器的设计方法, 并进行硬件测试。 验证了 DDS3 控制器的可行性, 其工作稳定、 占用资源少、 可植性强等。
DDR3 SDRAM 是从 DDR、 DDR2 发展而来的一种高 速同步动态随机访问存储器。 由于 DDR3 SDRAM 可以 在脉冲的上升和下降沿都传输数据, 因此传输数据的等 效频率是工作频率的两倍。 与 DDR2 相比, DDR3 主要 有以下优势: ( 1) DDR3 采用 8- bit 预取技术, 解决了 外部数据传输率与核心频率之间的矛盾, 保证了数据 传输率的持续增长, 同时增加了带宽。 ( 2) DDR3 的核 心电压为 1.5 V, 增加异步重置与 ZQ 校准功能, 功耗 比 DDR2 降低了 25% 。 ( 3) DDR3 存储器模块的地址、 命令、 控制信号和时钟采用了“ fly - by” 的拓扑结构, 大幅减轻了地址 / 命令 / 控制与数据总线的负载, 提高 了信号的完整性[ 2] 。本文介绍了 DDR3 的特点和 *** 作原理, 利用 MIG 软 件工具在 Virtex - 6 系列 FPGA 中实现 DDR3 SDRAM 控 制器的设计, 并给出了硬件测试的结果。
1 DDR3 的 *** 作原理DDR3 SDRAM 加电后必须按照规定的步骤完成 初始化。 在初始化的过程中应注意对模式寄存器和扩 展模式寄存器的配置。 通过初始化可以完成对 CAS 延迟, 突发长度, 突发类型, 输出驱动能力, 片上端接电 阻( ODT) 的值, 伴随 CAS 的附加延迟, 片外驱动器校 准等配置[ 3 - 4] 。 初始化完成后, DR3 SDRAM 进入正常 工作状态, 此时可以对其进行寻址和读写 *** 作。
1. 1 预充命令
预充命令用于释放已经打开的 Bank 和已经打开 的行或者打开新的 Bank 和新的行。 发送预充命令后, 要经过 tRP( Row Precharge command Period, 行预充电 有效周期) 个时钟发送行有效命令。 如果超过了这个 延迟, 那么 Bank 就会进入空闲状态。 地址线的 A10 用于决定是对一个还是所有的 Bank 进行预 充。 一 个Bank 被预充之后, 进入空闲状态, 等待接收激活命令。
1. 2 激活命令
在任何读写命令被发送到 DDR3 SDRAM 存储器 的行上之前, Bank 中的行必须使用激活命令进行激 活。 与激活命令一起被触发的地址用来选择将要存取 的 Bank 和行, 与读或写命令一起触发的地址位用来选 择突发存取的起始列单元。
1. 3 读命令
读命令用来启动一个突发的存储器读 *** 作, 以访 问一个激活的行。 BA0 ~ BA2 用来选择存储体 Bank 地址, A0 ~ Ai 提供的输入地址用来选择开始列位置。 在读 *** 作完成之后, 这个行在随后的访问中仍是活跃, 直到该行被预充命令关闭。 随着数据一起传送的还包 括一个双向的数据选通信号 DQS, 在读周期中, DQS 由 DDR 存储器产生, 它与数据时边沿对齐, 其读时 序[ 2] 如图 1 所示。
1.4 写命令
写命令用来启动一个突发的 存 储 器 写 *** 作, 由 FPGA 向 DDR3 SDRAM 写 入 数 据, 只 需 按 照 DDR3 SDRAM 的工作要求发出相应的指令即可。 BA0 ~ BA2 用来选择存储体 Bank 地址, A0 ~ Ai 提供的输入地址用 来选择开始列位置。 在写周期中, DQS 由 DDR3 控制 器产生, 它 与 数 据 时 中 心 对 齐, 其 写 时 序[ 2] 如 图 2 所示。
1. 5 刷新命令
DDR3 是动态存储器, 必须要定期进行刷新才能 维持其存储的内容。 刷新间隔和 DDR3 存储器芯片的 温度有关。 刷新方式分为两种: 自动刷新和自刷新。 自动刷新用于正常 *** 作模式, 在自动刷新时, 其他命令 无法 *** 作。 自 刷 新 主 要 用 于 低 功 耗 状 态 下 的 数 据 保存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)