DDR与DDR-II深刻理解_第1页
DDR与DDR-II深刻理解_第2页
DDR与DDR-II深刻理解_第3页
DDR与DDR-II深刻理解_第4页
DDR与DDR-II深刻理解_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、DDR 与 DDR-IIDDR SDRAMDDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。图1一、 DDR 的基本原理以MICRON的MT46V64M16(16 Meg x 16 x 4 Banks)为例,其时序图如下所示:图2 DDR读操作时序图从中可以发现它多了两个信号: CK#与DQS,CK#与正常CK时钟相位相反,形成差分时钟信号。而数据的传输在CK与CK#的交叉点进行,可见在CK的上升沿与下降沿都有数据被触发,从而实现DDR。在此,我们可以说通过差分信号达到了DDR的目的,甚

2、至讲CK#帮助了第二个数据的触发,但这只是对表面现象的简单描述,从严格的定义上讲并不能这么说。之所以能实现DDR,还要从其内部的改进说起。图3 DDR内部结构图从图中可以看出,其前半部分与SDRAM的结构基本相同,红色框图部分即为比SDRAM多出的部分。首先不同之处就是内部的Bank control logic规格。SDRAM中Bank control logic存储单元的容量与芯片位宽相同,但在DDR中Bank control logic存储单元的容量是芯片位宽的一倍。也因此,真正的行、列地址数量也与同规格SDRAM不一样了。以本芯片为例,在读取时,Bank control logic在内部

3、时钟信号的触发下一次传送32bit的数据给读取锁存器,再分成2路16bit 数据传给复用器,由后者将它们合并为一路16bit数据流,然后由发送器在DQS的控制下在外部时钟上升沿与下降沿分两次传输16bit的数据给北桥。这样,如果时钟频率为100MHz,那么在I/O端口处,由于是上下沿触发,那么就是传输频率就是200MHz。这种内部存储单元容量(也可以称为芯片内部总线位宽)=2×芯片位宽(也可称为芯片I/O 总线位宽)的设计,就是所谓的两位预取(2-bit Prefetch),有的公司则贴切的称之为2-n Prefetch(n代表芯片位宽)。二、 DDR新增管脚及功能1. 差分时钟差分

4、时钟是DDR的一个必要设计,但CK#的作用,并不能理解为第二个触发时钟,而是起到触发时钟校准的作用。由于数据是在CK的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定,以确保数据的正确传输,这就要求CK的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK上下沿间距可能发生变化,此时与其反相的CK#就起到纠正的作用(CK 上升快下降慢,CK#则是上升慢下降快),参见图3。而由于上下沿触发的原因,也使CL=1.5 和2.5成为可能,并容易实现。图4 差分时钟2. 数据选通脉冲DQSDQS是DDR中的重要功能,主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收

5、方准确接收数据。DQS是双向信号,在写入时用来传送由北桥发来的DQS信号,读取时,则由芯片生成DQS向北桥发送。可以说,它就是数据的同步信号。在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。而DDR内存中的CL也就是从CAS 发出到DQS生成的间隔,数据真正出现在数据I/O总线上相对于DQS触发的时间间隔被称为tAC。注意,这与SDRAM中的tAC的不同。实际上,DQS生成时,芯片内部的预取已经完毕了,tAC是指上文结构图中红色框图部分的数据输出时间,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。由于是并行传输,DDR内存对tAC也有一定的要求

6、,以本芯片为例,若采用DDR266,tAC的允许范围是±0.75ns;若采用DDR333,则是±0.7ns,有关它们的时序图示见前文,其中CL里包含了一段DQS的导入期。DQS是了保证接收方的选择数据, DQS在读取时与数据同步传输。但由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O端口的出现时间可能有快有慢,会与DQS有一定的间隔,这也就是要有一个tAC规定的原因。而在接收方,一切必须保证同步接收,不能有tAC之类的偏差。这样在写入时,芯片不再自己生成DQS,而以发送方传来的DQS为基准,并相应延后一定的时间,在DQS的中部为数据

