简单谈谈SD R A M 控制器的设计方法

  • starysoul
  • LV4工程师
  • |      2015-11-10 13:00:33
  • 浏览量 513
  • 回复:2

在 基 于 FPG A 的 系 统 中 , 因 F PG A 本 身 内 部 的R A M 空间有限, 常需要与外部较大容量的高速存储器配合使用。而在各种随机存储器件中, SD R A M 的价格低廉 、 密度高、 数据读写速度快的优点 , 是比较理想的选择。但由于 SD R A M 的控制逻辑 比较 复杂、 时序要求高等特点 , 使用很不方便 , 这就要求设计一种简单易操作的软核 , 以方便开发者对 SD R A M 操作控制 。为此 ,本文 提 出一种 基 于 F PG A 的 SD R A M 控制 器 的 软核设计方法 , 实现全页突发式读写 , 从而使对 SD R A M 的快速存取操作变得非常方便 。

SD R A M 器件 的管脚 分为控制 信号、 地址 和数据3 类 。一 般情 况下 SD R A M 中包 含 2~4 个 BA N K , 每个 BA N K 的存储 单元 是按 行 和列 寻址 的。SD R A M 相

对于其他存储器件有以下几个工作特性 :
(1) 需要 配 置 SD R A M 的模式 寄 存器 以决 定着
SD R A M 的工作模式, 该工作模式 规定 了突发长度 、 突发传输方式 、 C A S 延迟时间、 运行模式等 ;(2) SD R A M 地址 线复 用 , 由行 地 址 和列 地址 共 同成一 个完 整 的访 问地 址 ;

(3) 需 要 有定 时的刷 新周 期 以避 免数 据丢失 ;

(4) 对 SD R A M 的具体控制命令 由一些专用控制引脚 完成 。C S , R A S , C A S 和 W R 在 时 钟 上 升 沿 时 的状态决定具体操作动作。

1. 2 全 页突发 式操 作
要充 分 利 用 SD R A M 的 性 能 , 提 高 读 写 SD R A M的速度 , 在进行大量 的数据存储与读取 时, 全页突发式操作是个 良好的选择。所谓的突发动作是指从 内存中连续的地 址读写有限 的数据, 在一个 SD R A M 设 备的频率周期中, 可以读写与时钟个数近似等量 的数据。操作时 B A N K 激活后可 以进行存储器访问。存储器读写命令锁存列地址, 写操作可 以单周期完成, 读操的数据在延迟 c L (c A S L atency)个周期后才输 出到总线 。随机 读单个 数 据所 需 周 期数 至 少 为 1+ C L 。 因此, 随机读操作会大大降低系统效率。虽然单指令多输出的突发读数据输出仍要延迟 C L 个周期, 但由于一次突发 最多 可 以到连 续 的整 页 存储 空 间。对 于列 宽度 为9 的 SD R A M 存储 器 , 整页输 出的总周期 数为 512 +C L 。平均单个数据所需周期 (512+ C L )/ 512 全1 对系统效率的降低几乎可 以忽略。整页访 问需要较大容量高速缓存和复杂的控制逻辑 以保持较高随机访 问命 中率 , 设计过程 中有严格 的时序要求 。
2  系统 总体 设计 框 图和 状态 转移 图
2 . 1  系统模 块 的设计
SD R A M 控 制 器 与 外 部 FP G A 主 控 制 器 及SD R A M 器件 的接口示意图由图 1 给出, 控制器左右端
接 口信号分别为与 FPG A 主控制器和 SD R A M 器件对应管脚相连 的信号 , 右端信号为 SD R A M 器件 的常用信号 , 此处不做多余介绍 。控制器左端的接 口信号为与F PG A 主控制器相连的系统控制接 口信号 , 其 中, C S 为模块使能信号 ; C LK 为系统 时钟信号 ; R E SE T — N 为复位信号 ; R E A D  N 为读信 号 ; W R IT E  N 为 写信号 ; C O N F IG N 为配 置信号 ; A C K 为系统反馈信号 ;A D D R 为 系 统 给 出 的 SD R A M 地 址 总 线 信 号;L E N G T H 为突发读写 的数据长度 ; D A T A IN 是系统用于写入 SD R A M 的数据总线信号 ; D A T A O U T 是系统于读出 SD R A M 的数据信号 ; D M 为数据掩模信号 。在 F P G A 平 台上设 计 的 SD R A M 控制 器 主要 由3 个模块组成 , 包括系统控制模块 、 刷新模块、 数据通路mo块 。
(1) 系统控制模 块检测 FP G A 主控制器产生 的控制信号, 对配置请求 、 刷新请求和读写请求进行仲裁 , 产生配置响应 、 刷新响应和读 写响应 , 进 而产生不 同的接口控制接 口命令 和存储器访 问地 址等 , 以对 SD R A M器件进行相应的操作 ;
(2) 刷新控制模 块产生周期性 的刷新 命令请 求 。该模块计数器 的值根据所用的 SD R A M 器件参数进行设定 , 根据不 同的 SD R A M 固化的不 同的值。当计数器减至 0 时 , 会产生一个刷新请求信号 R E F— R E Q , 当系统控制模块接收对该信号做 出响应并执行刷新操作后 , 该模块会接收到一个反馈信号 A C K 以启 动计数器重新开始计数;
(3) 数据通路模块则用于控制 数据的以恰 当的时序进行有 效输 入输 出。该 模块 为 F PG A 主控 制器 和SD R A M 器件之间提供 了数据通道 。当突发式写操 作状态时, 数据 由 D A T A IN 总线进 入模块 ; 当突发式读操作状态时, 由 D A T A O U T 总线输 出。

