基于FPGA的内存控制器的设计与应用_图文_第1页
基于FPGA的内存控制器的设计与应用_图文_第2页
基于FPGA的内存控制器的设计与应用_图文_第3页
基于FPGA的内存控制器的设计与应用_图文_第4页
基于FPGA的内存控制器的设计与应用_图文_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、太原理工大学硕士学位论文基于FPGA的内存控制器的设计与应用姓名:赵冠楠申请学位级别:硕士专业:指导教师:梁凤梅20100401基于FPGA 的内存控制器的设计与应用摘 要目前,SDR SDRAM、DDR SDRAM、DDR2 SDRAM凭借其价格低廉、容量大、速度快等优点,仍然占据着高速存储设备的主要市场,广泛的应用到消费类电子产品、通信类产品和大量嵌入式系统的设计开发中。因此能够设计一款对SDR SDRAM、DDR SDRAM和DDR2 SDRAM都适合的内存控制器,为各类不同系统中的设计开发与应用提供了很大的便利,这样一款内存控制器将会具有良好的应用前景。论文在详细研究了JEDEC 组织

2、制定的SDR SDRAM、DDR SDRAM和DDR2 SDRAM内存的技术规范文档基础上,通过分析这三种内存芯片的内部功能模块、控制操作命令及工作流程,总结出一套适合这三种内存芯片的内存控制器架构,然后采用了自顶向下(TOP-DOWN )的设计方法,使用VHDL 语言完成了各功能模块的RTL 级的逻辑描述,通过综合仿真对设计进行了功能验证。最后通过Xilinx 的Spartan3 FPGA完成了SDR SDRAM、DDR SDRAM、DDR2 SDRAM内存控制器的硬件验证及其在CMOS 图像采集系统上的应用研究。论文研究重点包括以下几个方面:(一 对适用于SDR SDRAM、DDR SDR

3、AM和DDR2 SDRAM的结构、接口和时序进行了深入研究与分析,总结出内存控制器设计中的关键技术特性。(二 各内存控制器的结构划分:由时钟产生模块、控制命令模块、指令译码模块和数据通道模块组成,对各模块的结构及实现方法进行了分析和设计。(三 采用自顶向下(TOP-DOWN )的设计方法,使用VHDL 语言完成了各功能模块的RTL 级设计。(四 使用Modelsim 软件进行功能仿真和Synplify Pro软件进行逻辑综合优化。(五 构建了基于Xilinx 的Spartan3 FPGA的各内存控制器的硬件仿真平台,完成了对内存控制器的仿真验证。(六 完成了内存控制器在CMOS 图像采集系统的

4、应用研究。本论文完整论述了适合于SDR/DDR/DDR2 SDRAM内存的内存控制器的设计原理和具体实现。本文设计的控制器既实现了控制端口操作简单,又能满足对三种不同内存(SDR SDRAM、DDR SDRAM和DDR2 SDRAM)的控制,具有适用性广、实用性强的特点。从在CMOS 图像采集系统中的应用中的结果来看,本内存控制器在结构和软硬件设计方面均满足了工程实际要求。关键词:SDR SDRAM,DDR SDRAM,DDR2 SDRAM,控制器,FPGADESIGN AND APPLICATION OF MEMORY CONTROLLERBASED ON FPGAABSTRACTCurre

5、ntly, SDR SDRAM, DDR SDRAM and DDR2 SDRAM still occupy the main market of high-speed storage devices, and they have been widely used in consumer electronic products,communication products and embedded systems due to great advantages,such as inexpensive price, big capacity and high speed.Therefore if

6、 a memory controller suitable to SDR SDRAM, DDR SDRAM and DDR2 SDRAM is made to greatly facilitate design application development and application in different systems, it will have great utility.Based on the study of technical document about SDR SDRAM、DDR SDRA and DDR2 SDRAM formulated by JEDEC, thi

7、s paper concluded a set of infrastructure for the three memory controllers above by analyzing their internal modules, operation commands and workflow. Through the TOP-DOWN design method, it also realized logical descriptions for each function module in VHDL, and verified each function by synthetic s

8、imulation. Then by using Xilinxs Spartan3 FPGA, hardware verification for SDR SDRAM,DDR SDRAM and DDR2 SDRAM as well as application research in an CMOS image capture system is achieved.The key points in this paper contain several aspects as follows:1. The crucial technologies of the memory controlle

9、rs such as Structure,Interface andTiming are explored,and research on the Key technical features inside SDR, DDR and DDR2 controller。2. The structure of the general-purpose memory controller divided in terms of clock generation module, control module, command module, instruction decoding module and

10、data path module, as well as the analysis and design for the structure and implementation of each module.3. Using a TOP-DOWN design method and the RTL design accomplishment for each module in VHDL.4. The function simulation by Modelsim as well as the synthesized and logical optimization under Synpli

11、fy Pro.5. The structure of a hardware simulation platform for each memory controller based on Spartan-3 FPGA of Xilinx corporation and the accomplishment of simulation verification for memory controllers.6. The accomplishment of application research on memory controller in an CMOS image capture syst

12、em.This thesis fully discussed the design principle and implementation of memory controllers suitable to SDR SDRAM、DDR SDRAM and DDR2 SDRAM .Memory Controllers in this paper not only easy to operate, but also favor memory control mainly referring to SDR SDRAM,DDR SDRAM and DDR2 SDRAM control with th

13、e characteristics of applicability andpracticability. In view of the result from an image acquisition system, the structure of this memory controller as well as its design can both fulfill the practical engineering requirement.KEY WORDS: SDR SDRAM, DDR SDRAM, DDR2 SDRAM, controller,FPGA第一章 绪 论本章介绍了课

14、题的研究背景、研究内容、研究意义及论文的主要结构。介绍了DRAM 内存的发展,SDR/DDR/DDR2 SDRAM的技术特点及其内存控制器的发展。并阐述了所设计的内存控制器的技术特点及主要研究工作。1.1 课题研究背景近年来随着数字化系统中处理器的性能成倍提高、数据通道带宽和存储数据量的不断增加,使得内部储存器成为决定整个系统性能的关键因素之一。相对于硬盘、软盘、磁带等磁性存储器,CD/VCD/DVD等光学存储器和MD 磁光存储器而言,半导体存储器以其速度快、体积小、容量大、耐用性、高性价比等优点已成为包括计算机在内的各类电子产品中存储器的主流1。半导体存储器芯片按存取方式可分为随机存取存储器

15、芯片(RAM )和只读存储器芯片(ROM )。按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM )和动态随机存储器(Dynamic RAM,DRAM )。SRAM 是目前读写最快的存储设备,但是它由于造价昂贵只在要求很苛刻的地方使用,比如CPU 的一级Cache ,二级Cache 中。DRAM 由于容量大、价格便宜、速度快,常常作为系统内存来用。根据组成元件的不同,RAM 可以分为许多类型,SDRAM (Synchronous Dynamic RAM,同步动态随机存储器)就是其中的一种。这里的“同步”是指SDRAM 工作时需要依靠同步时钟来协调,内部命令的发送

16、和数据的传输都以同步时钟为基准;“动态”是指存储阵列需要不断的刷新来保证数据不丢失;“随机”是指数据不是线性依次存储,而是通过地址对指定单元进行数据的读写。SDRAM 具有价格低廉、密度高、数据读写速度快的优点,从而成为使用最广泛的高速、高容量存储器。SDRAM 的发展经历了SDR SDRAM、DDR SDRAM、DDR2 SDRAM和DDR3 SDRAM 1四个阶段。SDR SDRAM采用单端(Single-Ended )时钟信号,在每一个时钟周期对数据进行采样,工作速度与系统时钟同步。DDR SDRAM、DDR2 SDRAM、DDR3SDRAM 是在SDR SDRAM的基础上不断改进而来的

17、。它们最大的特点就是使用一对差分时钟信号CLK 和CLK#,在CLK 的上升沿和下降沿触发传输数据,CLK#只负责对CLK 进行校准。这样,在相同的系统时钟下,它们的数据传输率就比SDR 的数据传输率扩大一倍。SDR SDRAM与系统时钟同步,读写速度超过了100MHz ,存储时间达到5.8ns ,支持高速总线时钟频率,在大容量数据存储中得到了广泛的应用。SDRAM 的同步接口和存储阵列全部为Pipeline 的内部结构,使它具有非常高的数据传输率。SDRAM 采用了多体(bank )存储器结构和突发模式,能传输一整块而不是一段数据。每一个bank 通过行列来寻址。bank 的数量以及行列地址

18、的位数主要取决于存储器的容量。与Pentium 芯片采用66MHz 、100MHz 和133MHz 系统外频相对应,SDRAM 有PC66、PC100、PC133、PC150、PC166等几种规格。DDR SDRAM(Dual Date Rate SDRAM)即双倍速率同步动态随机存储器。相对于SDRAM 在一个时钟周期内只在时钟的上升期传输一次数据,DDR 内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR 内存可以在与SDRAM 相同的总线频率下达到更高的数据传输率。与SDRAM 相比,DDR 运用了更先进的同步电路

19、,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与处理器时钟的完全同步。DDR 使用了DLL (Delay Locked Loop ,延时锁定回路提供数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDL 本质上不需要提高时钟频率就能加倍提高DDR 的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDR SDRAM的两倍。另外DDR 还采用了2位预取(2-bit prefetch),也就是2:1的数据预取,2bit 预取架构允许内部的队列(column )工作频率仅仅为外部数据传输

20、频率的一半。在SDRAM 中数据传输率完全参考时钟信号,因此数据传输率和时钟频率一样。DDR 内存是在SDRAM 内存基础上发展而来的,仍然沿用SDRAM 生产体系,因此对于内存厂商而言,只需对制造普通SDRAM 的设备稍加改进,即可实现DDR 内存的生产,可有效的降低成本。DDR2 SDRAM其基本结构和DDR SDRAM类似,而DDR2内存的1.8V 工作电压使得它可以比DDR SDRAM的功耗整整低50。由于DDR2采用了4位预读取的设计,在同一核心频率,DDR2的实际工作频率是DDR 的两倍。另外DDR2融入CAS 、OCD 、ODT 等新性能指标和中断指令提升了内存带宽的整体利用率。

21、例如利用DDR2的ODT (On Die Termination ,内建终结电阻)信号终端器来简化DQS (数据选通)总线设计。在DDR2 SDRAM 中,终端寄存器就实现在该DDR2芯片之中,内存控制器可以为每个信号设定终端寄存器的开或关,这些信号包括数据信号、数据选通信号和写数据屏蔽信号。利用ODT 能降低多重反射,提高信号完整性并增加时序余量。一般情况下,工作频率越高,信号反射的现象就越严重,终结寄存器就是用来解决这个问题的,它可以有效的吸收末端信号,防止数据的反射。DDR2内存直接将终结器整合在内存芯片中,以内部逻辑的形态存在。如果多条内存模组一起工作,系统可以自动控制每一条内存模组中

22、ODT 功能的开启或关闭,这样我们就不必担忧信号会在第一条模组中就被终结掉,而在后续模组中无法生效的问题。同时DDR2 SDRAM还引入了命令的无缝突发,并采用FBGA (球栅阵列)封装形式降低功耗。无缝突发使得写命令能够被插到激活命令后面的一个时钟周期,提高了内存的利用率。因此DDR2内存具有更高的速度,更高的带宽,同时功耗得以降低,散热性较好。关于SDRAM 架构的演进如表1-1所示。内存是影响处理器性能的重要因素,它的数据传输率的提升对提高处理器性能有积极作用。由于内存不能直接识别处理器的访存请求,内存控制器负责完成处理器对内存的控制操作。内存控制器是按照一定的时序规则对存储器的访问进行

23、必要控制的设备,包括地址信号、数据信号以及各种命令信号的控制,使处理器能够根据自己的要求使用存储器里的存储资源。内存控制器决定了计算机系统所能使用的最大内存容量、存储体数目、内存类型和速度、内存颗粒的数据深度和数据宽度等重要参数。也就是说,内存控制器决定了计算机系统的主存访问的性能,从而也对计算机体统的整体性能产生较大影响。从最初电子元件工业联合会JEDEC (Joint Electron Device Engineering Council)和Intel 联合开发SDR SDRAM的内存技术规范标准PC1002,接着JEDEC 组织在2005年开发了DDR SDRAM内存技术规范标准JESD

24、79E 3,2006年JEDEC 组织开发了DDR SDRAM内存技术规范标准JESD79-2C 4。表1-1 SDRAM架构的演进 自JEDEC 制定了SDRAM 内存与SDRAM 内存部件的规范,并且为内存部件生产商们提供了内存的设计参考书,SDR/DDR/DDR2 SDRAM便迅速占领了存储器市场的主流地位,相应的各种内存控制器方案也越来越多的被应用在不同的应用领域。在计算机领域,INTEL 的Core 、Pentium 、Celeron 系列处理器都将内存控制器集成在主板上北桥芯片内部的MCH (Memory Controller Hub)存储器控制中心,处理器通过前端总线和北桥芯片来

25、读、写物理存储器中的数据。在Nehalem 架构处理器上,INTEL 公司将整合内存控制器集成在处理器中,基于Nehalem 架构的Core i7处理器整合了最高支持DDR3的内存控制器。而早在AMD K8系列CPU 中,内存控制器就被整合在CPU 内部,处理器和内存的数据经过内存控制器的传输转发的数据传输效率更高,比内存控制器集成在北桥芯片中具有更低的数据延迟。AMD Optero处理器内核实际上集成了单通道128bits 的DDR 内存控制单元,Athlon 64处理器内核集成了单通道64bits 的DDR 内存控制单元。目前流行的DDR SDRAM和DDR2 SDRAM,正在不断发展的D

26、DR3 SDRAM ,还有QDR 、RAMBUS 存储器等等,与它们对应就有各自匹配的内存控制器。随着对存储性能要求的不断提高,存储器的容量越来越大、速度越来越快,新的存储器访问技术也应运而生,内存控制器也在不断的改进与发展。1.2 课题研究工作本课题主要研究SDR SDRAM、DDR SDRAM和DDR2 SDRAM内存控制器的设计实现。具体工作如下:1. 通过认真研读JEDEC 组织的SDR/DDR/DDR2内存芯片的技术规范文档,熟悉了各内存的内部结构、技术原理及其相关的工作时序。对比在设计中使用的三款内存芯片HY57V281620HCT 、HY5DU56822AT 和HY5PS1282

27、3(L )F 的数据手册,总结出SDR/DDR/DDR2中比较重要的几个参数的含义及其作用,为设计内存控制器做出了准备工作。2. 总结了内存控制器设计中的关键技术,提出了一种适合SDR/DDR/DDR2的内存控制器的设计方案,才用了自顶向下的设计方法对设计方案进行功能划分,并使用VHDL 语言实现了内存控制器各模块的RTL 级的设计。3. 对设计的内存控制器进行了功能仿真,在完成了内存控制器的验证基础上,在实际的电路板上进行内存控制器的验证与调试,总结出PCB 设计中布线及内存控制器调试中的需要注意的关键问题。4. 把SDR SDRAM和DDR/DDR2 SDRAM内存控制器应用到了CMOS

28、图像采集系统中。目前已经完成SDR SDRAM和DDR SDRAM的应用研究工作,已开始着手准备DDR2 SDRAM内存控制器的应用研究。1.3 论文结构论文的结构安排:第一章 绪论。 综合介绍了本论文的研究背景、意义及研究工作,介绍SDRAM 及其控制器的发展历程。第二章 内存控制器设计的关键技术。 深入研究了SDR SDRAM和DDR/DDR2 SDRAM 存储器的结构、工作原理及设计中的关键技术,通过分析SDR SDRAM和DDR/DDR2 SDRAM芯片的内部结构、工作过程各操作信号的时序关系,提出了内存控制器设计的功能模块。第三章 内存控制器的设计与实现。 详细论述了各内存控制器模块

29、划分,根据提出的设计层次结构,用VHDL 硬件描述语言实现了各部分的设计。第四章 内存控制器设计的仿真及调试。 完成了所设计的各内存控制器的仿真验证过程,并对仿真结果进行了分析。然后用Synplify Pro进行了逻辑优化,分析了PCB 板上布局布线和调试的关键问题。第五章 内存控制器在CMOS 图像采集系统中的应用。 完成了内存控制器在CMOS 图像采集系统中帧率提升模块的应用,通过应用对内存控制器的设计进行验证。第六章 总结与展望。 总结了设计中的不足和需要进一步完成和改进的地方。第二章 内存控制器设计的关键技术本章介绍了SDR/DDR/DDR2 SDRAM各内存芯片的内部结构及其接口信号

30、说明,提出了一种通用的内存控制器设计模型,在此基础上构建了内存控制器系统的行为级模型。经过对内存控制器的设计重点进行详细分析和研究,总结出内存控制器设计中的关键技术。2.1 内存芯片的内部结构及其接口信号说明SDRAM (synchronous Dynamic Random Access Memory,同步动态随机存储器)内存芯片内部是一个如同表格一样的存储阵列,如图1-1所示。和表格的检索原理一样,先指定一个行(Row ),再指定一个列(Column ),就可以准确地找到所需要的单元格,这就是SDRAM 的基本寻址原理5。对于内存存储器来讲,这个单元格可称为存储单元。列地址(Column )

31、 行地址(Row图中黑点表示ROW 为8,Colunm 为9的存储单元图2-1 SDRAM 存储阵列示意图Fig. 2-1 SDRAM memory array diagram图1-1中这个表格(存储阵列)就是逻辑Bank (Logical Bank,简称L-Bank )。由于技术、成本等原因,在内存芯片中不可能只做一个全容量的L-Bank 。而且重要的是,由于SDRAM 的工作原理限制,单一的L-Bank 将会造成严重的寻址冲突,大幅降低内存效率。所以在SDRAM 内部存储空间被分割成了多个L-Bank 。其中SDR SDRAM是2个或者4个,DDR SDRAM都是4个,DDR2 SDRAM

32、的L-Bank 的数量则为4个或8个。内存芯片的容量就是所有L-Bank 中的存储单元的容量总和。即内存芯片的存储单元数量为:存储单元数量为行数乘以列数(得到一个L-Bank 的存储单元数量)再乘以L-Bank 的数量。在内存的存储空间中,L-Bank 中的存储单元是基本的存储单位. 它的容量是若干bit ,它的容量对应芯片的位宽。而每个bit 则是存放于单独的存储体中,存储体是内存中最小的存储单位。如图2-2为SDRAM 的存储原理示意图。 图2-2 SDRAM 存储原理示意图Fig. 2-2 SDRAM memory theory diagram从图2-2中可以看到行选(行地址线)与列选(

33、列地址线)信号将存储单元与外界的数据传输电路(DQ )导通。图2-2中的虚框为存储单元的内部结构图,行选和列选信号控制存储电容的放电与充电从而可以进行数据读取与数据写入。图2-2中的存储电容是由一个晶体管构成的。由于晶体管无法避免的要存在源、漏的漏电流,随着存储电荷的流失,电容将无法保持原来的电位值。这将引起存储单元存储内容出错导致数据的丢失,所以需要定时将存储电容的电压值读出来,放大电压之后回写进去,这就是其中刷新放大电路的作用。目前存储单元中刷新放大器的功能被并入功耗更低的读出放大器(Sense Amplifier,简称S-AMP )。由于各内存制造商生产的内存芯片规格上有所不同,本节使用

34、JEDEC 组织的内存芯片的技术规范文档所定义的功能结构2,3,4,来具体研究SDR/DDR/DDR2 SDRAM的引脚定义和内部结构。(一 S DR SDRAM 引脚定义和内部结构SDR SDRAM芯片的接口信号定义描述如表2-1所示。表2-1 SDRAM接口信号 Table 2-1 Interface Signals of SDRAM名称CLKCKECS#、RAS#、CAS#、WEBA0,BA1A0A11DQ0DQ15UDQM,LDQMVDD/VSS/VDDQ/VSSQ 类型 输入 输入 输入 定义 时钟输入 时钟使能 片选、行选、列选、写使能 输入选择 输入 输入输出输入 输入 地址输入

35、 数据输入输出 数据掩码 电源,地下面对内存芯片的接口信号2进行说明:CLK :系统时钟输入,SDRAM 上输入均采样于CLK 的上升沿。CKE :高电平时时钟有效。低电平时时钟无效,此时SDRSDRAM 进人掉电、挂起或自刷新模式。CS#:芯片选择信号,使能或关闭所有输入(除CLK, CKE, UDQM和LDQM ),低电平使能命令解码器,高电平禁止命令解码器。RAS#、CAS#、WE#:当在时钟上升沿采样时,三者定义SDRAM 将执行何种操作。 BA0-BA1:当行选命令有效时,选择哪个Bank 激活。当列选命令有效时,选择哪个Bank 进行读/写。A0-A11:地址输入信号,在 ACTI

36、VE 命令中提供行地址,在READ/WRITE命令中提供列地址。在PRECHARGE 命令中A10被采样,当A10逻辑电平为低时,则PRECHARGE 操作只应用于一个Bank (BA1-BA0来选择Bank ),高电平则应用于所有的Bank 。其中,行地址:RA0 RA11,列地址:A0 CA8,自动刷新标志位:A10。DQ0-DQ15:数据输入输出,双向数据总线。 SDR SDRAM的内部功能模块描述2如图2-3所示。 图2-3 SDR SDRAM内部功能模块Fig. 2-3 SDR SDRAM funcational block diagram从图2-3中可以看到SDR SDRAM内存的

37、内部功能模块主要包括有逻辑控制单元(状态机)、自刷新控制模块、行地址和列地址解码器、模式寄存器、数据输出控制单元、存储阵列等模块。模块为逻辑控制模块。时钟信号与控制信号CLK 、CKE ,命令控制信号CS#、RAS#、CAS#、WE#,数据掩码信号UDQM 和LDQM 信号和BANK 选择信号输入的逻辑控制单元。这个模块为输入信号的编码状态机,主要通过对CKE 、CS#、RAS#、CAS#、WE#这五个控制信号进行编码产生SDR SDRAM的内部操作命令,来进行对存储阵列的行、列选取和产生自刷新命令。模块为自刷新控制模块。它由刷新定时器和刷新计数器组成。刷新定时器用来产生一个定时的刷新信号对存

38、储阵列进行自刷新操作,保证存储阵列内部数据的稳定性。刷新计数器用来控制定时器每隔相同时间发出刷新命令,这个命令可以由SDR SDRAM内部自动生成,也可以由内存控制器发送相关命令来生成。模块是行地址和列地址解码器。把逻辑控制模块发送的行有效、列有效和地址寄存器发送的地址信号进行解码,来选取存储阵列中的数据进行操作。模块是模式寄存器。用来在内存芯片的初始化过程中,配置芯片的寄存器模式设置。模块是数据输出控制单元。用来发出控制信号来控制数据的传输。模块是内存的存储整列。它是整个内存存储器的主体电路,存储了SDR SDRAM需要存储的所有数据。存储阵列内部包括了L-Bank 和读出放大器(S-AMP

39、 )。当BANK 中存储的数据通过行列选择信号被选中之后,经过读出放大器读出,并锁存起来。由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效的识别性,这个放大/驱动的工作由读出放大器(S-AMP )负责,其中一个存储体对应一个S-AMP 通道。但S-AMP 要有一个准备时间才能保证信号的发送强度,因此从数据I/O总线上有数据输出之前的一个时钟上升沿开始(此时数据即已传向S-AMP ,也就是说数据已经被触发),经过一定的驱动时间,到最终传向数据I/O总线进行输出,这段时间称之为tAC (Access-Time-from-CLK ,时钟触发后的访问时间)。tAC 的单位是

40、ns ,对于不同的频率有不同的明确规定,tAC 过大会导致访问时过长而使效率降低。比如PC133的时钟周期为7.5ns ,tAC 则是5.4ns 。需要强调的是,每个数据在读取时都有tAC ,包括在连续读取中,只是在进行第一个数据传输的同时就开始了第二个数据的tAC 。(二 D DR SDRAM 引脚定义和内部结构 DDR SDRAM内存芯片的接口信号3说明:对比表2-1的接口信号描述,DDR 由于使用了SSTL 接口标准和DQS 技术,只是比表2-1中的接口信号多增加了CLK#、VREF 和DQS 三个接口信号,这里只作叙述,不再以列表显示。它们的功能描述分别为:CLK#:与原有CLK 时钟

41、信号组成一组差分信号,由于数据是在CK 的上下沿触发,造成传输周期缩短了一半。为保证传输周期的稳定以确保数据的正确传输和CK 的上下沿间距的精确控制,引入/CLK信号起到触发时钟校准的作用。VREF :VREF 接口(参考电压),VREF 接口电压为SSTL 接口标准提供参考电压。DQS :DQS 接口(数据选通信号),它是双向的数据同步信号。当数据读取时,数据在DQS 的稳态(高电平或者低电平的中央位置)被锁存;当数据写入时,数据在DQS 的边沿被触发。DDR SDRAM的内部功能模块3描述如图2-4所示。 器图2-4 DDR SDRAM内部功能模块Fig. 2-4 DDR SDRAM fu

42、ncational block diagram从图2-4中可以看到DDR SDRAM的内部功能模块和SDR SDRAM基本上是一样的,这是因为DDR SDRAM 是在SDRAM 的内部架构上发展而来的。除了新增的功能外,DDR SDRAM和SDRAM 的存储数据模块、选通读取模块和控制命令编码解码等基本模块都是相同的,下面只介绍DDR SDRAM内部结构中新增模块的主要功能。模块是2位预取模块。包括2位预取单元写数据寄存器和2位预取的读通道两部分。2位预取单元写数据寄存器为内存在写数据的时候进行2位预取写,即存储阵列L-Bank 一次可以写入两倍于芯片位宽的数据量,DQ 写入的数据先存入寄存器

43、再由寄存器写入L-Bank 中。2位预取的读通道为内存读数据时进行2位预取读数据,即存储阵列L-Bank 一次可以读出两倍于芯片位宽的数据量。这两个部分组成的预取模块可以使L-Bank 一次存取两倍于芯片位宽的数据。模块是DLL 模块。用于产生延迟锁定回路,修正内部时钟与外部时钟的同步。DDR SDRAM 有两个时钟,外部的总线时钟和内部的工作时钟,理论上DDR SDRAM这两个时钟应该是同步的,但由于种种原因使两者很难同步。由于DDR SDRAM的tAC 是因为内部时钟与外部时钟有偏差而引起的,它很可能造成因数据不同步而产生错误。实际上不同步就是一种正/负延迟,如果延迟不可避免,那么若是设定

44、一个延迟值,那么内外时钟的上升与下降沿还是同步的。鉴于外部时钟周期也不会完全统一,所以需要根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是DLL (Delay Lock Loop)所要完成的工作。模块是数据选通信号模块。用于接收/发送DQS 信号,DQS 在输入缓冲和输出缓冲中作为数据的选通信号进行控制数据的读写。(三 D DR2 SDRAM 引脚定义和内部结构 DDR2 SDRAM内存芯片的接口信号4说明:DDR2比DDR 多了一个ODT 接口和可选的一组差分RDQS ,RDQS#接口。 ODT (On-Die Termination):输入接口,让信号在电路的终端被吸收掉,

45、而不会在电路上形成反射进而影响接收端的信号品质。在DDR SDRAM应用电路上,控制与数据信号的终结都在主板上完成,每块DDR 主板在DIMM 槽的旁边都会有一排终结电阻。长期以来信号终结电路一直是DDR 主板设计上的一个难点。而ODT 的出现,将终结电阻移植到了芯片内部,从而简化了DDR2主板设计。内存芯片通过下达EMRS 命令(Extended Mode Register Set),打开/关闭ODT, 或者是更改终结电阻的阻值。RDQS ,RDQS#:仅用于64M*8规格的DDR2 SDRAM内存芯片的冗余数据选通,在EMR 寄存器中设置RDQS 使能还是禁止。当使能的时候,RDQS 仅作

46、为读数据的输出且在写数据的时候被忽略。RDQS#仅在差分数据选通模式被使能后配合RDQS 使用。DDR2 SDRAM内存的内部功能模块4描述如图2-5所示。从图2-5中可以看DDR2和DDR 的结构除了模块是完全相同的。模块的作用是由逻辑控制单元(状态机)产生的ODT 控制信号对内存的ODT 控制进行参数设置。DLL clkOCD 控制图2-5 DDR2内部功能模块Fig. 2-5 DDR2 funcational block diagram2.2 SDR SDRAM和DDR/DDR2 SDRAM的功能描述在本节中的功能描述部分主要参考了JEDEC 组织发布的关于SDR SDRAM和DDR/D

47、DR2 SDRAM的技术规范标准2,3,4,通过研究技术规范标准中的工作流程,使设计出的内存控制器在其它规格的内存芯片中都能够很好的适用。SDR SDRAM和DDR/DDR2 SDRAM的上电和初始化过程都必须严格按照预定义的时序进行操作,以确保芯片能进入正常的工作状态。SDR/DDR/DDR2 SDRAM的初始化过程不完全相同,其中SDR SDRAM初始化过程6为:1. 系统上电后,保持200us 等待电源和时钟稳定。 2. 对器件的所有Bank 发预冲命令(Precharge ALL)。 3. 发出八个自动刷新命令(AutoRefresh )。4. 执行配置模式寄存器命令来设置器件的工作模

48、式。 5. 初始化过程结束,可以进行正常读写访问。DDR2和DDR 的初始化过程7,8,9大体是相同的,只需要在DDR2的初始化过程中省略配置扩展模式寄存器(2)和(3)和OCD 阻抗的调整就可以完成DDR 的初始化7,8。具体步骤如下:1. 系统上电后,保持CKE 为低电平,等待电源和时钟信号稳定。2. 当电源和时钟信号稳定至少200us ,使用NOP/Deselect操作同时拉高使能信号CKE 。3. 等待至少400us 后对所有Bank 发预冲命令(Precharge ALL),在这期间需要发布NOP/Deselect操作。4. 执行配置扩展模式寄存器(2)设置命令。 5. 执行配置扩展

49、模式寄存器(3)设置命令。6. 执行配置扩展模式寄存器命令使能延时锁定环路(DLL )。 7. 执行配置模式寄存器命令复位延时锁定环路。 8. 执行对所有Bank 发预冲命令(Precharge ALL)。 9. 执行至少两次刷新命令(Refresh )。SDR SDRAM和DDR/DDR2 SDRAM 在初始化过程中都要对寄存器进行模式设置。不同点在于,SDR 只进行寄存器模式设置(MR )11。DDR 分别进行寄存器模式设置(MR )和扩展寄存器模式设置(EMR )12,13。DDR2要进行扩展寄存器模式设置2(EMR2)、扩展寄存器模式设置3(EMR3)、扩展寄存器模式设置(EMR )和

50、寄存器模式设置(MR )14。模式寄存器设置是通过命令中的地址位BA0和BAl 来选择要设置的模式寄存器(MRS )和扩展模式寄存器(EMRS )。寄存器模式选择描述如表2-2所示。表2-2 寄存器模式选择 Table 2-2 Mode Register Set寄存器模式选择模式寄存器设置 扩展模式寄存器1 设置 扩展模式寄存器2设置 扩展模式寄存器3设置寄存器模式设置(Mode Register Setting)模式寄存器中的数据用于控制SDR 和DDR/DDR2的不同操作模式,如图2-6所示。模式寄存器的设置包括CAS 延迟(CAS Latency)、突发长度(Burst Length)、

51、突发顺序(Burst Type)、测试模式、DLL 复位、写恢复WR (Write Recovery)、电源关闭PD (Power down )等各选项。模式寄存器没有默认值,因此必须在加电之后写入。当所有存储器处于预加电状态时,通过将CS#、RAS#、CAS#、WE#、BA0、BAl 置低来发布模式寄存器设定命令,操作数通过地址脚A0A13同步送出来配置模式寄存器命令改变。模式寄存器依照功能被划分为不同的字段,A0A2用来设定突发长度是1、2、4、8还是全页。A3定义了突发地址顺序是顺序式还是插入式。其中DDR 不支持全页和1的突发长度,DDR2不支持全页、1和2的突发长度。一次突发的访问顺

52、序由突发长度、突发类型及起始列地址来决定。A4A6定义了CAS 延迟,其中DDR2不支持半时钟延迟。A7设定测试模式,其中SDR 不支持测试模式,该模式为制造商做测试芯片性能使用,一般情况下不需要对此位进行设置。A8设定DLL 复位,SDR 没有DLL 复位功能。需要注意的是,当DDR/DDR2 SDRAM的DLL RESET功能被使能后,20个时钟周期后才能发布 READ命令。由于DLL 用于内部时钟和外部时钟的同步,如果没有等到同步的出现,会导致tAC 或tDQSCK 参数的冲突。A9A11定义了写恢复时间WR 。其中WR 的时钟周期数WRcycles=tWR(ns )/tCK(ns )。

53、自动预加电后写恢复时间的最小值WRmin 由tCKmax 决定,最大值WRmax 由tCKmin 决定,模式寄存器必须把WR 配置为WRcycles=tWR(ns )/tCK(ns )算出来的值,它的取值可以为2、3、4、5和6。A12定义了电源关闭模式,其中SDR 和DDR 不支持此模式。A13为保留位,是为未来使用保留的,设置模式寄存器时必须设为03,4,14。图2-6 模式寄存器设置(MRS )Fig. 2-6 Mode Register Set扩展寄存器模式设置(EMR )扩展模式寄存器(EMR )控制模式寄存器控制功能以外的功能,这些额外的功能包括DLL 使能、输出驱动强度、片内(O

54、DT )(Rtt )、附加潜伏期、片外驱动校调(OCD )、DQS/DQS#使能、RDQS/RDQS#使能和输出使能14。扩展模式寄存器依照功能被划分为不同的字段,见图2-7。 图2-7 扩展模式寄存器设置(EMRS )Fig. 2-7 Extended Mode Register SetA. 离线驱动(OCD )阻抗调整OCD (Off-Chip Driver)的原理是通过调整I/O接口的电压(驱动强度),来补偿上拉与下拉电阻值,目的是让DQS 与DQ 之间的时间偏差降至最小,进而提高信号的完整性。由于在一般情况下电子设备对应用环境稳定度要求并不太高,DDR2的差分DQS 就基本可以保证同步

55、的准确性,因此OCD 功能主要应用在对环境稳定度要求高的地方,如服务器领域15。OCD 阻抗调整保证DDR2 SDRAM的所有DQ 端输出阻抗为相同的驱动强度。当寄存器处于OCD 模式时不能进行其他操作,否则必须先退出OCD 模式4。OCD 设置流程图如图2-8所示。图2-8 离线驱动(OCD )模式流程图 Fig. 2-8 OCD impedance adjustmentblock diagramB. 内建终结电阻(ODT )ODT (On-Die Termination)的作用是让信号在电路的终端被吸收掉,而不会在电路上形成反射进而影响接收端的信号品质,提高了信号完整性并增加了时序余量。在

56、扩展寄存器模式设置中,可以通过A2和A6位的值来设定ODT 的终端电阻值为50欧姆、 75欧姆、150欧姆或不配置ODT 。芯片通过EMRS (Extended Mode Register Set),打开/关闭ODT ,或者是更改终结电阻的阻值。其中,ODT 所终结的信号包括DQS 、DQ 、DM 4,16。C. Posted CAS 、AL 、WLPosted CAS:前置CAS ,是为了解决DDR 内存中指令冲突而设计的功能。它允许CAS 信号紧随RAS 发送,相对于以往的DDR 等于将CAS 前置了。这样,地址线可以立刻空出来,便于后面的行有效命令发出,避免造成命令冲突而被迫延后的情况发

57、生。在没有前置CAS 功能时,对其他L-Bank 的寻址操作可能会因当前行的CAS 命令占用地址线而延后,并使数据I/O总线出现空闲。当使用前置CAS 后,消除了命令冲突并使数据I/O总线的利用率提高。DDR2引入Posted CAS以后,真正的读/写操作并没有因此而提前,仍要保证有足够的延迟/潜伏期,为此,DDR2引入了附加潜伏期的概念(AL ,Additive Latency)。CAS 命令被提前的周期数,与CL 一样,单位为时钟周期数。AL+CL被定义为读取潜伏期(RL ,Read Latency)。此外,DDR2还对写入潜伏期(WL ,Write Latency )制定了标准,WL 是

58、指从写入命令发出到第一笔数据被写入的潜伏期。按规定,WL=RL-1,即AL+CL-14,16。另外,EMRS 的操作中还包括了打开/关闭DDR2 SDRAM控制管脚各个DQ 、DQS 和DM (数据屏蔽)端,其特点是允许内存控制器能够独立的打开/关闭终结电阻,提高了信号的完整性。扩展寄存器模式设置2(EMR2)扩展模式寄存器2(EMR2)定义了与刷新有关的参数。扩展模式寄存器2没有默认值,所以必须在上电之后写入。扩展模式寄存器2依照功能被划分为不同的字段,如图2-9所示。扩展模式寄存器2中A0A2定义了局部自刷新(Partial Array Self Refresh)的相关参数。通过设置局部自刷新的参数,DDR2内存芯片可以选择只刷新部分逻辑Bank ,而不是全部刷新,从而最大限度的减少因自刷新产生的电力消耗。如果在配置扩展模式寄存器2时,A0A2没有被设置参数,那么寄存器会自动把A0A2设置为000。A3数据位定义了DCC (Duty-Cycle c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论