7、周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。在写入时,以DQS的高/低电平期中部为数据周期分割点,而不是上/下沿,如图5所示;但数据的读取触发仍为DQS的上/下沿,如图6所示。图5 数据写入时序图图6 数据读取时序图3. 写入延时在上面的DQS写入时序图(图5)中可以发现,在发出写入命令后,DQS与写入数据要等一段时间才会送达。这个周期被称为DQS相对于写入命令的延迟时间(tDQSS)。tDQSS是DDR内存写入操作的一

8、个重要参数,太短的话恐怕接受有误,太长则会造成总线空闲。tDQSS 最短不能小于0.75个时钟周期,最长不能超过1.25个时钟周期。正常情况下,tDQSS是一个时钟周期,但写入时接受方的时钟只用来控制命令信号的同步,而数据的接受则完全依靠DQS进行同步,所以DQS与时钟不同步也无所谓。4. 突发长度与写入掩码在DDR SDRAM中,突发长度只有2、4、8三种选择,没有了随机存取的操作(突发长度为1)和全页式突发。因为L-Bank一次就存取两倍于芯片位宽的数据,所以芯片至少也要进行两次传输。但是,突发长度的定义也与SDRAM的不一样了(见图1),它不再指所连续寻址的存储单元数量,而是指连续的传输

9、周期数,每次是一个芯片位宽的数据。对于突发写入,如果其中有不想存入的数据,仍可以运用DM信号进行屏蔽。DM信号和数据信号同时发出,接收方在DQS的上升与下降沿来判断DM的状态,如果DM为高电平,那么之前从DQS中部选取的数据就被屏蔽了。5. 延迟锁定回路(DLL)DDR SDRAM对时钟的精确性有着很高的要求,而DDR SDRAM有两个时钟,一个是外部的总线时钟,一个是内部的工作时钟,在理论上DDR SDRAM这两个时钟应该是同步的,但由于种种原因,如温度、电压波动而产生延迟使两者很难同步,更何况时钟频率本身也有不稳定的情况(SDRAM 也内部时钟,不过因为它的工作/传输频率较低,所以内外同步

10、问题并不突出)。DDR SDRAM的tAC (data-out transition skew to CK)就是因为内部时钟与外部时钟有偏差而引起的,它很可能造成因数据不同步而产生错误的恶果。实际上,不同步就是一种正/负延迟,如果延迟不可避免,那么若是设定一个延迟值,如一个时钟周期,那么内外时钟的上升与下降沿还是同步的。鉴于外部时钟周期也不会绝对统一,所以需要根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是DLL的任务。DLL不同于主板上的PLL,它不涉及频率与电压转换,而是生成一个延迟量给内部时钟。目前DLL有两种实现方法,一个是时钟频率测量法(CFM,Clock Frequ

11、encyMeasurement),一个是时钟比较法(CC,Clock Comparator)。CFM是测量外部时钟的频率周期,然后以此周期为延迟值控制内部时钟,这样内外时钟正好就相差了一个时钟周期,从而实现同步。DLL就这样反复测量反复控制延迟值,使内部时钟与外部时钟保持同步。CC的方法则是比较内外部时钟的长短,如果内部时钟周期短了,就将所少的延迟加到下一个内部时钟周期里,然后再与外部时钟做比较,若是内部时钟周期长了,就将多出的延迟从下一个内部时钟中刨除,如此往复,最终使内外时钟同步。图7DDR-II SDRAMDDR-相对于DDR 的主要改进如下: DDR SDAMRDDR II SDRAM