2. 2  系统状 态转 移 图

SD R A M 控制器设计的状态机 比较复杂 , 这里将状态机简化为 5 个主要的状态如 图 2 所示 : 空闲状态 、 配置状态 、 自我刷新状态 、 突发式读操作状态和突发式 写操作状态。系统上 电后 , 进入 空闲状态 。通常情况下 ,在具体操作 SD R A M 时, 首先进行初始化配置 , 即写模式寄存器 , 以便确定 SD R A M 的 C A S 潜伏期 、 突发传输模式 、 突发长度等工作模式。系统检测到 C O N FIG N信号拉低时 , 进入配置状态 , 当配置完成时 , 以 A C K 信号的形式反馈 配置完成信息 C ~gE nd , FP G A 主控制器接收到 A C K 信号后 , 拉高 CO N F IG N 信 号, 停止对SD R A M 的 配置 。

 

2. 3  系统 突发 式读 写操作 时序 设 计

系统对 SD R A M 器件 的突发式读写操 作方面 , 先讨论突发式读操作 , 当系统控制模 块检测到读命令 rC -m d 时 , 即检测到 R E A D N 信号为低 电平时 , 系统状态开始进入突发式读状态 , 先发 出 B A N K 激活命令(A C —T IV E ), 并锁存相应 的 B A N K 地址和行地址 。等待大tR CD (R A S 到 C A S 的延迟值)时钟后 , 发 出读命令 。£ C L (CA S 延迟值)时钟周期后 , 读 出数据依次出现在数据总线上。在读操作的最后 , 又等待 tR P 个时钟周期 ,向 SD R A M 发 出预充电(P R E C H A R G E )命令以关闭已经激活的页。系统突发式 读操 作的状态转移图突发 式读操作 的状 态转移 图突发式写操作要稍微简单些 , 系统控制模块检测到写命令 w C m d 时, 即检测到 W R IT E

— N 信号为低电平时 , 系统状态开始进入突发式写状态, 先发 出 BA N K 激活命令, 同时驱动写地址到总线上。等待大于 tR C D 个时钟周期后 , 发出写命令 , 同时驱动第一个写数据到数据总线 D Q 上。写操作完 以后 , 等待 tR P 个时钟周期 ,向 SD R A M 发 出预充 电命 令 以关 闭 已经激 活 的 页 。系统突发式写操作的状态转移图突发 式写 操 作 的状 态转 移 图在全页式突发式读写模式下 , 一般采用预充电结束
次 突发式读 写操 作 , 而且可 以通 过 系统 控 制模块 产生的使能信号 O E 控制数据路径模块 的数 据 的输 入/ 输出。同时 , 在设计的状态转移的过程 中, 必须仔细考虑控制信号、 数据总线和地址总线等的时序问题
3 实现 及应 用
该设计方法采用 V eril og —H D I 语言实现代码 , 已通 过 M odelSim 进 行 了 功 能 仿 真 , 并 在 A ltera 公 司的 FP G A C ycloneEP 1 C 6 Q 2 4 0 C 8 和 H IN IX 公 司 的H Y 57V 561620C SD R A M 存储 芯片上 得 到应用 , 在硬件电路上工作 良好 , 能够使用 SD R A M 作为 F PG A 的扩展 存储 空 间。在 Q uartus 1 I环 境下 编译综 合 , 仅 占用241 个逻辑 单元 。
4  结  语

硬件开发语言由于其灵活性和可移植性强等特点 ,很大程度上减少了集成电路的设计风险 , 同时也缩短了开发周期 。V eril og —H D L 由于其简单 、 直观并富有效率 , 成 为 数 字 系 统 设 计 者 的 首 选 语 言 。本 文 介 绍 的SD R A M 控制器, 基本思想是将 SD R A M 繁琐的操作简单化, 实现 SD R A M 的快速读写操作 , 很大程度上方便了 SD R A M 存储器件的使用 。


暂且就这么多吧!!


  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
闭上眼睛就是天黑 2015-11-16
楼主在干啥?
0   回复
举报
发布
Eagleson 2015-11-10
.................
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子