DDR(一)

P-Bank:计算机早期的一个概念。目的:匹配内存芯片和CPU芯片的数据总线的宽度。方法:并联多个内存模块。

L-Bank:对内部存储阵列的分割,避免寻址冲突,提高内存效率。通过ba信号选择bank,每次只能有一个L-Bank工作。

L-Bank中的存储单元是内存中的基本存储单元,每次地址匹配之后,便取出一个存储单元,它的数据位宽就是内存的数据位宽。

一个存储单元由若干bit组成,每个bit都存放在一个单独的存储体中。

一个内存芯片的容量,存储单元数量=行数×列数×L-Bank的数量。

常用的信号线:CLK,CKE,CS,RAS,CAS,WE,A0-A11,BA0-BA1

行有效:Active,进行片选和L-Bank的定址。

列寻址:列地址信号和读写命令同时发出。

读写命令与行有效命令必须有一个间隔:tRCD(RAS至CAS延迟),以时钟个数来表示。

在数据读取过程中,从读取命令发出到第一笔数据出现在数据线上,这个时间:CAS潜伏期(CAS Latency),也叫做read Latency。

这部分时间又由两部分组成,CAS命令到数据在晶体管中被触发的时间:造成一个时钟延时。

数据被触发到S-AMP驱动到数据总线:tAC。

读数据之后,会对数据进行重写,这部分时间与数据的输出同步,不会造成重写延时。

数据写入操作:由于存储电容的预充电需要一定的时间,所以在写入操作中,会留出一个写入矫正时间:tWR(Write Recovery Time)

保证数据被正确的写入。

Burst传输,减少数据传输过程中的控制资源的消耗。可以设置为2/4/8的Burst Length。具体的长度根据应用需要的数据量来确定。

预充电命令和专用的突发传输终止命令,都可以用来中断BL,前者在终端后,进行预充电操作。

在中断读操作时,命令的有效潜伏期与CL相同。中断写入操作时,命令即可有效。

预充电:对工作行中所有的存储体进行数据重写,包括S_AMP中的比较电压,行地址的复位。

DRAM在进行换行操作时,必须进行预充电,关闭现有行,准备打开新行。

目前有两种预充电命令:自动预充电命令,CAS命令的A10控制线,可以使能该功能。

单独预充电命令,A10控制线,表示针对指定L-Bank还是整个L-Bank。

在发出预充电命令后,经过时间tRP(Precharge command Period,预充电有效周期),才可以打开新的行。

(在写操作中,必须等到tWR时间后,才能进行预充电操作,)。

刷新操作与预充电中的重写命令一样,都是S_AMP先读后写,区别是刷新有具体的周期。

刷新操作分为两种:自动刷新(AR,Auto Refrech)和自刷新(SR,Self Refresh),两种操作都不需要外部提供地址信息,

内部会实现行地址的自动累加。刷新间隔=64ms/行数。刷新过程中,所有的Bank都停止工作,

每次的刷新操作占用N个时钟(PC133规定9个)。

SR操作,主要用在休眠状态下的数据保存。在发出AR命令时,将CKE置于无效,进入SR模式。

不再依靠外部时钟工作,使用内部时钟。

在SR期间,重新使能CKE,进入自动工作状态。

数据掩码操作:通过信号DQM,一位的DQM控制一个byte的DQ信号。

在读操作中,数据仍然会从存储体输出,在掩码逻辑单元处,被屏蔽。

DQM在发出命令之后的CL个时钟后有效,与读数据的位置相匹配。

在写操作中,DQM立即有效,与写入数据的位置相匹配。

tRAS:Active to Precharge Command,行有效至预充电命令间隔。以PC133为例,至少在5个时钟周期之后,最大时间视芯片而异。

背靠背式操作:读操作后马上进行写操作,由于没有延时,总线的利用率最高。但是需要在写操作前,进行CL个周期的DQM有效,

来屏蔽数据的输出,这样保证数据的有效写入。

写操作后马上进行读操作,读命令必须在tWR之后,才能发出,在经过CL个时钟,数据才能输出。

时间: 2024-08-07 01:31:54

DDR(一)的相关文章

zedboard如何从PL端控制DDR读写(一)

看了一段时间的DDR手册,感觉大体有一点了解了,想要实际上板调试,然而实验室可用的开发板不多,拿了一块zynq板看了看,DDR确实有,但是已经集成了控制器,而且控制器还放到了PS端,PL只能通过AXI接口访问.     无奈另外两块开发板也这样,索性就用AXI去控制吧,正好还能再复习一遍AXI. 先简单介绍一下zynq,其全称是ZedBoard Zynq Evaluation and Development Kit  , FPGA芯片型号为xc7z020clg484-1. 片内包含一个丰富特性的

深入分析DDR(转载)