12、时钟频率100/133/166/200MHz200/266/333MHz数据传输率200/266/333/400MBPS400/533/667MBPS工作电压2.5V1.8V/1.5V/1.35V预取设计2Bit4Bit突发长度2/4/84/8L-BANK数量最多4个最多8个CL值1.5、2.5、3.5、3311AL值无0CL-1接口标准SSTL_2SSTL_18系统最高P-BANK数量84新增特性  COD、ODT、POSTED CAS一、 DDR-内存结构DDR-II SDRAM内存结构图如下所示:图8 DDR-II SDRAM内存结构图SDRAM有两个时钟,一个是内部时钟,一个

13、是外部时钟。在SDRAM与DDR时代,这两个时钟频率是相同的,而在DDR-II中,核心频率和时钟频率已经不一样了,由于DDR-II采用了4bit Prefetch技术。Prefetch可以意译为"数据预取"技术,可以认为是端口数据传输率和内存Cell之间数据读/写之间的倍率,如DDR为2bit Prefetch,因此DDR的数据传输率是核心Cell工作频率的2倍。DDR-II采用了4bit Prefetch架构,也就是它的数据传输率是核心工作频率的4倍。实际上数据先输入到I/O缓冲寄存器,再从I/O寄存器输出。DDR-II400的核心频率/时钟频率/数据传输率分别是100M

14、Hz/200MHz/400Mbps。DDR-II 400的核心频率和DDR 200是一样的,但是DDR-II 400的数据传输率是DDR 200的2倍。因此,DDR-虽然实现了4-bit预取,但在实际效能上,与DDR是一样的。因此在相同的核心频率下,DDR-达到了2倍于DDR的的带宽的水平有一个前提条件,那就是DDR-的外部时钟频率也是DDR的2倍。图9 时钟频率示意图如前文所述,DDR在写入数据时,以DQS的高/低电平期中部为数据周期分割点;但在数据的读取触发仍为DQS的上/下沿。为保证DQS信号的准确,在DDR-II中,增加了差分DQS信号。图10 CK与CK#、DQS与DQS#二、 DD

15、R-的新操作与新时序设计1. OCD(Off-Chip Driver,片外驱动调校)DDR-II加入了可选的OCD功能,OCD的主要用意在于调整I/O接口端的电压,来补偿上拉与下拉电阻值,从而可以提高信号的完整性。调校期间,分别测试DQS高电平和DQ高电平,以及DQS低电平和DQ高电平的同步情况。如果不满足要求,则通过设定突发长度的地址线来传送上拉/下拉电阻等级,从而减少DQ、DQS的倾斜来提高信号的完整性及控制电压来提高信号品质。不过,由于在一般情况下对应用环境稳定程度要求并不太高,只要存在差分DQS时就基本可以保证同步的准确性,因此OCD功能在普通台式机上并没有什么作用,其优点主要体现在服

16、务器领域。图11 OCD2. ODT(On-Die Termination,片内终结)所谓的终结,就是让信号被电路的终端被吸收掉,而不会在电路上形成反射,造成对后面信号的影响。在进入DDR时代,DDR内存对工作环境提出更高的要求,如果先前发出的信号不能被电路终端完全吸收掉而在电路上形成反射现象,就会对后面信号的影响从而造成运算出错。因此目前支持DDR主板都是通过采用终结电阻来解决这个问题。由于每根数据线至少需要一个终结电阻,这意味着每块DDR主板需要大量的终结电阻,这也无形中增加了主板的生产成本,而且由于不同的内存模组对终结电阻的要求不可能完全一样,也造成了所谓的“内存兼容性问题”。而在DDR

