DDR SDRAM控制器数据通道的设计与实现

摘要:在DDR SDRAM控制器的设计中,数据通道的设计是提高数据传输率的关键。本文按照JESD79E标准,讨论了DDR SDRAM控制器结构,分析了DDR SDRAM的读写过程,给出了控制器的读写时序方程,利用此方程设计出了一种高速数据通道。对设计高速数据通道用EDA工具进行了综合、仿真。仿真结果显示设计出的电路可以实现参数化配置并具有良好的性能。

1 引 言

目前业界在使用存储器控制器时,通常采用 IP 核供应商提供的针对具体型号存储器IP 核[1]。这种IP 核的使用虽然可以实现快速设计的目的,但是控制器占用资源较大,不能根 据应用而改变,只能通过命令来实现灵活使用,当大量使用时需要支付高昂的IP 核使用费。 随着DDR SDRAM 的使用的日益广泛,设计专用的存储器控制器电路成为了必然。实现高 速存储器控制器的设计的关键就是存储器数据通道的设计。本文首先对存储器控制器电路进 行了功能划分,建立了读写时序模型,对高速数字电路设计中应该注意的问题进行了阐述, 根据读写时序模型设计设一种高速的存储器数据通道,最后对结果进行了分析。

2 DDR SDRAM 控制器的整体结构

存储器控制器的功能是监督控制数据从存储器输入/输出数据,并对数据的完整性进行 分析检测。控制器由六个模块构成:即命令接口模块、命令生成模块、刷新控制模块、初始 化模块、控制模块、数据通道。其中控制模块包含一个状态机,用于控制系统的命令发送、 数据传递等操作;数据通道为DDR 与主机之间提供数据接口,在读写命令发出后处理数据。 读写操作不同之处在于写操作时DDR 控制器需要产生数据选通信号DQS。在写操作时, DQS 在数据的中间变化,并且存储器发送和接收数据速率是其他部分的两倍,这就要求数 据通道中有异步电路的存在,所以速数据通道决定了整个存储系统的运行效率。

3 DDR 读写时序建模

存储器操作主要包括预充电、刷新、行激活、读写等,各个操作之间相互配合使用。直 接使用数据通道的操作是读写操作。下面利用时序逻辑方程[2]来对读写时序进行分析。

3.1 时序逻辑方程的概念

数据通道是一个时序电路,而一般的逻辑方程无法表示时序的关系,可以借用数字信号处理离散时间信号的表示方法来建模。系统使用统一的时钟,时序方程用CK(n)表达式如下:

k 表示时钟的上升沿,相应的k+0.5 就表示时钟的下降沿;CK(n)表示一个从0 开始的 值为单位1 地阶跃信号。CK(n-1)表示时钟推后一个时钟周期,CK(n-n0)-CK(n-n1)表示从第 n0 个时钟上升沿开始到第n1 个时钟上升沿结束的一个矩形信号。

3.2 读写时序建模

读写时序建模就是对读写命令与数据流动之间关系建立时序模型。DQ 是存储器与控制 器之间的双向数据总线。

(1) 读时序建模

DDR SDRAM 控制器进行读操作时,主机对存储器控制器发出读命令;控制器采样到 该命令后按照时序分别给存储器行激活、读(列)命令,按照初始化时设置的延迟时间等待 数据输出;等待指定时间以后,数据出现在DQ 总线上;再经过特定的传输路径,数据通过 DATAOUT 输出。读操作过程的时序方程如下(BL:突发长度,可选2、4、8;tRCD:行选 到列选延迟;tCAS:读数据命令到数据有效延迟):

由于在DDR 数据通道内部要进行时钟域的转换,并且根据CL(CAS Latency)的不同,需要将数据的输出调整到时钟的上升沿对齐,因此数据的输出存在延迟。设这个延迟为DL。

(2) 写时序建模

DDR SDRAM 控制器进行写操作时,主机对存储器控制器发出写命令,同时输出数据 和地址;控制器采样到该命令和数据,按照时序分别给存储器行激活、写(列)命令;再经 过一个特定的周期,数据出现在DQ 总线上。写过程的时序方程如下:

有效的写入数据是在控制器写命令发出后1±0.25 个系统时钟的时刻后出现在DQ 端。

4 高速数据通道模块设计

数据通道模块为 DDR SDRAM 和主机之间提供了数据接口。DATAOUT 为数据通道向主机发送数据端口,DATAIN 为主机向数据通道写入数据端口。

4.1 高速数据通道电路设计中应注意的问题

(1) 亚稳态特性

数据通道是个多时钟系统,这就要求数据正确地从一个时钟域传输到另一个时钟域。不 同时钟域信号传输首先遇到的是亚稳态产生同步失败问题。当数据和时钟边沿非常接近时, 由于触发器都会有建立和保持时间的要求,在这个时间窗口内,任何输入信号的变化都可能 导致输出的亚稳态。解决办法是将两个(或多个)触发器串联,用同一个时钟驱动。N 个触 发器发生错误的概率是PN,其中P 是一个触发器发生亚稳态错误的概率,标准的方法是采 用至少两个触发器(有时是三个)进行同步串联。

(2) 门延迟

对一个具有M 级的逻辑链,近似可以得到通过整个链的总延时:

公式(11)中,ti 表示每部分的延时,取决于门的类型(即非门,与非门,等等)和它 的尺寸,以及在链中到下一个门的链路上的延迟。整个链的总延迟的大小决定了电路能够运 行的速率,在设计高速数字电路时,要尽量减少两寄存器中间组合逻辑的大小。

来源:维库开发网


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子