文/IT168评测室特约 Myddn [IT168评测室]最近,假如你仔细的观察PC领域发生的变化,你就会注意的一个新鲜的术语“DDR2”频频出现.顾名思义,DDR2就是第二代双倍速率同步动态随机存储器,这个名字听上去很拗口,实际上我们只要知道它的缩写是DDR SDRAM就行了.就目前的发展看来,DDR2绝对不是纸上谈兵,它的平台已经准备好了,不出意外的话,Intel七月份就会发布支持DDR2的芯片组925X和915.明年,DDR2就会成为PC上普遍使用,甚至是主流的内存类型. 因此,我们应该了

zedboard如何从PL端控制DDR读写(五)

有了前面的一堆铺垫.现在终于开始正式准备读写DDR了,开发环境:VIVADO2014.2 + SDK. 一.首先要想在PL端通过AXI去控制DDR,我们必须要有一个AXI master,由于是测试,就不自己写了,直接用package IP生成,方法如下: 1.选择package IP工具 2.创建新的AXI外设 3.接口类型选择Full,模式选择master,如果你不关心里面的详细实现过程,那么直接finish就好了.(后面我们会继续分析里面的过程) 二.创建好了IP,自然要加入到IP库里,如图

DDR的前世与今生(二)

SDRAM与DDR SDRAM SDRAM是比较久远的事情了,但我们一说到它肯定不会和DDR混淆,我们通常理解的SDRAM其实是SDR SDRAM,为SDRAM的第一代,而DDR1则为第二代,乃至到我们现在使用的DDR4,其实为第五代SDRAM,在此需要澄清一下.以示区别,后续文章里面用SDR来特指SDR SDRAM,而DDR就特指DDR SDRAM了. 就像很多人回复的一样,他们的本质区别就是周期操作方式(也称时钟采样)的差异,这就导致后面设计上很大的不同.SDR都是"单数据传输模式"

i.MX6开发板的DDR参数设置-迅为

DDR Stress Test Tool 提供了两种用途.首先,它可以用来对校准DDR3,以便于MMDC PHY delay settings和PCB配对,来达到最佳的DRAM新能.整个过程是全自动的,因此客户可以在较短的时间内让他们的DDR3工作起来. 另外,该工具可以运行内存压力测试,用来验证DDR3的功能和可靠性.压力测试可以用来验证硬件连接.MMDC寄存器参数和DDR3模式寄存器设置.测试最重要的目的是让客户验证DDR3在他们的自己的板子上运行稳定.Calibration 在i.MX6处

DDR工作原理(转载)

原文地址:http://www.cnblogs.com/shengansong/archive/2012/09/01/2666213.html DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”.DDR SDRAM在原有的SDRAM的基础上改进而来.也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流.本文只着重讲讲DDR的原理和DDR SDRAM相对于传统SDRAM(又称SDR SDRAM)的不同. DDR的核

(四)ubuntu学习前传—uboot中对Flash和DDR的管理

1.uboot阶段Flash的分区 (1)所谓分区,就是说对Flash进行分块管理.(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮我们管理硬盘空间.(管理保证了文件之间不会互相堆叠),于是乎使用者不用自己太过在意分区问题.(3)在uboot中是没有操作系统的,因此我们对Flash(相当于硬盘)的管理必须事先使用分区界定(实际上在uboot中和kernel中都有个分区表,分区表就是我们在做系统移植时对Flash的整体管理分配方法).有

zedboard如何从PL端控制DDR读写(六)

上一节说到了DDR寻址的问题,如下图: 从官方文档上我们看到了DDR的地址是从0008_0000开始的,那么我们开始修改Xilinx给我们提供的IP核代码.其实很简单,上一节已经分析了地址停留在0000_1000的原因,现在我们只需要把write_burst_counter的位宽变大就可以了. 从上表看到地址范围由全0到全1,计算一下就知道需要的宽度为27,即 C_NO_BURSTS_REQ = 26; 重新打包IP核,生成比特流.开始调试 由于从0003_0000开始的地址是保留位,理论上来说

i.MX6 DDR 参数设置

DDR Stress Test Tool 提供了两种用途.首先,它可以用来对校准DDR3,以便于MMDC PHY delay settings和PCB配对,来达到最佳的DRAM新能.整个过程是全自动的,因此客户可以在较短的时间内让他们的DDR3工作起来. 另外,该工具可以运行内存压力测试,用来验证DDR3的功能和可靠性.压力测试可以用来验证硬件连接.MMDC寄存器参数和DDR3模式寄存器设置.测试最重要的目的是让客户验证DDR3在他们的自己的板子上运行稳定. Calibration 在i.MX6

DDR和DDR2,DDR3的区别以及如何从外观上分辨出来(图文)

1.防呆缺口 DDR内存单面金手指针脚数量为92个(双面184个),缺口左边为52个针脚,制品右边为40个针脚:DDR2内存单面金手指120个(双面240个),缺口左边为64个针脚,缺口右边为56个针脚:DDR3内存单面金手指也是120个(双面240个),缺口左边为72个针脚,缺口右边为48个针脚.2.DDR内存的颗粒为长方形DDR2和DDR3内存的颗粒为正方形,而且体积大约只有DDR内存颗粒的三分之一3.使用电压不同DDR2的电压1.8VDDR3的电压1.5V 参数不同之处  电压 VDD/V