17、-II中加入了ODT功能,即是将终结电阻设于内存芯片内(参见图8红色方框部分),当在DRAM模组工作时把终结电阻器关掉,而对于不工作的DRAM模组则进行终结操作,起到减少信号反射的作用(注:ODT的功能与禁止由北桥芯片控制,在开机进行EMRS时进行设置,ODT所终结的信号包括DQS、DQS#、DQ等等。),这样可以产生更干净的信号品质,从而产生更高的内存时钟频率速度。而将终结电阻设计在内存芯片之上还可以简化了主板的设计,降低了主板的成本,而且终结电阻器可以和内存颗粒的“特性”相符,从而减少内存与主板的兼容问题的出现。图12 ODT3. Posted CAS、附加潜伏期与写入潜伏期前置CAS(P

18、osted CAS)是为了解决DDR内存中指令冲突,提高DDR-II内存的利用效率而设计的功能。它允许CAS信号紧随RAS发送,相对于以往的DDR等于将CAS前置了。这样,地址线可以立刻空出来,便于后面的行有效命令发出,避免造成命令冲突而被迫延后的情况发生,但读/写操作并没有因此而提前,仍有要保证有足够的延迟/潜伏期,为被定义为读取潜伏期(RL,Read Latency),见图13。相应的,DDR-还对写入潜伏期(WL,Write Latency)制定了标准,WL是指从写入命令发出到第一笔数据输入的潜伏期,见图14。图13 RL示意图图14 WL示意图图14在没有前置CAS功能时,对其他L-B

19、ank的寻址操作可能会因当前行的CAS命令占用地址线而延后,并使数据I/O总线出现空闲,当使用前置CAS后,消除了命令冲突并使数据I/O总线的利率提高。设置Posted CAS后,必须附加潜伏期以保证应有延迟,此时读取潜伏期(RL)就等于AL+CL。DDR-中CL最低值为3,最高为11,并且不再有x.5的设计,而AL值则为0,CL-1,CL-2。当AL设为0时,前置CAS无效,即为传统DDR模式的操作。Posted CAS其本质就是将CAS信号的使能时间段(即RD AP命令)直接插入到紧跟RAS信号的使能时间段(即ACT命令)之后,虽然读和写操作并没有得到提前,总的延迟时间也没有发生改变,但引

20、入这种技术后,可以避免在多Bank操作中的一个Bank的CAS信号和其他Bank的RAS信号发生冲突,从而提高了存储芯片的使用效率。二、DDR的测试EDEC(电子工程设计发展联合协会)已经明确规定存储设备详细测试要求,需要对抖动、定时和电气信号质量进行验证。测试参数:如时钟抖动、建立和保持时间、信号的过冲、信号的下冲、过渡电压等列入了JEDEC为存储器技术制定的测试规范。三、DDR DQS信号的处理    摘要  现在不论做主板设计或测试的工程师,还是做内存或DDR芯片设计或测试的工程师都会面临这样一个问题:如何能够分离出“

21、读”和“写”眼图以发现有无信号品质问题?因为简单测试一段波形很难确定你的设计或产品是否满足规范要求。而因为DDR的数据总线信号存在三态,“读”时序和“写”时序不同的情况,我们很难直接用示波器把“读”眼图和“写”眼图分离出来。本文根据自己设计的DDR“读”“写”分离软件,介绍一种把“读”眼图和“写”眼图分离开的方法,并创新地引入模板测试的方法。   DDR 1&2&3总线概览   DDR全名为Double Data Rate SDRAM ,简称为DDR。现在DDR技术已经

22、发展到了DDR 3,理论上速度可以支持到1600MT/s。DDR总线走线数量多,速度快,操作复杂,探测困难,给测试和分析带来了巨大的挑战。   DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍。至于地址与控制信号则与传统SDRAM相同,仍在时钟上升沿进行数据判断。   目前,许多计算机使用时钟频率为533MHz的DDR2内存,更先进的DDR2内存正在日益普及,它的时钟频率在400 MHz-800 MHz之间,新的DDR3内存

23、的时钟频率则可以工作在800MHz-16OOMHz之间。DDR3内存芯片还有另外一个长处:更低的能耗,它的运行电压是1.5伏,低于DDR2内存芯片的1.8伏和DDR1内存芯片的2.5伏。在使用电池的设备中能够延长电池续航时间,因为能耗低,产生的热量也就少,从而对冷却的要求也就低一些。   DDR 2&3几个新增特性的含义是:ODT( On Die Termination),DDR1 匹配放在主板上,DDR2&3把匹配直接设计到DRAM芯片内部,用来改善信号品质。OCD(Off Chip&#

24、160;Driver)是加强上下拉驱动的控制功能,通过减小DQS与/DQS(DQS是数据Strobe,源同步时钟,数据的1和0由DQS作为时钟来判断) Skew(时滞)来增加信号的时序容限(Timing Margin)。Posted CAS是提高总线利用率的一种方法。AL(Additive Latency)技术是相对于外部CAS,内部CAS执行一定的延时。图1是DDR总线的体系结构。其中DQS是源同步时钟,在接收端使用DQS来读出相应的数据DQ,上升沿和下降沿都有效。DDR1总线,DQS是单端信号,而DDR2&3, DQS则是差分信号。

25、DQS和DQ都是三态信号,在PCB走线上双向传输,读操作时,DQS信号的边沿在时序上与DQ的信号边沿处对齐,而写操作时,DQS信号的边沿在时序上与DQ信号的中心处对齐,参考图2,这就给测试验证带来了巨大的挑战:把“读”信号与“写”信号分开是非常困难的!   图2中,Addr/Cmd Bus意思是地址/命令总线,都是时钟的上升沿有效,其中命令由:/CS(片选),/RAS, /CAS,/WE(写使能)决定,比如:“读”命令为:LHLH,“写”命令为:LHLL等。操作命令很多,主要是NOP(空超作),Active(激活),Write,Read,Pre

26、charge (Bank关闭),Auto Refresh或Self Refresh(自动刷新或自刷新)等(细节请参考:Jedec规范JESD79)。Data Bus是数据总线,由DQS的上升沿和下降沿判断数据DQ的0与1。   DDR 1&2&3总线的信号完整性测试   DDR总线PCB走线多,速度快,操作时序复杂,很容易出现失效问题,为此我们经常用示波器进行DDR总线的信号完整性测试和分析,通常的测试内容包括: 1, 命令信号的波形和时序参数:需要测试/RA

27、S,/CAS,/WE,/CS的信号品质,如Vmax(最大电压值),Vmin(最小电压值),Slew Rate(斜率),Ringback(回沟)等;还需要测试相对于时钟边沿的Setup Time(建立时间)和Hold Time(保持时间)。测试相对于时钟边沿的建立时间和保持时间时,需要注意参考电平的位置和最差情况波形的捕获。如图3的/CS建立时间和保持时间的测试就没有测试出最差的建立时间和保持时间值,为此,我们需要用眼图累积的方式设法找到最差情况下的建立时间和保持时间。   2, 地址信号的波形和时序参数:测试内容和测试方质和相对于时钟

28、边沿的建立时间和保持时间的测试。 3,时钟信号的波形和抖动参数:测试建议用差分探头。波形参数包括overshoot(过冲),undershoot(下冲),Slew Rate(斜率)或Rise Time(上升时间)和Fall Time(下降时间),高低时间和Duty Cycle(占空比失真)等。时钟抖动一般只是测试Cycle-Cycle Jitter(周期到周期抖动),但是当速率超过533MT/s的DDR2&3时,则测试内容相当多,不可忽略,下表1是DDR2 667的规范参数。这些抖动参数的测试需要用专用软件实现,比如

29、Agilent的N5413A DDR2时钟表征工具。 4,速据信号的波形和时序参数:DQS(源同步时钟)和DQ(数据)波形参数与命令地址测试类似,测试起来比较简单,但是探测却比较复杂和困难。DDR1,DQS是单端信号,可以用单端探头测试,DDR2&3 DQS则是差分信号,建议用差分探头测试,减小探测难度。DQS和DQ的时序关系,即相对的在不同操作条件下的建立时间和保持时间关系则非常复杂,分析比较困难,图4是实际捕获的DDR2 533 DQS和DQ的波形。从图中可以看出DQS和DQ的三态(Tri-state)特征,读数据(Read

30、0;Burst)和写数据(Write Burst)的DQS和DQ的相对时序特征。在我们测试时,只是捕获了这样的波形,然后测试出在“读”“写”操作时的建立时间和保持时间参数是不够的,因为数据码型是变化的,猝发长度也是变化的,只测了几个时序参数很难覆盖各种情况,更难测出最差情况。很多工程师花了一周去测试DDR,仍然测不出问题的关键点就在此处。因此我们应该用眼图的方式去测试DDR的读写时序,确保反映整体时序情况和捕获最差情况下的波形,最好能够套用串行数据的分析方法,调用模板帮助判断。      DDR 1&2&a

31、mp;3 “读”“写”眼图测试   基于DDR“读”“写”信号相位不同的特征,本人设计了一个软件进行“读”“写”眼图的测试分析,软件使用VEE Pro 7.5设计界面,使用VEE Pro内嵌的Matlab脚本分析数据,基于规范的AC参数设计模板,帮助工程师进行DDR信号完整性测试分析的最复杂部分即“读” “写”数据眼图的测试分析。  图5是软件界面和分析结果的一个示例,上面两福图形是用户界面。左边的是离线分析软件,用示波器同时采集DQS和DQ信号,并且存为*.CSV文件。采集时,采样率设置为20

32、GSa/s,存储深度设置为200k以上,确保捕获足够的数据,同时被测系统运行大型的软件或MemoryTest.exe工具(此内存测试软件能够进行内存总线的加压测试,一般做系统设计的或内存设计的都有),以让总线上有足够多的数据,来增加捕获各种码型和最差情况的可能性。离线软件调用采集的波形,自动去掉三态数据,把“读”数据放在一起,把“写”数据放在一起,基于DQS的有效边沿(去掉预调整和后调整后的上升边沿和下降边沿),累积在一起形成眼图,调用模板判断信号的优劣和是否满足规范要求。   图5右上图是基于Agilent的DSO80000和54850系列示波器的在线实时分析软

33、件界面。需要把软件安装在示波器内部,或安装在外部电脑上用LAN或GPIB到USB适配器(82357A)连接到示波器。示波器的通道1探测DQS,通道3探测DQ,被测系统上运行大型的软件或MemoryTest.exe工具。在在线软件上输入想重复捕获波形的次数,然后按“starting”进行实时数据的捕获和实时眼图的分析,软件会控制示波器捕获波形,然后分析数据,形成眼图,调用模板判断信号是否满足规范要求,然后重复下一次捕获和分析,同时把新捕获的波形累积到前面捕获的波形上面。在线软件执行的算法与离线软件类似,只是可以自动控制示波器,进行波形的多次捕获和分析,并同时把实时捕获的波形的分析结果连同以前的结

34、果一同显示出来。    图5下面的两个波形是实际的分析结果示例,分析的是DDR2 667,测试点是在DIMM内存条上。对我们比较有意义的是左边的“写”眼图,它反映的是信号从北桥发出,通过主板较长距离传输到达DRAM接收芯片的波形,这是我们做系统设计和测试时需要得到的眼图。右图则是直接从DRAM芯片发出的信号的波形,因为测试点是在DIMM上,所以对我们只有参考价值:当在北桥测试出时序问题时,通过此波形的观察确定是主板设计的问题,还是DIMM或DRAM芯片本身的问题。如果测试点在北桥,则我们需要关注“读”眼图,而此时“写”眼图一般只有参考价值。&#

35、160;  这个DDR“读”“写”眼图分析软件的算法是什么呢?其实很简单,如图6所示,如果直接用DQS触发DQ,则会形成比较乱的眼图,但是中间又包括需要的信息,如图中的红色圆圈周围的是“写”眼图信息,途中的黄色圆圈周围则是“读”眼图信息。而眼图之所以乱,是因为同时包括“三态”信号和“读”“写”信号,而“读” 和“写”信号的时序是矛盾的。使用 软件进行分离的处理比较容易:首先,扔掉三态信号,保留有用信息,软件设计时,检测DQS有效边沿,离DQS有效边沿较远的信号就是三态信号,扔掉它;然后,根据建立时间和保持时间的关系把“读”信号和“写”信号分成两个数据库;

36、最后,把“读”信号数据库按DQS有效边沿放在一起形成眼图,把“写”信号数据库按DQS有效边沿放在一起形成眼图,分别调用模板产生测试结果。    DDR 1&2&3 模板定义   DDR规范没有定义模板,这给用眼图方式分析信号时判断信号是否满足规范要求带来挑战。为了更容易判断是否满足规范的要求,像分析一般串行信号一样分析“读”“写”眼图,本人根据Jedec规范设计了“读”“写”模板。下面以定义“写”眼图模板为例,介绍一下模板的设计方法。   图7是Jedec规范

37、上的时序和波形参数,tDS是相对于DQS有效边沿的建立时间,tDH是相对于DQS有效边沿的保持时间,tDS相对于DQ的AC参数,tDH则相对于DQ的DC参数,不过为了测试方面的方便性,我们都可以用AC参数来定义tDS和tDH。tDS和tDH参数的测试是DDR的核心测试参数。    在Jedec规范上,我们可以查到各种速率的tDS和tDH 的规范值,比如DDR2 533,tDS 是100ps,tDH 是225ps。我们也可以查到各种速率的AC参数值,比如DDR2 533:   

38、 其中,VIH(ac)min是VIH(ac)规范的最小值,VIL(ac)max是VIL(ac)规范的最大值,Vref是参考电压,对DDR1来说是1.25V,DDR2来说是0.9V,DDR3来说是0.75V。   基于tDS和tDH 和VIH(ac)min和VIL(ac)max参数,我们可以得出DDR2 533“写”眼图的模板如图8示。中间的红色区域就是模板,Setup time是tDS建立时间,Hold time是tDH 保持时间,VIH(AC)是VIH(ac)min值,VIL(AC)是VIL(ac)ma

39、x值。中间的黄色线是DQS的有效边沿即有效的上升沿或下降沿。四、 本小节以Micron 512 MDDR SDRAM MT46V32M16-75Z为例介绍DDR SDRAM访问方式。 DDR SDRAM全称Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM是一种同步DRAM,因此需要用户提供时钟信号,DDR SDRAM(以下简称DDR)需要用户

40、提供一对差分的时钟信号,其频率范围会在数据手册中给出,MT46V32M16-75Z的时钟频率范围为75133MHz,可接收的时钟on占空比范围为45%55%。DDR内部架构由bank、行、列构成,MT46V32M16-75Z是一个容量为512M bit的DDR SDRAM,该芯片有4个bank,每个bank有8K行,每行有1K列,每一列有16个bit。DDR的对外用户接口有时钟及其使能信号、命令信号、地址信号和数据信号四类。表1后半以DDR为前缀的部分列出了DDR用户接口信号及其简要解释。  DDR_CKE FPGA输出 DDR

41、60;SDRAM clk enable signal, CKE HIGH activates and CKE LOW deactivates the DDR internal clock DDR_CK,  DDR_CK_N FPGA输出 differential clock outputs for DDR SDRAM DDR_CS_N F

42、PGA输出 Chip select signal for DDR SDRAM DDR_RAS_N  DDR_CAS_N   DDR_WE_N FPGA输出 DDR_RAS_N , DDR_CAS_N , DDR_WE_N (along with DDR_CS_N) define the command being entered 

43、;to DDR SDRAM DDR_BA1:0  FPGA输出 Bank address inputs for DDR SDRAM DDR_ADDR12:0 FPGA输出 row or column address inputs for DDR SDRAM DDR_DQ15:0 双向信号 Data input/output of 

44、;DDRSDRAM DDR_DQS1:0 双向信号  Data strobe of DDR SDRAM DDR_DM1:0 FPGA输出 output data mask of DDR SDRAM      MT46V32M16-75Z有四个bank,因此其bank地址总线BA为2位,每个bank有8K行,每行有1K列,因此其地址总线ADDR为13位(213=8K),又由于每列

45、有16bit,因此其数据DQ总线为16位,相应的,数据同步信号DQS为2位(每一位DQS负责8位数据线)。这些信号都是以时钟为参考信号,DDR会在差分时钟输入的正时钟上升沿和负时钟下降沿交点 处寄存所有的控制和地址输入信号,而数据输出(DQ、DQS)也是参考此交点输出的。此外,CS为片选信号,与RAS_N、CAS_N、WE_N一起构成DDR命令总线,根据命令总线状态分辨DDR命令如表二所示。 表二:DDR命令 Name (Function)  CS_N  RAS_N  CAS_N WE_N

46、60; Address  不选择DDR (NOP)  H  X  X  X  X  无操作 (NOP)  L  H  H  H  X  ACTIVE(打开行,ADDR提供行地址BA提供bank地址)  L  L  H  H

47、0; Bank/row  READ ( 读 ADDR提供列地址BA提供bank地址) L  H  L  H  Bank/col  WRITE (写 ADDR提供列地址BA提供bank地址) L  H  L  L  Bank/col  BURST TERMINATE(突发终止) L

48、  H  H  L  X  PRECHARGE (关闭bank)  L  L  H  L  Code  AUTO REFRESH or SELF REFRESH(自动刷新或自刷新) L  L  L  H  X  LOAD

49、 MODE REGISTER (写模式寄存器) L  L  L  L  Op-code    DDR在读写某一个指定地址之前,需要“打开”相应的行,而且每个bank同时只能有一个行打开。形象的说,一个4bank DDR 就像一个有着四个独立单元的楼房一样,楼房中有多个房间,而每个房间内依次存放着多列的物品。每个单元相当于一个bank,每个房间相当于一个DDR行,这个楼房的每个单元只有一把钥匙,这把钥匙只能在所有房门都

50、关闭时打开任意一个房间的门,如果已经有打开的房间了,在打开下一个房间时,必须先关闭已打开者,然后才能打开新的房间。  也就是说,如果我们想在第i单元的第j房间的第k列存放或者拿出物品,就必须先“打开”第i单元的第j房间,然后再到第k列存放或者拿出物品;而且,在打开时,需要保证第i单元没有其他房间被打开,否则,需要先“关闭”其他已打开房间,再打开第j房间。这个“打开”就是DDR的ACTIVE命令,在ACTIVE命令的同时,需要由BA给出bank地址,并由ADDR给出行地址,而且需要保证打开的那个bank处于空闲状态(就是说所有的行都关闭)。一个ACTIVE命令如图4.1所示。

51、而“拿出”或“存放”物品则对应DDR命令的“读”、“写”命令,这两个命令都只能对已打开行,在进行“读”、“写”时,由BA给出bank地址、由ADDR给出列地址,而在表2中可以看出,读和写由WE_N区别,图4.2 、4.3分别给出了读、写命令时序。读写完毕后,如果不再需要操作该行时,需要“关闭”该bank,就是运行“PRECHARGE”命令,该命令时序见图4.4,PRECHARGE命令实施时,如果地址总线的第十一位ADDR10为0,则表示关闭BA指定的bank,否则表示关闭所有bank。        图4.1  ACTIVE命令       图4.2 READ命令    图4.3  WRITE命令       图4.4 PRECHARGE命令  除了读写相关的命令之外,还有AUTO REFRESH(或SELF REFRESH)命令,这

温馨提示

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

评论

0/150

提交评论