最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

DDR2_DDR3_SDRAM命令和协议汇总

IT圈 admin 111浏览 0评论

2024年8月29日发(作者:西门寄蓉)

电子发烧友 电子技术论坛

应用指南

检验DDR, DDR2和DDR3 SDRAM

命令和协议

跟上更加复杂、更短设计周期的步伐

不只计算机存储器系统一直需要更大、更快、功率更低、物理尺寸更小的存储器,嵌入式系统

应用也有类似的要求。本应用指南介绍了逻辑分析仪在检验DDR, DDR2和DDR3 SDRAM命

令和协议中的能力。

/memory 1

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

引言

DRAM的异步操作特性在连接同步处理器时导致了许多

设计挑战。SDRAM (同步DRAM)采用专门设计,以实

现DRAM与计算机系统其余部分同步操作,而不需定

义基于序列模式的存储器操作。SDRAM的技术演进,

如DDR SDRAM,已经迅速提高了存储器的数据速率性

能。DDR, DDR2和DDR3 SDRAM都通过从存储控制

器主机向存储器发送的存储器命令进行控制。

SDRAM

DDR-266

DDR-333

DDR-400

DDR2-400

DDR2-533

DDR2-667

DDR2-800

DDR2-1066

DDR3-800

DDR3-1066

DDR3-1333

DDR3-1600

表1. SDRAM标准

数据率 MT/S

266

333

400

400

533

667

800

1066

800

1066

1333

1600

时钟 MHz

133

166

200

200

267

334

400

533

400

533

667

800

VDD V

2.5

2.5

2.5

1.8

1.8

1.8

1.8

1.8

1.5

1.5

1.5

1.5

DDR, DDR2和DDR3 SDRAM

一直都有这样的需求,就是存储器要容量更大、速度更

快、功耗更低以及物理尺寸更小。这些需求推动着

DRAM技术的进步。近几年中,主流DRAM技术有很

多主要提升,如SDRAM(同步DRAM),DDR(双数

据率)SDRAM,DDR2(双数据率2)SDRAM,DDR3(双

数据率3)SDRAM。

DDR(双数据率)SDRAM通过提升时钟速率、猝发式数

据以及在一个时钟内传输两个数据位,提升了内存的数

据率性能。

DDR2(双数据率2)SDRAM在DDR的基础有一些进步。

DDR2 SDRAM时钟速率更高,这样就增加了内存的数

据速率。但在时钟速率增长的情况下,可靠的内存处理

对信号完整性的要求更为苛刻。随着时钟速率增长,电

路板上的信号路径变成了传输线,这样正确的布线和信

号走线末端端接变得至关重要。

DDR3 SDRAM是革命性的技术提升,它将SDRAM速

度推到了800Mb/s以上。DDR3 SDRAM支持六种数据

速率和时钟速度。DDR3-800/1066/1333 SDRAM在

2007年实现,而DDR3-1600在2008年。预计DDR3-

1866/2133会在2009年实现。DDR3-1066 SDRAM相

比DDR2-800 SDRAM有更小的功耗,这是因为DDR3

SDRAM的工作电压是1.5V,只有DDR2 SDRAM 1.8V

工作电压的83%。而且,DDR3 SDRAM的数据DQ驱

动器使用了比DDR2 SDRAM的18欧姆更高的34欧姆

匹配阻抗。DDR3 SDRAM的存储容量从512Mb起,将

来会提升到8Gb。DDR3 SDRAM数据输出宽度配置包

括X4、X8和X16。DDR3 SDRAM有8组,而DDR2

SDRAM根据存储容量大小可能是4组或8组。

DDR2和DDR3 SDRAM都有4个模式寄存器。DDR2

定义了前两个寄存器,其余两个保留,以待为未来应用

需要。DDR3使用了所有的4个。一个明显的区别是,

DDR2模式寄存器为读取操作定义了CAS延迟时间,写

延时比寄存器中的读延时少一个周期即可。而DDR3

SDRAM模式寄存器则为CAS读延时和写延时制定了

了独立的设置。DDR3 SDRAM使用8n预取结构,这样

可以在4个时钟周期内传输8个数据字。DDR2 SDRAM

使用4n预取结构,于是可以在2个时钟周期内传输4个

数据字。DDR3 SDRAM模式寄存器被设置为支持突发

突变模式,这种模式在读取或写入命令中将地址12线

设为低,以把本来的8个数据字传输缩短为4个数据字。

突发突变和同时使用在DDR2与DDR3中的地址10线

读写预充电功能的概念十分类似。

2 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

在DIMM上,DDR3 SDRAM命令、时钟和地址线都有

匹配端接。而使用DDR2 DIMM的内存系统中,命令、

时钟和数据都在主板上做端接。DDR3 DIMM上的端接

允许SDRAM上的每根命令、时钟和地址引脚都连接到

同一根在DIMM做了端接的走线上的fly-by拓扑结构。

这种结构改善了信号完整性,能够让DDR3工作在比

DDR2的树形结构更高的速度上。Fly-by拓扑结构为

DDR3 SDRAM的内存控制器计算写入操作中时钟和数

据选通DQS之间的时延引入了一个新的写入电平判断

功能。DDR3 SDRAM在防止将错误的DIMM插入主板

上也和DDR2 SDRAM有区别。

SDRAM设计实现方案从电路板结构直到软件操作,要

求全面进行检验和测试,以保证存储器可靠运行。如果

没有全面检验设计实现方案,而导致存储器系统中频繁

地发生随机错误,那么产品的可靠性就会大打折扣。

同时支持状态采集和定时采集的逻辑分析仪为检验和调

试存储器命令和协议提供了最佳仪器。它还可以使用高

达20ps的定时采集分辨率,在功能上检验存储器信号

的电气特点。本应用指南重点介绍使用逻辑分析仪,检

验存储器系统是否正确进行命令和协议操作。

DDR3逻辑分析仪解决方案

泰克逻辑分析仪配合Nexus Technology的DDR3内存

支持包,可以捕获DDR3读/写数据和DDR3命令。只

有泰克的TLA7BB4逻辑分析仪模块能足够快到满足迄

今所有DDR3速率的测试要求。它拥有在每条通道上高

达20ps(50GS/s)的时间分辨率,这样内存设计人员可

以使用它捕获和分析毛刺、定时错位和信号完整性问

题。

本指南中的大多数实例都是采用512 Mb DDR2 SDRAM,

配置为64 Meg x 8个输出。内部配置是16 Meg x 8个

应用指南

输出 x 4组。这里介绍的技术使用了TLA7AA4模块,同

时适用于嵌入式系统、计算机、工作站和服务器中使用

的大多数SDRAM、DDR SDRAM、DDR2 SDRAM和

DDR3 SDRAM。泰克推荐在测试DDR3 SDRAM和多数

DDR2 SDRAM时使用TLA7BB4模块。如需更多测试建

议,请联系您当地的泰克服务专员。一如既往地,用户

应检查使用的存储器的技术数据,以确定其规范、功能

和操作。

逻辑分析仪探测

在过去10年中,逻辑分析仪探测一直在不断进步。最

初,逻辑分析仪探头要么使用抓斗夹连接到IC脚上,要

么连接到安装在电路板的方形针脚上。随着数字设计变

得越来越复杂,速度不断提升,逻辑分析仪探测技术还

使用过电路板上的快接式阻抗受控Mictor连接器。

尖端数字设计把数字时钟速率推进到接近1 GHz。其结

果是,探测的信号完整性变得异常关键。在这些超高信

号频率上,连接器的阻抗不匹配及占用电路板空间一般

较大的特性,推动探头革新为高密度无连接器探头。这

些高密度无连接器探头直接连接到电路板焊盘和走线

上,电路上不使用或不安装连接器。

//Generate the appropriate logic levels on RAS_N, CAS_N, and WE_N

//depending on the issued command.

//

if ( do_refresh==1 ) begin // Refresh: S=00, RAS=0,

CAS=0, WE=1

RAS_N <= 0;

CAS_N <= 0;

WE_N <= 1;

end

else if ((do_precharge==1) & ((oe4 == 1) | (rw_flag == 1)))

begin // burst terminate if write is active

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_precharge==1) begin // Precharge All: S=00,

RAS=0, CAS=1, WE=0

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_rw == 1) begin // Read/Write: S=01 or 10,

RAS=1, CAS=0, WE=0 or 1

RAS_N <= 1;

CAS_N <= 0;

WE_N <= rw_flag;

end

else if (do_initial ==1) begin

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

end

else begin // No Operation: RAS=1, CAS=1,

WE=1

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

/memory 3

end

end

end

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图1. 仪器化DIMM

图2. DIMM内插器图3. 安装在内存IC和DIMM之间芯片内插器

直接探测

这种探测方式中,Mictor连接器或无连接器的接触点被

布置电路板上。DDR信号被引到这些连接器或触点上

以供逻辑分析仪探头探测。这些要求认真考虑怎样使用

逻辑分析仪来检验和调试存储器系统。通过分析连接到

存储器系统上的逻辑分析仪探头的仿真结果,可以确定

最佳探测位置,测量信号及探头负荷对存储器系统操作

的影响。最好在设计存储器系统电路板之前完成这一仿

真。

在某些情况下,最终产品设计不允许电路板上留有探接

测试点。有几种方式可以检验和调试这些设计。其中一

种是先设计一块大型检验电路板,其中全面配备逻辑分

析仪和示波器测试点。在检验和调试完成后,再设计缩

减了测试点或没有测试点的、面积更小的电路板。

探测附件

一个替代方案是使用探测附件来探测电路板上的DDR

SDRAM信号。这里诸如Nexus Technology和

FuturePlus这些公司提供了几类不同的探测附件,包括:

仪器化DIMM

这类加长的DIMM上有逻辑分析仪连接器,这些连接器

被是根据JEDEC的规范设计的。仪器化的SO-DIMM

和FB-DIMM也已经面世。这些公司提供的解决方案支

持所有的DDR SDRAM信号测试。

DIMM内插器

这类产品安装在内存DIMM和主板之间。DIMM内插器

使用了混合设计,所以不需要其它的连接器。各种不同

配置和速率的内插器都能在市场上找到。

4 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

命令

模式寄存器

刷新

预充电

激活行

写入列

读取列

无操作

取消选定

表2. SDRAM命令

S0#

0

0

0

0

0

0

0

1

RAS#

0

0

0

0

1

1

1

X

CAS#

0

0

1

1

0

0

1

X

WE#

0

1

0

1

0

1

1

X

芯片内插器

有些类型的内插器安装在存储器IC和电路板之间。这

种设计需要使用焊接的方式,将内存颗粒焊接在内插器

上,或者将内存颗粒安装座焊接在内插器上。

逻辑分析仪通道和组设置

SDRAM存储器命令同步到存储器时钟(CK)的上升沿。

4个命令信号是芯片选择(S0#或CS#)、行地址选择

(RAS#)、列地址选择(CAS#)和写入启用(WE#)。符号#

表明信号低电平有效(参见表2)。某些存储器可能有额

外的信号,如时钟有效 (CKE),这是一个高电平有效的

信号。

检验存储器命令要求逻辑分析仪探测五个信号:CK,

S0#, RAS#, CAS#和WE#。TLA设置只需一两分钟的

时间,先从默认系统设置开始。然后,在逻辑分析仪设

置窗口中,为五个命令信号(CK, S0#, RAS#, CAS#和

WE#)分配探头通道,使用S0#, RAS#, CAS#和WE#通

道创建命令组名称。通过创建命令组,可以在逻辑分析

仪波形窗口、列表窗口、触发、过滤和搜索中使用符号

命令名。

并不是所有逻辑分析仪通道都是一样的。时钟通道用于

外部时钟输入,判定通道用来判定时钟边沿,其余逻辑

分析仪通道则是正常数据采集通道。例如,建议在使用

136通道逻辑分析仪模块时,把SDRAM存储器CK信

号连接到逻辑分析仪CK1或CK3输入通道上,把

SDRAM存储器命令信号(S0#, RAS#, CAS#和WE#)连

接到逻辑分析仪A1, A3, C3或E3通道上。

之所以使用这些特定逻辑分析仪通道,是因为逻辑分析

仪模块能够重新配置成使用半通道模式或1/4通道模式

采集更快、更长的记录长度。例如,使用TLA7BB4在

全部136条通道上使用内部定时时,逻辑分析仪最大定

时分辨率是635ps(1.6GS/s),最大记录长度是每条通道

64 Mb。在1/4通道模式下,可用的通道数量下降到原

始通道数量的1/4,变成34条通道;定时分辨率提高了

4倍,达到156 ps(6.4GS/s); 记录长度提高了2倍,每

条通道达到128 Mb。

为实现最大的灵活性,最好从全通道、半通道和1/4通

道内部时钟输出模式下使用的CK1, CK3, A1, A3, C3和

E3通道入手。此外,在状态采集模式下,TLA7BB4逻

辑分析仪模块可以使用半通道模式和1/4通道模式采集

更快的数据速率和更快的时钟速率。查看逻辑分析仪手

册,看能否重新配置,通过降低通道数量或存储器容量,

来提高定时分辨率。在测量设置中没有使用所有逻辑分

析仪通道时,应先使用这些通道。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 5

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图4. 活动箭头指明了DDR2 SDRAM时钟转换。

图5. 和6 DDR2 SDRAM时钟,逻辑高或低中没有边沿转换,活动的横线指明了这一点。

逻辑分析仪门限设置和信号活动

逻辑分析仪门限取决于信号类型和被测的存储器类型。

门限决定着信号的逻辑高低,具体视门限电压电平值而

定。例如,DDR2 SDRAM对S0#, RAS#, CAS#和WE#

命令信号使用0.9 V门限。DDR2 SDRAM VREF(DC)同

样也使用0.9 V门限。DDR2 SDRAM CK是一个差分

信号,逻辑分析仪门限设为0 V,而某些设计人员则使

用高于0V的50 mV的小偏置。设计中带有差分时钟和

单端数据信号正变得越来越常见。因此,泰克逻辑分析

仪探头是为探测差分时钟、差分判定符信号和单端数据

信号而设计的。

DDR3 SDRAM 的VREF(DC)是0.750V,逻辑电平要低

于DDR2 SDRAM。

为了说明这个过程,我们先恢复出厂默认设置。然后,

在设置窗口中,把时钟和命令信号增加到探头通道中,

然后为命令信号创建一个命令组,并设置相应的门限

值。触发配置设为立即触发。也就说是,它设置成在看

到的第一个样点上触发采集。这与任意事件触发相同。

一旦按下Run按钮,立即触发将立即采集数据。在波形

窗口中,样点标记和时钟信号添加到波形画面中。点击

Activity按钮,查看每个波形标签旁边的信号活动情况。

Activity(活动)指示符可以在运行逻辑分析仪前有效检查

实际信号。对时钟来说,应该有一个垂直的双箭头标

示,表明检测到时钟转换(参见图4)。如果没有波形活

动标示(参见图5和图6),则进行下述检查:存储器系

统已经加电运行,相应探头通道连接到存储器系统的相

应测试点上,逻辑分析仪门限是差分时钟信号的正确电

平。

6 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图7. 以 2 ns定时分辨率测量的DDR2 SDRAM时钟。

图8. 顶部是深定时波形中以2 ns定时分辨率测量的DDR2 SDRAM时钟,底部是波形中以MagniVu 125 ps高分辨率定时测

量的DDR2 SDRAM时钟。注意125 ps定时分辨率可以更好地表示时钟信号。

DDR2 SDRAM时钟波形

按Run按钮,使用逻辑分析仪捕获DDR2 SDRAM时钟。

定时波形如图7所示。注意垂直Sample(样点)标记表

明时钟是以逻辑分析仪默认的2 ns定时分辨率测量的。

定时测量的分辨率越高,时钟测量的准确性越高。有两

种技术,可以以更高的定时分辨率测量时钟。第一种技

术是使用半通道或1/4通道定时模式。第二种技术是使

用泰克MagniVu

TM

采集,在TLA7AA4上可获得125 ps

高分辨率定时,而在TLA7BB4上可获得20ps的高分

辨率定时。

MagniVu是泰克专利的数字过采样逻辑分析仪构架,

它在每条逻辑分析仪通道上采用一个高分辨率采样器,

为所有逻辑分析仪采集模式采集数据,同时保存自己的

高分辨率定时数据。它就象一台仪器中有两部逻辑分析

仪一样:MagniVu高分辨率定时和正常深存储定时或

状态采集。由于这个高分辨率采样器的数据供各种采集

方式使用,因此MagniVu、深定时和状态采集可以实现

完美时间相关。

在TLA7AA4上,MagniVu采样分辨率是125 ps,记录

长度是16K。同时TLA7BB4上,采样分辨率是20ps,

记录长度是128K。MagniVu高分辨率定时总是在采集

数据的,而不能关闭。为查看DDR2 SDRAM时钟波形的

MagniVu 125 ps高分辨率定时波形,只需按MagniVu按

钮 (参见图8)。

在图8中,注意更高定时分辨率的好处。使用相同的逻

辑分析仪探头,以两种不同的定时分辨率测量DDR2

SDRAM时钟信号。在TLA7AA4的MagniVu波形中,信

号边沿不确定性是125 ps,而在深定时波形中,边沿不

确定性是2 ns。MagniVu 125 ps高分辨率定时可以更

准确地捕获信号。

/memory 7

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图9. DDR2 SDRAM时钟测量: 266.06 MHz频率, 3.759 ns周期和50.248%正占空比。

DDR2 SDRAM时钟测量

通过使用逻辑分析仪拖放测量,可以迅速检查DDR2

SDRAM时钟频率、周期和占空比。在波形窗口底部测

量一栏中,选择频率测量,把它拖放到MagniVu DDR2

SDRAM时钟波形上。对周期测量和正占空比测量进行

同一操作。之所以使用MagniVu波形,是因为它拥有

最高的边沿分辨率。为提高拖放测量的精度,把测量选

通(Gate)从Display(显示)变成Full Record (全部记录)

(参见图9)。测量的统计(Statistics)一栏显示了样本总量

从显示选通中的4变成了全部记录选通下的542。

50.248%正占空比落在这一存储器45% - 55%的规范范

围内。例如,对DDR2 533 SDRAM,时钟频率是266.06

MHz。人们经常提到DDR2 SDRAM的数据速率,这一

数据速率是时钟频率的两倍。

为实现最高的测量精度,最好使用泰克高性能示波器测

量时钟信号。使用示波器及DPOJET抖动和时序分析软

件可以很好分析其它时钟指标,如时钟抖动、上升时

间、下降时间和扩频时钟(SSC)。一般来说,示波器拥

有更高的模拟带宽、更高的采样速率,提供了模拟信号

测量能力。这些测量功能使得示波器更适合高精度模拟

测量和参数测量。但是,使用逻辑分析仪拖放测量可以

非常迅速简便地检查DDR2 SDRAM时钟功能。

8 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

检查时钟毛刺

存储器控制器提供干净的DDR2 SDRAM时钟对存储器

可靠运行至关重要。串扰、走线阻抗误差、信号端接错

误、电源故障等都会引起时钟毛刺。

对SDRAM, DDR SDRAM、DDR2 SDRAM和DDR3

SDRAM,使用逻辑分析仪的拖放毛刺触发功能,可迅

速检查时钟毛刺。在波形窗口中,选择位于Measure-

ment (测量)一栏旁边的Trigger (触发)一栏,把增加的

毛刺触发拖放到时钟组波形上。这种拖放毛刺触发功能

将把逻辑分析仪设置成只在时钟毛刺上触发采集(参见

图10)。

泰克TLA系列逻辑分析仪把毛刺定义为深定时采样周

期中出现两个或两个以上的边沿。拖放触发窗口中的采

集毛刺复选框,可以开关红色毛刺条标记。在毛刺触发

中,逻辑分析仪会一直运行,只有在看到SDRAM时钟

上的毛刺时才会停止运行。在存储器时钟测试中使用逻

辑分析仪毛刺触发的关键,是时钟正脉宽和负脉宽必须

大于深定时采样周期。

对fpga控制ddr2 SDRAM总结

如果在吃午饭前或周末休息前启动逻辑分析仪,在返回

时逻辑分析仪仍在运行,那么您可以树立信心,SDRAM

时钟信号中没有毛刺。如果有毛刺,支持逻辑分析仪和

示波器综合操作的iView

TM

显示会从存储器协议到数字

波形和模拟波形,提供强大全面的存储器信号查看能

力,以进行调试。如果逻辑分析仪触发毛刺,那么您将

在波形窗口的触发点上,在与深定时采样周期相同的时

间,从MagniVu波形上看到两个或两个以上的边沿。为

进一步调试时钟毛刺,使用上面提到的综合操作。在这

一操作中,逻辑分析仪将触发时钟毛刺。然后,逻辑分

析仪会触发示波器,捕获毛刺的模拟特点。然后,逻辑

分析仪会导入并显示该模拟时钟波形,且时间上与逻辑

分析仪数字波形相一致。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 9

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图11. 使用逻辑分析仪PowerTrigger程序,确定逻辑分析仪运行的时间长度,计算SDRAM时钟毛

刺数量。

注意,拖放触发只在深定时组和各条波形通道上工作。

因此,在波形窗口中增加时钟波形时,最好使用时钟

组,不要按探头或按名称增加时钟波形。在波形窗口

中,波形标记左边的扩展框指明了波形组。在组中拥有

一条以上的通道时,波形组显示为总线波形。为扩展

组,只需点击扩展框上的加号。为压缩组,只需点扩展

input CLK100;

input CLK200;

框上的减号。

input RESET_N;

input [31:0] DATAIN;

input [3:0] DM;

output [31:0] DATAOUT;

input [15:0] DQIN;

output [15:0] DQOUT;

output [1:0] DQM;

inout [1:0] DQS;

input [1:0] SC_CL;

output DQOE;

reg [31:0] DATAOUT;

reg [1:0] DQM;

wire [1:0] DQS;

reg [31:0] din1;

reg [31:0] din2;

reg [31:0] din2a;

reg [3:0] dmin1;

reg [3:0] dmin2;

reg [3:0] dmin2a;

reg [15:0] dq1;

reg [15:0] dq2;

reg [1:0] dm1;

reg hi_lo;

reg dqs1a;

reg dqs2a;

reg dqs3a;

reg dqs1b;

reg dqs2b;

reg dqs3b;

为确定毛刺有多大,创建一个两种状态的逻辑分析仪

PowerTrigger程序,启动定时器,计算毛刺数量,直到

停止逻辑分析仪 (参见图11)。逻辑分析仪状态监视器

中会一直更新和显示定时器和计数器的值。一旦逻辑分

析仪开始运行,第一个状态会启动一个定时器。第二个

状态会计算毛刺数量,直到停止逻辑分析仪。

泰克示波器还能够触发毛刺。因此,如果您正在使用示

波器测量时钟,那么应该花几分钟来通过设置触发器触

发毛刺,以检查时钟信号。

10 /memory

reg [15:0] din2x_1;

reg [15:0] din2x_2;

reg [15:0] din1x_h1;

reg [15:0] din1x_l1;

reg [15:0] din1x_h2;

reg [15:0] din1x_l2;

reg ioe;

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图12. DDR2 SDRAM的码型符号文件实例。

捕获和显示SDRAM命令信号

存储器控制器把时钟和存储器命令发送到SDRAM。在

SDRAM问世前,RAS#、CAS#和WE#边沿的定时和

顺序决定着动态RAM (DRAM)工作模式。同步DRAM

(SDRAM)在SDRAM时钟的上升沿对S0#, RAS#,

CAS#和WE#命令信号采样。SDRAM顺序同步命令操

作代替DRAM异步操作。

为增加SDRAM命令组,在逻辑分析仪波形窗口中操作。

如果设置成立即触发,您可能看不到命令组中的任何变

化。这是因为存储器控制器可能取消了选择存储器,在

按逻辑分析仪Run按钮时,没有任何存储器命令发送到

SDRAM。

Activate Row(激活行)命令是写入或读取命令序列的第

一个命令。为在Activate Row命令上触发逻辑分析仪,

把逻辑分析仪配置成触发等于0011的命令组,即

S0#=0, RAS#=0, CAS#=1和WE#=1,如表2所示。

/memory 11

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图13. 逻辑分析仪PowerTrigger程序使用码型符号,触发SDRAM激活命令。

处理0011之类的数字逻辑容易发生错误。逻辑分析仪

以多种格式处理数据:二进制,八进制,十六进制,十

进制,带符号的十进制和符号。在一组信号定义了逻辑

状态时,如SDRAM命令组,会使用码型符号文件。每

个码型符号还可以有相关的颜色。根据SDRAM命令

表,如表1所示,使用Microsoft Notepad创建了下面

的泰克符号文件(TFS),并保存为 (参见

图12)。

在设置逻辑分析仪触发SDRAM激活命令时,逻辑分析

仪使用这些码型符号(参见图13)。在逻辑分析仪

PowerTrigger语句定义中,逻辑分析仪配置成在命令

组等于激活命令时触发采集。为在PowerTrigger语句

定义中使用码型符号,Group Radix(组基数)变成符号,

选择文件。

12 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

逻辑分析仪触发SDRAM激活命令(二进制0011) (参见

图14)。命令组波形显示为总线,二进制的命令总线值

和信号边沿转换用十字线或从上到下的竖线表示。

在图14中,通过点击命令组标记左面的加号,可以扩

展命令组总线,查看各个信号。命令组基数采用二进

制。0ps上的竖线是触发点。在触发点上,命令组是二

进制0011,这是激活命令,如表1所示。触发点上扩

展的命令波形是S0#=0, RAS#=0, CAS#=1和WE#=1。

与逻辑分析仪触发一样,改变命令组总线中所示数字的基

数。在波形属性中,把基数变成符号,选择PowerTrigger

中使用的相同的码型符号文件。通过使

用彩色符号,可以查看可读性高得多的总线(参见图

15)。使用带符号的总线,为检验SDRAM命令协议顺

序和定时关系是否正确提供了强大的工具。

检验SDRAM写入操作

SDRAM写入操作的协议顺序的开头是激活命令,然后

是一条或多条写入命令。带有行和组地址的激活命令会

在特定组中打开特定行,进行写入和读取。带有列和组

地址的写入命令会在特定组中打开的行内打开特定列,

以进行写入。对访问没有打开行的组的写入命令,将发

生协议错误。在写入命令后,存储器在规定的存储器周

期中,预计存储器控制器会对其写入数据。一般来说,

DDR2 SDRAMs会用4的倍数组来处理数据。在打开的

行完成写入,要访问其它行时,必需使用预充电命令关

闭行。最简单的DDR2 SDRAM命令协议顺序是激活、写

入和预充电。连续的写入到写入顺序是激活、多次写入

和预充电。写入到读取顺序是激活、写入、读取和预充

电。在打开的行上可以采用任何写入和读取顺序。

//Generate the appropriate logic levels on RAS_N, CAS_N, and WE_N

//depending on the issued command.

//

if ( do_refresh==1 ) begin // Refresh: S=00, RAS=0, CAS=0, WE=1

RAS_N <= 0;

CAS_N <= 0;

WE_N <= 1;

end

else if (do_precharge==1) begin // Precharge All: S=00, RAS=0, CAS=1, WE=0

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_reada == 1 | do_writea == 1) begin // Activate: S=01 or 10, RAS=0, CAS=1, WE=1

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 1;

end

else if (do_rw == 1) begin // Read/Write: S=01 or 10, RAS=1, CAS=0, WE=0 or 1

RAS_N <= 1;

CAS_N <= 0;

WE_N <= rw_flag;

end

else if (do_initial ==1) begin

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

end

else begin // No Operation: RAS=1, CAS=1, WE=1

/memory 13

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图15. 触发SDRAM激活命令,命令组使用带颜色的命令符号。此外,命令组扩展显示S0#, RAS#, CAS#和WE#信号。

图15显示了写入顺序开头是激活命令,后面跟着写入

命令。DDR2 SDRAMs指定了激活命令和写入命令之

间的最小(tRCD(MIN))。此外,这个最小时间取决于存

储器的附加时延。公布的CAS附加时延(AL)使得命令

和数据总线能够更加高效地实现可持续带宽。附加时延

允许在最小(tRCD(MIN))之前,把写入命令发送到存储

器。附加时延值通过存储器控制器编程到存储器扩展模

式寄存器。DDR2 SDRAM实例中没有使用附加时延。

例如,对DDR2 SDRAM,在附加时延为零时,不应在

激活命令的tRCD(MIN)范围内发送写入命令。在本例

中,tRCD(MIN)规定为15 ns。检验tRCD值的快速方

式是在激活命令的上升时钟沿上点击鼠标右键,在这里

增加一个标尺,对写入命令的上升时钟沿进行同一操

作。为帮助提高读取能力,可以在标尺上双击鼠标,把

默认名称变成Activate和Write。此外,如果需要根据

时钟边沿调节激活和写入标尺,那么在使用鼠标抓取标

尺、并在时钟波形顶部水平移动时,标尺将卡到时钟波

形边沿上。在不想把标尺卡到波形边沿时,在空白波形

空间上水平移动标尺。然后,改变增量时间测量框,显

示激活标尺和写入标尺之间的时间差。可以从菜单条中

调出增量时间测量框,移到更加方便的地方。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

14 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图16. 测量激活命令和写入命令之间的tRCD值为15 ns。

写入命令是在激活命令后15 ns发送的(参见图16)。如

果测得的tRCD小于15 ns,附加时延为零,那么存储

器控制器违反了DDR2 SDRAM规范。

图16还显示了连续写入到写入操作的开头。存储器控

制器在第一个写入后两个时钟周期时发送第二条写入命

令。在连续写入命令之间有一条deselect命令。如果

存储器控制器在 一个行中发送了两条写入命令,而在

这两条写入命令之间没有deselect命令,那么会发生

DDR2 DRAM协议错误。DDR2 DRAM将读取存储器控

制器选通的数据,来对写入命令作出响应。

DDR2 DRAM的最低突发长度是四个数据位。DDR是

双倍数据速率的缩写,表示每个时钟周期写入两个数据

位。完成突发长度为四个数据位的写入操作需要两个时

钟周期,正因如此,写入命令后面要跟有取消选定命

令。

取消选定命令为写入命令之后所需的第二个数据写入周

期提供了时间。另一个关键DDR2 DRAM指标是发送预

充电命令后及发送激活命令、打开一个行之前的最小

tRP时间。通过把逻辑分析仪变成触发预充电命令,测

量同一组中预充电命令和激活命令之间的tRP时间,可

以简便地完成这一操作。

图16显示了DDR2 DRAM写入操作。这些协议和定时

检验技术同样也适用于DDR2 DRAM读取操作。

使用逻辑分析仪状态采集进行协议检验

逻辑分析仪状态采集为采集和检验SDRAM命令协议顺

序提供了更加高效的方式。状态采集采用SDRAM时钟,

在逻辑分析仪中存储SDRAM命令值。一个SDRAM时

钟周期使用一个逻辑分析仪存储器位置,定时采集中则

使用多个逻辑分析仪存储器位置。状态采集也被称为外

时钟采集或同步采集。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 15

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图17. 逻辑分析仪AutoDeskew分析用黄色菱形显示了建议的样点位置。绿色菱形显示了当前的样点位置,其已经设置成等于

建议位置。

与时钟同步的信号,如SDRAM命令,相对于SDRAM

时钟边沿具有建立时间和保持时间要求。这也称为数据

有效窗口。存储器命令信号的数据有效窗口位于

SDRAM上升时钟边沿周围。逻辑分析仪对SDRAM命

令信号有一个数据有效窗口,以使用SDRAM时钟采集

SDRAM命令。逻辑分析仪的灵活之处在于,可以调节

每条逻辑分析仪通道的数据有效窗口,找到最佳位置,

保证逻辑分析仪可靠地捕获信号。

逻辑分析仪AutoDeskew分析将为每条通道提供逻辑分

析仪数据有效窗口的最佳位置。

AutoDeskew分析SDRAM命令信号,查找边沿转换。

边沿转换参考外部SDRAM上升时钟边沿(参见图17)。

黑色横线表明由于边沿转换导致的无效数据。蓝色实条

表明了没有边沿转换的数据有效窗口。黄色菱形显示了

逻辑分析仪的建议样点位置。绿色菱形显示了逻辑分析

仪的当前样点位置,其已经进行调节,以匹配建议的样

点位置。命令[3, 2, 1和0]通道代表S0#, RAS#, CAS#

和WE#命令信号。

在本例中,S0#, RAS#, CAS#和WE#命令信号行为良

好,边沿时间类似,无效数据区域很小。由于在没有激

活芯片选择S0#时,RAS#、CAS#和WE#边沿可能发

生在时钟周期的任何时间,因此不要求这些行为良好的

信号。AutoDeskew将看到这些边沿,在时钟边沿周围

显示非常小的数据有效窗口,或没有数据有效窗口。

AutoDeskew将一直处理芯片选择S0#,因为它一直是

一个活动命令信号。如果在SDRAM时钟边沿周围,

AutoDeskew没有显示数据有效窗口,那么先对RAS#、

CAS#和WE#使用S0#建议样点。

16 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图18. 与SDRAM上升边沿时钟有关的S0#, RAS#, CAS#和WE#的多通道眼图。光标上的眼图张

开为904 mV高、3.48 ns宽。

至少有四种方法,可以检验建议的样点位置。第一,使

用AutoDeskew建立时间/保持时间违规分析;第二,

根据建议的样点位置设置建立时间/保持时间违规

PowerTrigger;第三,分析CK, S0#, RAS#, CAS#和

WE#的MagniVu high分辨率轨迹,检验建议的这些样

点位置;第四,使用逻辑分析仪和示波器iVerify

TM

综合

分析功能,分析多通道眼图(参见图18)。

/memory 17

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

在芯片选择S0#无效时,RAS#、CAS#和WE#可以在

时钟周期中的任何地方变化。但是,这会由于取消选定

存储器时发生的边沿转换而导致无效眼图。iVerify设置

菜单为使用任何逻辑分析仪通道判定上升时钟边沿提供

了一种方式。因此,S0#低有效用来判定上升时钟边沿,

捕获有效眼图。

波形窗口的顶部显示了MagniVu 125 ps高分辨率定时

(参见图19)。底部是状态采集命令总线,它采用码型符

号文件进行解码。注意查看命令状态总线上方的

Sample记号。注意其只发生在SDRAM时钟的上升沿

上,因为正是这个时钟边沿导致逻辑分析仪对命令总线

采样。结果,逻辑分析仪只在SDRAM时钟周期中对命

令采样一次,命令状态总线只有SDRAM时钟的上升沿

上发生取值变化。状态采集的优点是逻辑分析仪查看命

令总线的方式与SDRAM查看命令总线的方式相同。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

18 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图20. 逻辑分析仪iCapture探头可以同时探测三种SDRAM时钟和命令测量。顶部波形是MagniVu

125 ps高分辨率定时。中间命令总线是状态采集。底部四个波形是使用iView接口的示波器发出的

CLK, RAS#, CAS#和WE#。

TM

强大的一系列iLink工具功能把时间相关的数字信号

iLink

TM

系列工具:把两种强大的测量工具合

在读取时丆DQS与数据信号同时生成乮也是在CK与CK#的交叉点乯。而DDR内存中的

和模拟信号带入逻辑分析仪显示屏中。逻辑分析仪以数

CL也就是从CAS发出到DQS生成的间隔丆DQS生成时丆芯片内部的预取已经完毕了丆

二为一

字形式采集和显示信号,相连的TDS系列示波器则以

由于预取的原因丆实际的数据传出可能会提前于DQS发生乮数据提前于DQS传出乯。

尽管逻辑分析仪和示波器长期来一直是数字调试的首

模拟形式捕获相同的信号,并在逻辑分析仪屏幕上显示

由于是并行传输丆DDR内存对tAC也有一定的要求丆对于DDR266†CtAC的允许范围是

选工具,但并不是每个设计人员都能看到把这两大仪

信号。同时查看这两个视图,可以简便地查看模拟领域

±0.75ns†C对于DDR333†C则是±0.7ns†C有关它们的时序图示见前文丆其中CL里包含了

器集成起来所具有的明显优势。

中的毛刺怎样导致了数字域中的定时问题。

一段DQS的导入期。

逻辑分析仪通过读取数字信息流,触发采集电路问

iLink

TM

系列工具是专门设计的完善套件,加快了问题

DQS在读取时与数据同步传输丆那么接收时也是以DQS的上下沿为准吗丠不丆如果以

题,捕获相关事件,加快了调试和检验速度。示波器

检测和调试速度:

DQS的上下沿区分数据周期的危险很大。由于芯片有预取的操作丆所以输出时的同步

则深入数字定时图,显示原始模拟波形,迅速揭示信

很难控制丆只能限制在一定的时间范围内丆数据在各I/O端口的出现时间可能有快有

iCapture

TM

多路复用通过一个逻辑分析仪探头同时提

号完整性问题。

慢丆会与DQS有一定的间隔丆这也就是为什么要有一个tAC规定的原因。而在接收方丆

供数字采集和模拟采集

TM

泰克多款逻辑分析仪都提供了iLink系列工具,这是

一切必须保证同步接收丆不能有tAC之类的偏差。这样在写入时丆芯片不再自己生成

iView

TM

画面在逻辑分析仪显示屏上提供时间相关的

TM

业内独有的逻辑分析仪/示波器集成软件包。iLink

DQS†C而以发送方传来的DQS为基准丆并相应延后一定的时间丆在

逻辑分析仪和示波器综合测量功能

DQS的中部为数据

系列工具将泰克示波器和泰克TLA系列逻辑分析仪的

周期的选取分割点乮在读取时分割点就是上下沿乯丆从这里分隔开两个传输周期。这样

iVerify

TM

分析使用示波器生成的眼图,

TM

提供多通道总

处理能力——20 ps分辨率的MagniVu采集及基于

做的好处是丆由于各数据信号都会有一个逻辑电平保持周期丆即使发送时不同步丆在

线分析和检验测试

状态机的高级触发功能——结合在了一起。

DQS上下沿时都处于保持周期中丆此时数据接收触发的准确性无疑是最高的。

/memory 19

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

泰克iCapture和iView在逻辑分析仪和示波器之间提供

了集成操作。CLS, RAS#, CAS#和WE#的示波器波形

在时间上与逻辑分析仪命令状态总线及SDRAM时钟和

命令的MagniVu 125 ps高分辨率定时相关(参见图20)。

通过iCapture逻辑探头,可以全面查看这种模拟、数字

定时和数字状态的波形。逻辑分析仪可以触发示波器,

示波器也可以触发逻辑分析仪。泰克iCapture、iView

和iVerify都是iLink

TM

系列工具的一部分,为检验和调

试存储器提供了强大的功能。

列表窗口为分析命令状态数据提供了更加高效的方式

(参见图21)。第一列列明了样点数量。第二列列明了上

一个码型符号文件已经解码的命令状态数据。最后一列

是125 ps分辨率的时戳。这可以通过多种方式配置:

从开始起的时间,从触发起的时间,从上一个样点起的

时间(如图21所示)及其它变化。注意,中间的横线是触

发点。触发位于激活命令上。在激活命令前有一个很长

的deselec序列。激活命令是写入到写入操作长序列的

开头。激活命令后面三个deselect可以满足发送写入

命令前最小DDR2 SDRAM t

RCD(MIN)

。写入命令之间的

deselect命令为从前面的写入命令把四个数据位写入存

储器留出了时间。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯。

图21. 列表窗口显示SDRAM命令的状态采集及命令符号

名称。

20 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图22. 隐藏所有SDRAM deselect命令的显示过滤器。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 21

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

目前DDR3内存芯片基本上都是8个Bank设计丆也就是说一共有8个这样

的“表格”。

寻址的流程也就是先指定Bank地址丆再指定行地址丆然后指列地址最终

的确寻址单元。

现在可以应用隐藏deselect命令显示过滤器,来查看

目前DDR3系统而言丆还存在物理Bank的概念丆这是对内存子系统的一

列表窗口(参见图23)。在激活命令前可以看到相距大约

个相关术语丆

并不针对内存芯片。内存为了保证CPU正常工作丆必须一次传输完CPU

7.8 µs的一长串刷新命令,在激活命令前可以看到一长

在一个传输周期

内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数

串写入到写入命令。注意时戳值针对的是以前显示的命

据总线的位宽丆

单位是bit(位)。控制内存与CPU之间数据交换的北桥芯片也因此将内存

令。第一个写入命令的时戳是15 ns,这是波形窗口中

总线的数据位宽

等同于CPU数据总线的位宽丆这个位宽就称为物理Bank†iPhysical

测得的值。对这个存储器,激活到写入命令的最小时间

Bank†C有的资料称之为Rank†j的位宽。目前这个位宽基本为64bit。

tRCD(MIN)是15 ns。时戳的分辨率是125 ps。如果使

在实际工作中丆Bank地址与相应的行地址是同时发出的丆此时这个命令

称之为“行激

用TLA7BB4,时戳分辨率将会是20ps。

活”乮Row Active†j。在此之后丆将发送列地址寻址命令与具体的操作

命令乮是读还是

写乯丆这两个命令也是同时发出的丆所以一般都会以“读/写命令”来表

检验刷新操作

示列寻址。根

据相关的标准丆从行有效到读/写命令发出之间的间隔被定义为tRCD†C即

DRAM的基本存储单元是为每个存储单元提供的电容

RAS to CAS

Delay†iRAS至CAS延迟丆RAS就是行地址选通脉冲丆CAS就是列地址

器。存储单元电容器上的电荷最终会衰落,存储单元的

选通脉冲乯丆

我们可以理解为行选通周期。tRCD是DDR的一个重要时序参数丆广义的

值会丢失。在存储单元电容器的值丢失之前,必需读取

tRCD以时钟

存储单元,然后把相同的值放回到存储单元中。这一操

周期乮tCK†CClock Time†j数为单位丆比如tRCD=3†C就代表延迟周期为

两个时钟周期

作称为刷新。

丆具体到确切的时间丆则要根据时钟频率而定丆DDR3-800†CtRCD=3†C

代表30ns的延迟。

图23. 隐藏所有SDRAM deselect命令的列表窗口。可

以明显看出,刷新是触发激活命令前唯一活动的存储器

命令。在激活命令之后,有一长串写入到写入操作。

22 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图24. 这个显示过滤器只显示了SDRAM刷新命令,用来帮助检验刷新操作。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 23

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

目前DDR3内存芯片基本上都是8个Bank设计丆也就是说一共有8个这

样的“表格”。寻址的流程也就是先指定Bank地址丆再指定行地址丆

然后指列地址最终的确寻址单元。

目前DDR3系统而言丆还存在物理Bank的概念丆这是对内存子系统的一

512 Mb DDR2 SDRAM实例的刷新周期时间是64ms,

个相关术语丆并不针对内存芯片。内存为了保证CPU正常工作丆必须

刷新数量是8K (8192)。刷新周期时间(64 ms) 除以刷

一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输

周期能接受的数据容量就是CPU数据总线的位宽丆单位是bit(位)。控制

新数(8192),得到7.8125 µs;这是刷新之间的平均间

内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等

同于CPU数据总线的位宽丆这个位宽就称为物理Bank†iPhysical

隔。刷新操作有一定的灵活性,它允许最多八个连续刷

Bank†C有的资料称之为Rank†j的位宽。目前这个位宽基本为64bit。

新周期,改善了任务调度及任务之间切换的效率。

在实际工作中丆Bank地址与相应的行地址是同时发出的丆此时这个命

令称之为“行激活”乮Row Active†j。在此之后丆将发送列地址寻址命

令与具体的操作命令乮是读还是写乯丆这两个命令也是同时发出的丆所

下面我们将检验刷新周期在平均间隔为7.8125 µs时的

以一般都会以“读/写命令”来表示列寻址。根据相关的标准丆从行有

情况。刷新之间的连续刷新周期最低时间为105 ns

效到读/写命令发出之间的间隔被定义为tRCD†C即RAS to CAS Delay

†iRAS至CAS延迟丆RAS就是行地址选通脉冲丆CAS就是列地址选通

tRFC(MIN)。这一指标也适用于刷新到激活命令间隔。

脉冲乯丆我们可以理解为行选通周期。tRCD是DDR的一个重要时序参

数丆广义的tRCD以时钟周期乮tCK†CClock Time†j数为单位丆比如

我们创建了一个显示过滤器,只显示刷新命令(参见图

tRCD=3†C就代表延迟周期为两个时钟周期丆具体到确切的时间丆则要

根据时钟频率而定丆DDR3-800†CtRCD=3†C代表30ns的延迟。

24)。这个过滤器应用到列表窗口中(参见图25)。列表

窗口显示了完整的128K状态采集记录,其已经在整个

列表中进行过滤。第一个刷新命令在样点580处获得,

最后一个样点在样点129305处获得。时戳测量每条刷

新命令之间的时间,平均值约为7.8 µs。

图25. 在列表窗口中检验刷新到刷新时间,其中只显

示了刷新命令。

24 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图26. 使用PowerTrigger程序,查找任何刷新到刷新命令,其中间隔大于7.812 µs。

/memory 25

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图27. PowerTrigger程序找到间隔大于7.812 µs的刷新到刷新命令。在本例中,刷新间隔是7.846,

875 µs。

26 /memory

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯.

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图28. AutoDeskew分析显示了组地址、列地址、行地址和命令的大型数据有效窗口。

DDR2 SDRAM分成不同的尺寸和不同的组配置。512

Mb DDR2 SDRAM的行地址使用A0-A13,组地址使

用BA0-BA1,列地址使用A0-A9。行地址数量要高于

列地址,以降低存储器使用的功率。存储器功率会随着

列数提高而提高。行地址和列地址复用到存储器相同的

物理针脚上。结果,激活命令对行地址使用所有A0-

A13。写入命令对列地址使用A0-A9,A10用来启用或

禁用自动预充电。自动预充电导致行在写入突发最后自

动预充电。自动预充电关闭行,如果没有选择自动预充

电,那么在后续的写入和读取访问中,该行会一直打开。

/memory 27

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图29. iVerify分析显示了组地址、列地址、行地址和命令的数据有效窗口。

存储器使用统计显示,读取数量高于写入数量,然后下

一个存储器位置被读取的可能性要高于任何其它存储器

位置。它支持这样一个概念,即计算机读取顺序命令的

数量要高于任何其它存储器操作。激活命令和读取命令

之间存在时延,而一旦第一条读取命令执行,一系列读

取命令可以以最大数据速率提供连续数据流,直到到达

存储器行尾。因此,行地址分配给存储器控制器最无用

的地址位。

对DDR2 SDRAM地址总线和组总线状态采集,逻辑分

析仪数据有效窗口或样点位置的配置方式与命令总线相

同(参见图28和图29)。正如预期的那样,在增加两个

组地址和14个地址时,眼图略微闭合。多通道眼图从

图18中仅四个命令信号的3.48 ns,变成图29中全部

20个信号的3.3 ns。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

28 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图30. 列表窗口表明触发激活命令,显示组地址、行地址和列地址。

逻辑分析仪触发激活命令,其中已经从显示窗口上滤除

deselect命令(参见图30)。每个数据列标题中都有

“Filter”,以提示用户正在进行过滤。第一个和第二个激

活命令采用相同的行地址(十六进制2000)及相同的组地

址(3)。第一个写入命令使用000十六进制值的列地址,

存储器控制器把由四个数据值组成的突发写入到存储器

中。第二条写入命令使用004十六进制值的列地址,因

为第一条写入命令在地址中填充000, 001, 002和003

十六进制值。预充电命令之前写入命令的列地址为030

十六进制值。存储器控制器预充电命令在第3组的2000

十六进制值上关闭打开的行。执行刷新周期,然后预充

电命令在第3组中在2000十六进制上打开同一行,然

后写入命令开始写入第3组中的列地址034。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 29

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

通过使用时戳,可以迅速检验这个命令序列的定时。前预充电到刷新时间是15.125 ns,非常接近15 ns的预

在读取时丆DQS与数据信号同时生成乮也是在CK与CK#的交叉点乯。而DDR内存中的

三个刷新命令间隔指定平均值为7.8 µs。刷新到激活命充电命令周期(MIN)。第二个刷新到激活间隔116 ns,

CL也就是从CAS发出到DQS生

令时间为7.689,875 µs,远远高于规定的最低105 ns。大于指定的刷新到激活命令间隔105 ns (MIN)。其余的

成的间隔丆DQS生成时丆芯片内部的预取已经完毕了丆由于预取的原因丆实际的数据传

激活到写入的最低规定值为15 ns。列表窗口连续写入到写入间隔是7.625 ns - 7.500 ns。

出可能会提前于DQS发生乮数

可以通过多种方式,检验最后的刷新到刷新间隔。首

据提前于DQS传出乯。由于是并行传输丆DDR内存对tAC也有一定的要求丆对于

先,可以增加时戳间隔;其次,使用光标要比较简便,

DDR266†CtAC的允许范围是±0.75ns

而且不太容易出错。把光标2移动最后刷新上,把光标

†C对于DDR333†C则是±0.7ns†C有关它们的时序图示见前文丆其中CL里包含了一段

1移动到就在第一个激活命令上方的前一个刷新上。然

DQS的导入期。

后使用增量时间读数,测量光标1到光标2,得到7.847

DQS在读取时与数据同步传输丆那么接收时也是以DQS的上下沿为准吗丠不丆如果以

µs,即为指定的平均刷新时间。

DQS的上下沿区分数据周期的危

写入到预充电由三个时间间隔组成:第一个是写入时延

险很大。由于芯片有预取的操作丆所以输出时的同步很难控制丆只能限制在一定的时

(WL),它是3个时钟周期(3.759 ns*3=11.277 ns)。然

间范围内丆数据在各I/O端口的出

后是两个时钟周期(3.759 ns*2=7.518 ns),以把四个数

现时间可能有快有慢丆会与DQS有一定的间隔丆这也就是为什么要有一个tAC规定的

据位突发写入存储器中。最后是15 ns的写入恢复时间

原因。而在接收方丆一切必须保证

(MIN)。把这三个间隔加在一起,等于33.795 ns (MIN),

同步接收丆不能有tAC之类的偏差。这样在写入时丆芯片不再自己生成DQS†C而以发

小于图30中实际测量值37.5 ns。

送方传来的DQS为基准丆并相应延

后一定的时间丆在DQS的中部为数据周期的选取分割点乮在读取时分割点就是上下

沿乯丆从这里分隔开两个传输周期。

这样做的好处是丆由于各数据信号都会有一个逻辑电平保持周期丆即使发送时不同步丆

在DQS上下沿时都处于保持周期

中丆此时数据接收触发的准确性无疑是最高的。

30 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

图31. Nexus DDR3 NEXVu DIMM,为JEDEC标准设计,带

有逻辑分析仪探头测试点。提供了杰出的信号保真度,让用

户可以捕获到存储器件“看到”的实际眼图。

逻辑分析仪存储器支持软件

逻辑分析仪存储器支持软件通过配置逻辑分析仪设置,

增强了逻辑分析仪操作,它为存储器采集、存储器数据

分析软件、助记符列表提供了自定义时钟输入,可以包

括存储器探测硬件。NexusTechnology公司(www.

/)提供逻辑分析仪存储器支持软

件,是泰克在嵌入式系统工具方面的合作伙伴,为泰克

逻辑分析仪和示波器提供补充性产品。泰克公司可以为

指定的NexusTechnology产品提供发货服务。

Nexus提供的基于逻辑分析仪的DDR3/DDR2协议违

规分析软件可以自动分析DDR2或DDR3总线,快速简

易地识别协议违规,并提供逻辑分析仪存储器内的所有

DDR命令的全局视图。

应用指南

确定正确的采样点以捕获DDR3数据,是一件困难并且

很花时间的事情,因为数据有效窗口很小而且判别电平

很低。Nexus DDR3采样点分析(SPA)软件能检查逻辑

分析仪的MagniVu数据,并自动调节门限电平以优化采

集。这样,它可以确定采集每个数据组的最佳位置,并

允许用户检查这些设置和确定使用这些优化结果。这种

方式简化并加快了对DDR3进行精确数据采集的设置过

程。Nexus逻辑分析仪存储器支持软件可以用于DDR,

DDR2, DIMM, SO-DIMM, FB-DIMM和其它新兴存储

器技术。探测硬件从直接探测嵌入式存储器系统时的没

有探测硬件,直到使用DIMM内插器和配置相应仪器的

DIMMs。Nexus把配置相应仪器的DIMM称为NEXVu

DIMM(参见图31)。

DDR2 NEXVu DIMMs要高于普通DIMM,因此可以使

用相邻插槽中普通高度的DIMM相连。逻辑分析仪探头

连接到NEXVu DIMM的任一侧。两个NEXVu DIMMs可

以位于相邻插槽中,逻辑分析仪探头连接在每个NEXVu

DIMM的相反一侧。

NEXVu DIMMs在FBGA IC封装附近带有内层电路板隔

离电阻器,降低了相连的探测电路板走线的负载效应。

在图31中,可以看到带有散热器的大型AMB以及18个

DDR2 667 SDRAM中的8个SDRAM。

另外在图31中,还可以看到24条高速差分电路板走线

从连接器边沿到达高级存储缓冲器(AMB)。注意,其距

FB-DIMM的距离越远,走线长度越长。在FB-DIMM

存储器系统中,没有蜿蜒的走线模式,来平衡由24个差

分信号组成的走线长度。这简化了电路板布局。信号越

少、电路板布局越简单,与使用UDIMMs和RDIMMs相

比每个存储器系统的FB-DIMM通道数量越多。FB-

DIM通道初始化训练部分中的AMB可以消除电路板走

线不均匀导致的信号偏移。

/memory 31

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图32. 在存储器控制器发出模式寄存器命令期间,使用逻辑分析仪捕获的DDR2 SDRAM模式寄存

器 (MR)和扩展模式寄存器配置。

使用NEX-FBD-NEXVu采集数据

配置NEX-FBD-NEXVu操作只需几步。第一步是为逻

辑分析仪数据有效窗口配置命令组采样点位置。其方式

与本应用指南前面设置命令组样点的方式相同。可以使

用MagniVu或AutoDeskew,确定每个SDRAM命令信

号的最优逻辑分析仪样点位置。使用iVerify,检查带有

多通道眼图的信号数据有效窗口。

NEX-FBD-NEXVu自定义时钟输入提供了多种时钟输

入模式,可以有效利用逻辑分析仪存储器。第一步需要

进行两个选择:第一个要选择采集每个DDR2 DRAM上

升时钟边沿,还是根据RAS#和CAS#命令实现选择性

时钟输入。第二个是保存刷新周期还是降低保存的刷新

周期数量。

第二步是在列表窗口中增加列,捕获SDRAM模式寄存

器(MR)和扩展模式寄存器配置,确定CAS时延(CL)、突

发长度 (BL)和附加时延(AL)。在模式寄存器命令期间,

存储器控制器使用地址A0-13和组地址BA0-1把16

位值编程到这些寄存器中。

为了解在哪里查找读取和写入数据有效窗口,需要模式

寄存器值。模式寄存器值对CAS时延为4,对突发长度

为4,对附加时延为0 (参见图32)。这些值用来确定写

入和读取数据有效窗口的位置,在列表窗口中配置逻辑

分析仪,进行反汇编。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

32 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图33. 触发激活命令后第一个读取命令。计算四个读取时延(RL)时钟边沿数量,找到显示了读取数据标尺的第一个读取数据周期。

DDR2 SDRAM 64位读取数据是由5555,5555,5555,5555十六进制值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

图34. MagniVu高分辨率定时测量读取数据有效窗口,设置逻辑分析仪采样点位置。DDR2 SDRAM 64位读取数据是由5555,

5555,5555,5555十六进制值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

存储器支持软件提供了16位模式寄存器和扩展模式寄

存器的位解码功能。图32显示了样点30中的模式寄存

器怎样解码成9行助记符。图12中使用的符号表不能

提供图32中所示的复杂的多行助记符解码。助记符解

码是存储器支持软件的一个明显优势。

存储器支持软件把64位存储器数据划分成一个32位

DatHi组和一个32位DatLo组(参见图34)。在这种情况

下,两个合并的逻辑分析仪模块在数据线外部2X时钟

输入模式下操作。这意味着逻辑分析仪使用两条存储器

通道,每条通道拥有不同的样点位置,在单个时钟周期

期间在一条数据I/O线上采集DDR2 SDRAM数据。四

个样点由两个组构成,每个组两个样点。在设置窗口自

定义时钟输入中配置这四个样点,采集读取数据。

波形窗口标尺放在时钟和重命名时钟的上升沿上。标尺

用五条竖虚线表示,如图34所示。第二个A_Beg标尺

放在第一个读取数据有效窗口开头的后面,其中包含

5555,5555,5555,5555十六进制数据。第二个A_End标

尺放在A_Beg标尺后面625 ps处。A_Beg到A_End的

625 ps时间间隔是读取数据保持稳定不变所要求的时

间,以使逻辑分析仪TLA7AA4能够可靠地采集数据。

读取时延(RL)确定读取突发数据的开头。在附加时延

(AL)中增加CAS时延(CL),确定读取时延(RL),从读取

命令中计算RL上升时钟边沿数量,找到读取命令的第

一个读取数据周期(参见图33)。对4位和8位的突发长

度,读取数据时钟周期分别为两个和四个。

refresh操作与预充电操作一样丆都是用S-AMP先读再写。预充电是对一个或

所有Bank中的工作行操作丆并且是不定期的丆而refresh则是有固定的周期丆

依次对所有行进行操作丆以保留那些久久没经历重写的存储体中的数据。但与

所有Bank Precharge不同的是丆这里的行是指所有Bank中地址相同的行丆而

Precharge中各Bank中的工作行地址并不是一定是相同的。

/memory 33

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图35. Nexus Technology公司NEX-FBD-NEXVu列表窗口,DDR2 SDRAM读取数据是由5555,5555,5555,5555十六进制

值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

时钟和A_Beg标尺之间125 ps的增量时间测量提供了

自定义时钟输入设置中配置的建立时间。类似的,

B_Beg和B_End标尺用来确定DDR2 SDRAM时钟周

期的第二个数据有效窗口。在图34中,第一个逻辑分

析仪读取数据有效窗口A从时钟上升沿之后125 ps开

始。第二个逻辑分析仪读取数据有效窗口B从时钟上升

沿之后2 ns开始。

如果使用三个合并的逻辑模块,那么可以同时捕获写入

数据和读取数据。因此,为配置逻辑分析仪写入样点位

置,可以触发激活到写入命令顺序,使用MagniVu高

分辨率定时波形,确定写入数据的逻辑分析仪数据有效

窗口。注意,在确定写入数据位置时,写入时延(WL)比

读取时延(RL)小1。在自定义时钟输入下的设置窗口

中,逻辑分析仪样点位置配置成采集写入和读取数据。

DDR2 SDRAM数据线为一个时钟周期提供了四个数据

有效窗口。逻辑分析仪配置成对每个时钟周期采集全部

四个数据有效窗口。它在外部4X模式下对三个合并的

TLA7AA4逻辑分析仪模块使用自定义时钟输入,来完

成这一操作。在逻辑分析仪完成采集后,它分析

SDRAM命令,确定其是写入周期还是读取周期,然后

使用附加时延(AL)、CAS时延(CL)和突发长度(BL),确

定有效数据周期在逻辑分析仪采集的数据中的位置。用

户在列表窗口助记符列反汇编属性中设置周期类型、附

加时延、CAS时延和突发长度。

34 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

小结

本应用指南介绍了逻辑分析仪在检验SDRAM协议排序

和定时中的功能。我们考察了SDRAM时钟和四个

SDRAM命令信号,检验了大量的数据。整个检验采用

Nexus Technology存储器支持软件、存储器内插器和

NEXVu DIMMs。

泰克还提供了全套工具,包括业内领先的示波器、真正

差分TDR及装有Nexus Technology存储器支持软件的

逻辑分析仪,使得嵌入式和计算机设计人员能够迅速精

确地进行电接口测试,检验存储器设计的运行状况。联

合使用时,这套工具提供了杰出的性能及无可比拟的易

用性,是检验和调试嵌入式系统和计算机存储器系统的

理想解决方案。

refresh操作与预充电操作一样丆都是用S-AMP先读再写。预充电是对一个或

所有Bank中的工作行操作丆并且是不定期的丆而refresh则是有固定的周期丆

依次对所有行进行操作丆以保留那些久久没经历重写的存储体中的数据。但与

所有Bank Precharge不同的是丆这里的行是指所有Bank中地址相同的行丆而

Precharge中各Bank中的工作行地址并不是一定是相同的。

/memory 35

电子发烧友 电子技术论坛

泰克科技(中国)有限公司

上海市浦东新区川桥路1227号

邮编:201206

电话:(8621)50312000

传真:(8621)58993156

泰克成都办事处

成都市人民南路一段86号

城市之心23层D-F座

邮编:610016

电话:(8628)86203028

传真:(8628)86203038

泰克北京办事处

北京市海淀区花园路4号

通恒大厦1楼101室

邮编:100088

电话:(8610)62351210/1230

传真:(8610)62351236

泰克西安办事处

西安市东大街

西安凯悦(阿房宫)饭店345室

邮编:710001

电话:(8629)87231794

传真:(8629)87218549

泰克上海办事处

泰克深圳办事处

上海市静安区延安中路841号

深圳市罗湖区深南东路5002号

东方海外大厦18楼1802-06室

信兴广场地王商业大厦G1-02室

邮编:200040

邮编:518008

电话:(8621)62896908

电话:(86755)82460909

传真:(8621)62897267

传真:(86755)82461539

泰克武汉办事处

泰克香港办事处

武汉市汉口建设大道518号九龙尖沙咀加连威老道2-6号

招银大厦1611室爱宾大厦15楼6室

邮编:430022

电话:(852)25856688

电话:(8627)87812760/2831

传真:(852)25986260

有关信息

泰克公司备有内容丰富的各种应用文章、技术简介和其他资料,并

不断予以充实,可为从事前沿技术研究的工程师提供帮助。请访问

泰克公司网站

版权©2008, 泰克公司。泰克公司保留所有权利。泰克公司的产品

受美国和国外专利权保护,包括已发布和尚未发布的产品。以往出

版的相关资料信息由本出版物的信息代替。泰克公司保留更改产品

规格和定价的权利。TEKTRONIX 和TEK 是泰克有限公司的注册商

标。所有其他相关商标名称是各自公司的服务商标或注册商标。

06/09 JS/WWW 52C-19236-2

36 /memory

2024年8月29日发(作者:西门寄蓉)

电子发烧友 电子技术论坛

应用指南

检验DDR, DDR2和DDR3 SDRAM

命令和协议

跟上更加复杂、更短设计周期的步伐

不只计算机存储器系统一直需要更大、更快、功率更低、物理尺寸更小的存储器,嵌入式系统

应用也有类似的要求。本应用指南介绍了逻辑分析仪在检验DDR, DDR2和DDR3 SDRAM命

令和协议中的能力。

/memory 1

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

引言

DRAM的异步操作特性在连接同步处理器时导致了许多

设计挑战。SDRAM (同步DRAM)采用专门设计,以实

现DRAM与计算机系统其余部分同步操作,而不需定

义基于序列模式的存储器操作。SDRAM的技术演进,

如DDR SDRAM,已经迅速提高了存储器的数据速率性

能。DDR, DDR2和DDR3 SDRAM都通过从存储控制

器主机向存储器发送的存储器命令进行控制。

SDRAM

DDR-266

DDR-333

DDR-400

DDR2-400

DDR2-533

DDR2-667

DDR2-800

DDR2-1066

DDR3-800

DDR3-1066

DDR3-1333

DDR3-1600

表1. SDRAM标准

数据率 MT/S

266

333

400

400

533

667

800

1066

800

1066

1333

1600

时钟 MHz

133

166

200

200

267

334

400

533

400

533

667

800

VDD V

2.5

2.5

2.5

1.8

1.8

1.8

1.8

1.8

1.5

1.5

1.5

1.5

DDR, DDR2和DDR3 SDRAM

一直都有这样的需求,就是存储器要容量更大、速度更

快、功耗更低以及物理尺寸更小。这些需求推动着

DRAM技术的进步。近几年中,主流DRAM技术有很

多主要提升,如SDRAM(同步DRAM),DDR(双数

据率)SDRAM,DDR2(双数据率2)SDRAM,DDR3(双

数据率3)SDRAM。

DDR(双数据率)SDRAM通过提升时钟速率、猝发式数

据以及在一个时钟内传输两个数据位,提升了内存的数

据率性能。

DDR2(双数据率2)SDRAM在DDR的基础有一些进步。

DDR2 SDRAM时钟速率更高,这样就增加了内存的数

据速率。但在时钟速率增长的情况下,可靠的内存处理

对信号完整性的要求更为苛刻。随着时钟速率增长,电

路板上的信号路径变成了传输线,这样正确的布线和信

号走线末端端接变得至关重要。

DDR3 SDRAM是革命性的技术提升,它将SDRAM速

度推到了800Mb/s以上。DDR3 SDRAM支持六种数据

速率和时钟速度。DDR3-800/1066/1333 SDRAM在

2007年实现,而DDR3-1600在2008年。预计DDR3-

1866/2133会在2009年实现。DDR3-1066 SDRAM相

比DDR2-800 SDRAM有更小的功耗,这是因为DDR3

SDRAM的工作电压是1.5V,只有DDR2 SDRAM 1.8V

工作电压的83%。而且,DDR3 SDRAM的数据DQ驱

动器使用了比DDR2 SDRAM的18欧姆更高的34欧姆

匹配阻抗。DDR3 SDRAM的存储容量从512Mb起,将

来会提升到8Gb。DDR3 SDRAM数据输出宽度配置包

括X4、X8和X16。DDR3 SDRAM有8组,而DDR2

SDRAM根据存储容量大小可能是4组或8组。

DDR2和DDR3 SDRAM都有4个模式寄存器。DDR2

定义了前两个寄存器,其余两个保留,以待为未来应用

需要。DDR3使用了所有的4个。一个明显的区别是,

DDR2模式寄存器为读取操作定义了CAS延迟时间,写

延时比寄存器中的读延时少一个周期即可。而DDR3

SDRAM模式寄存器则为CAS读延时和写延时制定了

了独立的设置。DDR3 SDRAM使用8n预取结构,这样

可以在4个时钟周期内传输8个数据字。DDR2 SDRAM

使用4n预取结构,于是可以在2个时钟周期内传输4个

数据字。DDR3 SDRAM模式寄存器被设置为支持突发

突变模式,这种模式在读取或写入命令中将地址12线

设为低,以把本来的8个数据字传输缩短为4个数据字。

突发突变和同时使用在DDR2与DDR3中的地址10线

读写预充电功能的概念十分类似。

2 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

在DIMM上,DDR3 SDRAM命令、时钟和地址线都有

匹配端接。而使用DDR2 DIMM的内存系统中,命令、

时钟和数据都在主板上做端接。DDR3 DIMM上的端接

允许SDRAM上的每根命令、时钟和地址引脚都连接到

同一根在DIMM做了端接的走线上的fly-by拓扑结构。

这种结构改善了信号完整性,能够让DDR3工作在比

DDR2的树形结构更高的速度上。Fly-by拓扑结构为

DDR3 SDRAM的内存控制器计算写入操作中时钟和数

据选通DQS之间的时延引入了一个新的写入电平判断

功能。DDR3 SDRAM在防止将错误的DIMM插入主板

上也和DDR2 SDRAM有区别。

SDRAM设计实现方案从电路板结构直到软件操作,要

求全面进行检验和测试,以保证存储器可靠运行。如果

没有全面检验设计实现方案,而导致存储器系统中频繁

地发生随机错误,那么产品的可靠性就会大打折扣。

同时支持状态采集和定时采集的逻辑分析仪为检验和调

试存储器命令和协议提供了最佳仪器。它还可以使用高

达20ps的定时采集分辨率,在功能上检验存储器信号

的电气特点。本应用指南重点介绍使用逻辑分析仪,检

验存储器系统是否正确进行命令和协议操作。

DDR3逻辑分析仪解决方案

泰克逻辑分析仪配合Nexus Technology的DDR3内存

支持包,可以捕获DDR3读/写数据和DDR3命令。只

有泰克的TLA7BB4逻辑分析仪模块能足够快到满足迄

今所有DDR3速率的测试要求。它拥有在每条通道上高

达20ps(50GS/s)的时间分辨率,这样内存设计人员可

以使用它捕获和分析毛刺、定时错位和信号完整性问

题。

本指南中的大多数实例都是采用512 Mb DDR2 SDRAM,

配置为64 Meg x 8个输出。内部配置是16 Meg x 8个

应用指南

输出 x 4组。这里介绍的技术使用了TLA7AA4模块,同

时适用于嵌入式系统、计算机、工作站和服务器中使用

的大多数SDRAM、DDR SDRAM、DDR2 SDRAM和

DDR3 SDRAM。泰克推荐在测试DDR3 SDRAM和多数

DDR2 SDRAM时使用TLA7BB4模块。如需更多测试建

议,请联系您当地的泰克服务专员。一如既往地,用户

应检查使用的存储器的技术数据,以确定其规范、功能

和操作。

逻辑分析仪探测

在过去10年中,逻辑分析仪探测一直在不断进步。最

初,逻辑分析仪探头要么使用抓斗夹连接到IC脚上,要

么连接到安装在电路板的方形针脚上。随着数字设计变

得越来越复杂,速度不断提升,逻辑分析仪探测技术还

使用过电路板上的快接式阻抗受控Mictor连接器。

尖端数字设计把数字时钟速率推进到接近1 GHz。其结

果是,探测的信号完整性变得异常关键。在这些超高信

号频率上,连接器的阻抗不匹配及占用电路板空间一般

较大的特性,推动探头革新为高密度无连接器探头。这

些高密度无连接器探头直接连接到电路板焊盘和走线

上,电路上不使用或不安装连接器。

//Generate the appropriate logic levels on RAS_N, CAS_N, and WE_N

//depending on the issued command.

//

if ( do_refresh==1 ) begin // Refresh: S=00, RAS=0,

CAS=0, WE=1

RAS_N <= 0;

CAS_N <= 0;

WE_N <= 1;

end

else if ((do_precharge==1) & ((oe4 == 1) | (rw_flag == 1)))

begin // burst terminate if write is active

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_precharge==1) begin // Precharge All: S=00,

RAS=0, CAS=1, WE=0

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_rw == 1) begin // Read/Write: S=01 or 10,

RAS=1, CAS=0, WE=0 or 1

RAS_N <= 1;

CAS_N <= 0;

WE_N <= rw_flag;

end

else if (do_initial ==1) begin

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

end

else begin // No Operation: RAS=1, CAS=1,

WE=1

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

/memory 3

end

end

end

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图1. 仪器化DIMM

图2. DIMM内插器图3. 安装在内存IC和DIMM之间芯片内插器

直接探测

这种探测方式中,Mictor连接器或无连接器的接触点被

布置电路板上。DDR信号被引到这些连接器或触点上

以供逻辑分析仪探头探测。这些要求认真考虑怎样使用

逻辑分析仪来检验和调试存储器系统。通过分析连接到

存储器系统上的逻辑分析仪探头的仿真结果,可以确定

最佳探测位置,测量信号及探头负荷对存储器系统操作

的影响。最好在设计存储器系统电路板之前完成这一仿

真。

在某些情况下,最终产品设计不允许电路板上留有探接

测试点。有几种方式可以检验和调试这些设计。其中一

种是先设计一块大型检验电路板,其中全面配备逻辑分

析仪和示波器测试点。在检验和调试完成后,再设计缩

减了测试点或没有测试点的、面积更小的电路板。

探测附件

一个替代方案是使用探测附件来探测电路板上的DDR

SDRAM信号。这里诸如Nexus Technology和

FuturePlus这些公司提供了几类不同的探测附件,包括:

仪器化DIMM

这类加长的DIMM上有逻辑分析仪连接器,这些连接器

被是根据JEDEC的规范设计的。仪器化的SO-DIMM

和FB-DIMM也已经面世。这些公司提供的解决方案支

持所有的DDR SDRAM信号测试。

DIMM内插器

这类产品安装在内存DIMM和主板之间。DIMM内插器

使用了混合设计,所以不需要其它的连接器。各种不同

配置和速率的内插器都能在市场上找到。

4 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

命令

模式寄存器

刷新

预充电

激活行

写入列

读取列

无操作

取消选定

表2. SDRAM命令

S0#

0

0

0

0

0

0

0

1

RAS#

0

0

0

0

1

1

1

X

CAS#

0

0

1

1

0

0

1

X

WE#

0

1

0

1

0

1

1

X

芯片内插器

有些类型的内插器安装在存储器IC和电路板之间。这

种设计需要使用焊接的方式,将内存颗粒焊接在内插器

上,或者将内存颗粒安装座焊接在内插器上。

逻辑分析仪通道和组设置

SDRAM存储器命令同步到存储器时钟(CK)的上升沿。

4个命令信号是芯片选择(S0#或CS#)、行地址选择

(RAS#)、列地址选择(CAS#)和写入启用(WE#)。符号#

表明信号低电平有效(参见表2)。某些存储器可能有额

外的信号,如时钟有效 (CKE),这是一个高电平有效的

信号。

检验存储器命令要求逻辑分析仪探测五个信号:CK,

S0#, RAS#, CAS#和WE#。TLA设置只需一两分钟的

时间,先从默认系统设置开始。然后,在逻辑分析仪设

置窗口中,为五个命令信号(CK, S0#, RAS#, CAS#和

WE#)分配探头通道,使用S0#, RAS#, CAS#和WE#通

道创建命令组名称。通过创建命令组,可以在逻辑分析

仪波形窗口、列表窗口、触发、过滤和搜索中使用符号

命令名。

并不是所有逻辑分析仪通道都是一样的。时钟通道用于

外部时钟输入,判定通道用来判定时钟边沿,其余逻辑

分析仪通道则是正常数据采集通道。例如,建议在使用

136通道逻辑分析仪模块时,把SDRAM存储器CK信

号连接到逻辑分析仪CK1或CK3输入通道上,把

SDRAM存储器命令信号(S0#, RAS#, CAS#和WE#)连

接到逻辑分析仪A1, A3, C3或E3通道上。

之所以使用这些特定逻辑分析仪通道,是因为逻辑分析

仪模块能够重新配置成使用半通道模式或1/4通道模式

采集更快、更长的记录长度。例如,使用TLA7BB4在

全部136条通道上使用内部定时时,逻辑分析仪最大定

时分辨率是635ps(1.6GS/s),最大记录长度是每条通道

64 Mb。在1/4通道模式下,可用的通道数量下降到原

始通道数量的1/4,变成34条通道;定时分辨率提高了

4倍,达到156 ps(6.4GS/s); 记录长度提高了2倍,每

条通道达到128 Mb。

为实现最大的灵活性,最好从全通道、半通道和1/4通

道内部时钟输出模式下使用的CK1, CK3, A1, A3, C3和

E3通道入手。此外,在状态采集模式下,TLA7BB4逻

辑分析仪模块可以使用半通道模式和1/4通道模式采集

更快的数据速率和更快的时钟速率。查看逻辑分析仪手

册,看能否重新配置,通过降低通道数量或存储器容量,

来提高定时分辨率。在测量设置中没有使用所有逻辑分

析仪通道时,应先使用这些通道。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 5

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图4. 活动箭头指明了DDR2 SDRAM时钟转换。

图5. 和6 DDR2 SDRAM时钟,逻辑高或低中没有边沿转换,活动的横线指明了这一点。

逻辑分析仪门限设置和信号活动

逻辑分析仪门限取决于信号类型和被测的存储器类型。

门限决定着信号的逻辑高低,具体视门限电压电平值而

定。例如,DDR2 SDRAM对S0#, RAS#, CAS#和WE#

命令信号使用0.9 V门限。DDR2 SDRAM VREF(DC)同

样也使用0.9 V门限。DDR2 SDRAM CK是一个差分

信号,逻辑分析仪门限设为0 V,而某些设计人员则使

用高于0V的50 mV的小偏置。设计中带有差分时钟和

单端数据信号正变得越来越常见。因此,泰克逻辑分析

仪探头是为探测差分时钟、差分判定符信号和单端数据

信号而设计的。

DDR3 SDRAM 的VREF(DC)是0.750V,逻辑电平要低

于DDR2 SDRAM。

为了说明这个过程,我们先恢复出厂默认设置。然后,

在设置窗口中,把时钟和命令信号增加到探头通道中,

然后为命令信号创建一个命令组,并设置相应的门限

值。触发配置设为立即触发。也就说是,它设置成在看

到的第一个样点上触发采集。这与任意事件触发相同。

一旦按下Run按钮,立即触发将立即采集数据。在波形

窗口中,样点标记和时钟信号添加到波形画面中。点击

Activity按钮,查看每个波形标签旁边的信号活动情况。

Activity(活动)指示符可以在运行逻辑分析仪前有效检查

实际信号。对时钟来说,应该有一个垂直的双箭头标

示,表明检测到时钟转换(参见图4)。如果没有波形活

动标示(参见图5和图6),则进行下述检查:存储器系

统已经加电运行,相应探头通道连接到存储器系统的相

应测试点上,逻辑分析仪门限是差分时钟信号的正确电

平。

6 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图7. 以 2 ns定时分辨率测量的DDR2 SDRAM时钟。

图8. 顶部是深定时波形中以2 ns定时分辨率测量的DDR2 SDRAM时钟,底部是波形中以MagniVu 125 ps高分辨率定时测

量的DDR2 SDRAM时钟。注意125 ps定时分辨率可以更好地表示时钟信号。

DDR2 SDRAM时钟波形

按Run按钮,使用逻辑分析仪捕获DDR2 SDRAM时钟。

定时波形如图7所示。注意垂直Sample(样点)标记表

明时钟是以逻辑分析仪默认的2 ns定时分辨率测量的。

定时测量的分辨率越高,时钟测量的准确性越高。有两

种技术,可以以更高的定时分辨率测量时钟。第一种技

术是使用半通道或1/4通道定时模式。第二种技术是使

用泰克MagniVu

TM

采集,在TLA7AA4上可获得125 ps

高分辨率定时,而在TLA7BB4上可获得20ps的高分

辨率定时。

MagniVu是泰克专利的数字过采样逻辑分析仪构架,

它在每条逻辑分析仪通道上采用一个高分辨率采样器,

为所有逻辑分析仪采集模式采集数据,同时保存自己的

高分辨率定时数据。它就象一台仪器中有两部逻辑分析

仪一样:MagniVu高分辨率定时和正常深存储定时或

状态采集。由于这个高分辨率采样器的数据供各种采集

方式使用,因此MagniVu、深定时和状态采集可以实现

完美时间相关。

在TLA7AA4上,MagniVu采样分辨率是125 ps,记录

长度是16K。同时TLA7BB4上,采样分辨率是20ps,

记录长度是128K。MagniVu高分辨率定时总是在采集

数据的,而不能关闭。为查看DDR2 SDRAM时钟波形的

MagniVu 125 ps高分辨率定时波形,只需按MagniVu按

钮 (参见图8)。

在图8中,注意更高定时分辨率的好处。使用相同的逻

辑分析仪探头,以两种不同的定时分辨率测量DDR2

SDRAM时钟信号。在TLA7AA4的MagniVu波形中,信

号边沿不确定性是125 ps,而在深定时波形中,边沿不

确定性是2 ns。MagniVu 125 ps高分辨率定时可以更

准确地捕获信号。

/memory 7

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图9. DDR2 SDRAM时钟测量: 266.06 MHz频率, 3.759 ns周期和50.248%正占空比。

DDR2 SDRAM时钟测量

通过使用逻辑分析仪拖放测量,可以迅速检查DDR2

SDRAM时钟频率、周期和占空比。在波形窗口底部测

量一栏中,选择频率测量,把它拖放到MagniVu DDR2

SDRAM时钟波形上。对周期测量和正占空比测量进行

同一操作。之所以使用MagniVu波形,是因为它拥有

最高的边沿分辨率。为提高拖放测量的精度,把测量选

通(Gate)从Display(显示)变成Full Record (全部记录)

(参见图9)。测量的统计(Statistics)一栏显示了样本总量

从显示选通中的4变成了全部记录选通下的542。

50.248%正占空比落在这一存储器45% - 55%的规范范

围内。例如,对DDR2 533 SDRAM,时钟频率是266.06

MHz。人们经常提到DDR2 SDRAM的数据速率,这一

数据速率是时钟频率的两倍。

为实现最高的测量精度,最好使用泰克高性能示波器测

量时钟信号。使用示波器及DPOJET抖动和时序分析软

件可以很好分析其它时钟指标,如时钟抖动、上升时

间、下降时间和扩频时钟(SSC)。一般来说,示波器拥

有更高的模拟带宽、更高的采样速率,提供了模拟信号

测量能力。这些测量功能使得示波器更适合高精度模拟

测量和参数测量。但是,使用逻辑分析仪拖放测量可以

非常迅速简便地检查DDR2 SDRAM时钟功能。

8 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

检查时钟毛刺

存储器控制器提供干净的DDR2 SDRAM时钟对存储器

可靠运行至关重要。串扰、走线阻抗误差、信号端接错

误、电源故障等都会引起时钟毛刺。

对SDRAM, DDR SDRAM、DDR2 SDRAM和DDR3

SDRAM,使用逻辑分析仪的拖放毛刺触发功能,可迅

速检查时钟毛刺。在波形窗口中,选择位于Measure-

ment (测量)一栏旁边的Trigger (触发)一栏,把增加的

毛刺触发拖放到时钟组波形上。这种拖放毛刺触发功能

将把逻辑分析仪设置成只在时钟毛刺上触发采集(参见

图10)。

泰克TLA系列逻辑分析仪把毛刺定义为深定时采样周

期中出现两个或两个以上的边沿。拖放触发窗口中的采

集毛刺复选框,可以开关红色毛刺条标记。在毛刺触发

中,逻辑分析仪会一直运行,只有在看到SDRAM时钟

上的毛刺时才会停止运行。在存储器时钟测试中使用逻

辑分析仪毛刺触发的关键,是时钟正脉宽和负脉宽必须

大于深定时采样周期。

对fpga控制ddr2 SDRAM总结

如果在吃午饭前或周末休息前启动逻辑分析仪,在返回

时逻辑分析仪仍在运行,那么您可以树立信心,SDRAM

时钟信号中没有毛刺。如果有毛刺,支持逻辑分析仪和

示波器综合操作的iView

TM

显示会从存储器协议到数字

波形和模拟波形,提供强大全面的存储器信号查看能

力,以进行调试。如果逻辑分析仪触发毛刺,那么您将

在波形窗口的触发点上,在与深定时采样周期相同的时

间,从MagniVu波形上看到两个或两个以上的边沿。为

进一步调试时钟毛刺,使用上面提到的综合操作。在这

一操作中,逻辑分析仪将触发时钟毛刺。然后,逻辑分

析仪会触发示波器,捕获毛刺的模拟特点。然后,逻辑

分析仪会导入并显示该模拟时钟波形,且时间上与逻辑

分析仪数字波形相一致。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 9

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图11. 使用逻辑分析仪PowerTrigger程序,确定逻辑分析仪运行的时间长度,计算SDRAM时钟毛

刺数量。

注意,拖放触发只在深定时组和各条波形通道上工作。

因此,在波形窗口中增加时钟波形时,最好使用时钟

组,不要按探头或按名称增加时钟波形。在波形窗口

中,波形标记左边的扩展框指明了波形组。在组中拥有

一条以上的通道时,波形组显示为总线波形。为扩展

组,只需点击扩展框上的加号。为压缩组,只需点扩展

input CLK100;

input CLK200;

框上的减号。

input RESET_N;

input [31:0] DATAIN;

input [3:0] DM;

output [31:0] DATAOUT;

input [15:0] DQIN;

output [15:0] DQOUT;

output [1:0] DQM;

inout [1:0] DQS;

input [1:0] SC_CL;

output DQOE;

reg [31:0] DATAOUT;

reg [1:0] DQM;

wire [1:0] DQS;

reg [31:0] din1;

reg [31:0] din2;

reg [31:0] din2a;

reg [3:0] dmin1;

reg [3:0] dmin2;

reg [3:0] dmin2a;

reg [15:0] dq1;

reg [15:0] dq2;

reg [1:0] dm1;

reg hi_lo;

reg dqs1a;

reg dqs2a;

reg dqs3a;

reg dqs1b;

reg dqs2b;

reg dqs3b;

为确定毛刺有多大,创建一个两种状态的逻辑分析仪

PowerTrigger程序,启动定时器,计算毛刺数量,直到

停止逻辑分析仪 (参见图11)。逻辑分析仪状态监视器

中会一直更新和显示定时器和计数器的值。一旦逻辑分

析仪开始运行,第一个状态会启动一个定时器。第二个

状态会计算毛刺数量,直到停止逻辑分析仪。

泰克示波器还能够触发毛刺。因此,如果您正在使用示

波器测量时钟,那么应该花几分钟来通过设置触发器触

发毛刺,以检查时钟信号。

10 /memory

reg [15:0] din2x_1;

reg [15:0] din2x_2;

reg [15:0] din1x_h1;

reg [15:0] din1x_l1;

reg [15:0] din1x_h2;

reg [15:0] din1x_l2;

reg ioe;

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图12. DDR2 SDRAM的码型符号文件实例。

捕获和显示SDRAM命令信号

存储器控制器把时钟和存储器命令发送到SDRAM。在

SDRAM问世前,RAS#、CAS#和WE#边沿的定时和

顺序决定着动态RAM (DRAM)工作模式。同步DRAM

(SDRAM)在SDRAM时钟的上升沿对S0#, RAS#,

CAS#和WE#命令信号采样。SDRAM顺序同步命令操

作代替DRAM异步操作。

为增加SDRAM命令组,在逻辑分析仪波形窗口中操作。

如果设置成立即触发,您可能看不到命令组中的任何变

化。这是因为存储器控制器可能取消了选择存储器,在

按逻辑分析仪Run按钮时,没有任何存储器命令发送到

SDRAM。

Activate Row(激活行)命令是写入或读取命令序列的第

一个命令。为在Activate Row命令上触发逻辑分析仪,

把逻辑分析仪配置成触发等于0011的命令组,即

S0#=0, RAS#=0, CAS#=1和WE#=1,如表2所示。

/memory 11

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图13. 逻辑分析仪PowerTrigger程序使用码型符号,触发SDRAM激活命令。

处理0011之类的数字逻辑容易发生错误。逻辑分析仪

以多种格式处理数据:二进制,八进制,十六进制,十

进制,带符号的十进制和符号。在一组信号定义了逻辑

状态时,如SDRAM命令组,会使用码型符号文件。每

个码型符号还可以有相关的颜色。根据SDRAM命令

表,如表1所示,使用Microsoft Notepad创建了下面

的泰克符号文件(TFS),并保存为 (参见

图12)。

在设置逻辑分析仪触发SDRAM激活命令时,逻辑分析

仪使用这些码型符号(参见图13)。在逻辑分析仪

PowerTrigger语句定义中,逻辑分析仪配置成在命令

组等于激活命令时触发采集。为在PowerTrigger语句

定义中使用码型符号,Group Radix(组基数)变成符号,

选择文件。

12 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

逻辑分析仪触发SDRAM激活命令(二进制0011) (参见

图14)。命令组波形显示为总线,二进制的命令总线值

和信号边沿转换用十字线或从上到下的竖线表示。

在图14中,通过点击命令组标记左面的加号,可以扩

展命令组总线,查看各个信号。命令组基数采用二进

制。0ps上的竖线是触发点。在触发点上,命令组是二

进制0011,这是激活命令,如表1所示。触发点上扩

展的命令波形是S0#=0, RAS#=0, CAS#=1和WE#=1。

与逻辑分析仪触发一样,改变命令组总线中所示数字的基

数。在波形属性中,把基数变成符号,选择PowerTrigger

中使用的相同的码型符号文件。通过使

用彩色符号,可以查看可读性高得多的总线(参见图

15)。使用带符号的总线,为检验SDRAM命令协议顺

序和定时关系是否正确提供了强大的工具。

检验SDRAM写入操作

SDRAM写入操作的协议顺序的开头是激活命令,然后

是一条或多条写入命令。带有行和组地址的激活命令会

在特定组中打开特定行,进行写入和读取。带有列和组

地址的写入命令会在特定组中打开的行内打开特定列,

以进行写入。对访问没有打开行的组的写入命令,将发

生协议错误。在写入命令后,存储器在规定的存储器周

期中,预计存储器控制器会对其写入数据。一般来说,

DDR2 SDRAMs会用4的倍数组来处理数据。在打开的

行完成写入,要访问其它行时,必需使用预充电命令关

闭行。最简单的DDR2 SDRAM命令协议顺序是激活、写

入和预充电。连续的写入到写入顺序是激活、多次写入

和预充电。写入到读取顺序是激活、写入、读取和预充

电。在打开的行上可以采用任何写入和读取顺序。

//Generate the appropriate logic levels on RAS_N, CAS_N, and WE_N

//depending on the issued command.

//

if ( do_refresh==1 ) begin // Refresh: S=00, RAS=0, CAS=0, WE=1

RAS_N <= 0;

CAS_N <= 0;

WE_N <= 1;

end

else if (do_precharge==1) begin // Precharge All: S=00, RAS=0, CAS=1, WE=0

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 0;

end

else if (do_reada == 1 | do_writea == 1) begin // Activate: S=01 or 10, RAS=0, CAS=1, WE=1

RAS_N <= 0;

CAS_N <= 1;

WE_N <= 1;

end

else if (do_rw == 1) begin // Read/Write: S=01 or 10, RAS=1, CAS=0, WE=0 or 1

RAS_N <= 1;

CAS_N <= 0;

WE_N <= rw_flag;

end

else if (do_initial ==1) begin

RAS_N <= 1;

CAS_N <= 1;

WE_N <= 1;

end

else begin // No Operation: RAS=1, CAS=1, WE=1

/memory 13

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图15. 触发SDRAM激活命令,命令组使用带颜色的命令符号。此外,命令组扩展显示S0#, RAS#, CAS#和WE#信号。

图15显示了写入顺序开头是激活命令,后面跟着写入

命令。DDR2 SDRAMs指定了激活命令和写入命令之

间的最小(tRCD(MIN))。此外,这个最小时间取决于存

储器的附加时延。公布的CAS附加时延(AL)使得命令

和数据总线能够更加高效地实现可持续带宽。附加时延

允许在最小(tRCD(MIN))之前,把写入命令发送到存储

器。附加时延值通过存储器控制器编程到存储器扩展模

式寄存器。DDR2 SDRAM实例中没有使用附加时延。

例如,对DDR2 SDRAM,在附加时延为零时,不应在

激活命令的tRCD(MIN)范围内发送写入命令。在本例

中,tRCD(MIN)规定为15 ns。检验tRCD值的快速方

式是在激活命令的上升时钟沿上点击鼠标右键,在这里

增加一个标尺,对写入命令的上升时钟沿进行同一操

作。为帮助提高读取能力,可以在标尺上双击鼠标,把

默认名称变成Activate和Write。此外,如果需要根据

时钟边沿调节激活和写入标尺,那么在使用鼠标抓取标

尺、并在时钟波形顶部水平移动时,标尺将卡到时钟波

形边沿上。在不想把标尺卡到波形边沿时,在空白波形

空间上水平移动标尺。然后,改变增量时间测量框,显

示激活标尺和写入标尺之间的时间差。可以从菜单条中

调出增量时间测量框,移到更加方便的地方。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

14 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图16. 测量激活命令和写入命令之间的tRCD值为15 ns。

写入命令是在激活命令后15 ns发送的(参见图16)。如

果测得的tRCD小于15 ns,附加时延为零,那么存储

器控制器违反了DDR2 SDRAM规范。

图16还显示了连续写入到写入操作的开头。存储器控

制器在第一个写入后两个时钟周期时发送第二条写入命

令。在连续写入命令之间有一条deselect命令。如果

存储器控制器在 一个行中发送了两条写入命令,而在

这两条写入命令之间没有deselect命令,那么会发生

DDR2 DRAM协议错误。DDR2 DRAM将读取存储器控

制器选通的数据,来对写入命令作出响应。

DDR2 DRAM的最低突发长度是四个数据位。DDR是

双倍数据速率的缩写,表示每个时钟周期写入两个数据

位。完成突发长度为四个数据位的写入操作需要两个时

钟周期,正因如此,写入命令后面要跟有取消选定命

令。

取消选定命令为写入命令之后所需的第二个数据写入周

期提供了时间。另一个关键DDR2 DRAM指标是发送预

充电命令后及发送激活命令、打开一个行之前的最小

tRP时间。通过把逻辑分析仪变成触发预充电命令,测

量同一组中预充电命令和激活命令之间的tRP时间,可

以简便地完成这一操作。

图16显示了DDR2 DRAM写入操作。这些协议和定时

检验技术同样也适用于DDR2 DRAM读取操作。

使用逻辑分析仪状态采集进行协议检验

逻辑分析仪状态采集为采集和检验SDRAM命令协议顺

序提供了更加高效的方式。状态采集采用SDRAM时钟,

在逻辑分析仪中存储SDRAM命令值。一个SDRAM时

钟周期使用一个逻辑分析仪存储器位置,定时采集中则

使用多个逻辑分析仪存储器位置。状态采集也被称为外

时钟采集或同步采集。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 15

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图17. 逻辑分析仪AutoDeskew分析用黄色菱形显示了建议的样点位置。绿色菱形显示了当前的样点位置,其已经设置成等于

建议位置。

与时钟同步的信号,如SDRAM命令,相对于SDRAM

时钟边沿具有建立时间和保持时间要求。这也称为数据

有效窗口。存储器命令信号的数据有效窗口位于

SDRAM上升时钟边沿周围。逻辑分析仪对SDRAM命

令信号有一个数据有效窗口,以使用SDRAM时钟采集

SDRAM命令。逻辑分析仪的灵活之处在于,可以调节

每条逻辑分析仪通道的数据有效窗口,找到最佳位置,

保证逻辑分析仪可靠地捕获信号。

逻辑分析仪AutoDeskew分析将为每条通道提供逻辑分

析仪数据有效窗口的最佳位置。

AutoDeskew分析SDRAM命令信号,查找边沿转换。

边沿转换参考外部SDRAM上升时钟边沿(参见图17)。

黑色横线表明由于边沿转换导致的无效数据。蓝色实条

表明了没有边沿转换的数据有效窗口。黄色菱形显示了

逻辑分析仪的建议样点位置。绿色菱形显示了逻辑分析

仪的当前样点位置,其已经进行调节,以匹配建议的样

点位置。命令[3, 2, 1和0]通道代表S0#, RAS#, CAS#

和WE#命令信号。

在本例中,S0#, RAS#, CAS#和WE#命令信号行为良

好,边沿时间类似,无效数据区域很小。由于在没有激

活芯片选择S0#时,RAS#、CAS#和WE#边沿可能发

生在时钟周期的任何时间,因此不要求这些行为良好的

信号。AutoDeskew将看到这些边沿,在时钟边沿周围

显示非常小的数据有效窗口,或没有数据有效窗口。

AutoDeskew将一直处理芯片选择S0#,因为它一直是

一个活动命令信号。如果在SDRAM时钟边沿周围,

AutoDeskew没有显示数据有效窗口,那么先对RAS#、

CAS#和WE#使用S0#建议样点。

16 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图18. 与SDRAM上升边沿时钟有关的S0#, RAS#, CAS#和WE#的多通道眼图。光标上的眼图张

开为904 mV高、3.48 ns宽。

至少有四种方法,可以检验建议的样点位置。第一,使

用AutoDeskew建立时间/保持时间违规分析;第二,

根据建议的样点位置设置建立时间/保持时间违规

PowerTrigger;第三,分析CK, S0#, RAS#, CAS#和

WE#的MagniVu high分辨率轨迹,检验建议的这些样

点位置;第四,使用逻辑分析仪和示波器iVerify

TM

综合

分析功能,分析多通道眼图(参见图18)。

/memory 17

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

在芯片选择S0#无效时,RAS#、CAS#和WE#可以在

时钟周期中的任何地方变化。但是,这会由于取消选定

存储器时发生的边沿转换而导致无效眼图。iVerify设置

菜单为使用任何逻辑分析仪通道判定上升时钟边沿提供

了一种方式。因此,S0#低有效用来判定上升时钟边沿,

捕获有效眼图。

波形窗口的顶部显示了MagniVu 125 ps高分辨率定时

(参见图19)。底部是状态采集命令总线,它采用码型符

号文件进行解码。注意查看命令状态总线上方的

Sample记号。注意其只发生在SDRAM时钟的上升沿

上,因为正是这个时钟边沿导致逻辑分析仪对命令总线

采样。结果,逻辑分析仪只在SDRAM时钟周期中对命

令采样一次,命令状态总线只有SDRAM时钟的上升沿

上发生取值变化。状态采集的优点是逻辑分析仪查看命

令总线的方式与SDRAM查看命令总线的方式相同。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

18 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图20. 逻辑分析仪iCapture探头可以同时探测三种SDRAM时钟和命令测量。顶部波形是MagniVu

125 ps高分辨率定时。中间命令总线是状态采集。底部四个波形是使用iView接口的示波器发出的

CLK, RAS#, CAS#和WE#。

TM

强大的一系列iLink工具功能把时间相关的数字信号

iLink

TM

系列工具:把两种强大的测量工具合

在读取时丆DQS与数据信号同时生成乮也是在CK与CK#的交叉点乯。而DDR内存中的

和模拟信号带入逻辑分析仪显示屏中。逻辑分析仪以数

CL也就是从CAS发出到DQS生成的间隔丆DQS生成时丆芯片内部的预取已经完毕了丆

二为一

字形式采集和显示信号,相连的TDS系列示波器则以

由于预取的原因丆实际的数据传出可能会提前于DQS发生乮数据提前于DQS传出乯。

尽管逻辑分析仪和示波器长期来一直是数字调试的首

模拟形式捕获相同的信号,并在逻辑分析仪屏幕上显示

由于是并行传输丆DDR内存对tAC也有一定的要求丆对于DDR266†CtAC的允许范围是

选工具,但并不是每个设计人员都能看到把这两大仪

信号。同时查看这两个视图,可以简便地查看模拟领域

±0.75ns†C对于DDR333†C则是±0.7ns†C有关它们的时序图示见前文丆其中CL里包含了

器集成起来所具有的明显优势。

中的毛刺怎样导致了数字域中的定时问题。

一段DQS的导入期。

逻辑分析仪通过读取数字信息流,触发采集电路问

iLink

TM

系列工具是专门设计的完善套件,加快了问题

DQS在读取时与数据同步传输丆那么接收时也是以DQS的上下沿为准吗丠不丆如果以

题,捕获相关事件,加快了调试和检验速度。示波器

检测和调试速度:

DQS的上下沿区分数据周期的危险很大。由于芯片有预取的操作丆所以输出时的同步

则深入数字定时图,显示原始模拟波形,迅速揭示信

很难控制丆只能限制在一定的时间范围内丆数据在各I/O端口的出现时间可能有快有

iCapture

TM

多路复用通过一个逻辑分析仪探头同时提

号完整性问题。

慢丆会与DQS有一定的间隔丆这也就是为什么要有一个tAC规定的原因。而在接收方丆

供数字采集和模拟采集

TM

泰克多款逻辑分析仪都提供了iLink系列工具,这是

一切必须保证同步接收丆不能有tAC之类的偏差。这样在写入时丆芯片不再自己生成

iView

TM

画面在逻辑分析仪显示屏上提供时间相关的

TM

业内独有的逻辑分析仪/示波器集成软件包。iLink

DQS†C而以发送方传来的DQS为基准丆并相应延后一定的时间丆在

逻辑分析仪和示波器综合测量功能

DQS的中部为数据

系列工具将泰克示波器和泰克TLA系列逻辑分析仪的

周期的选取分割点乮在读取时分割点就是上下沿乯丆从这里分隔开两个传输周期。这样

iVerify

TM

分析使用示波器生成的眼图,

TM

提供多通道总

处理能力——20 ps分辨率的MagniVu采集及基于

做的好处是丆由于各数据信号都会有一个逻辑电平保持周期丆即使发送时不同步丆在

线分析和检验测试

状态机的高级触发功能——结合在了一起。

DQS上下沿时都处于保持周期中丆此时数据接收触发的准确性无疑是最高的。

/memory 19

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

泰克iCapture和iView在逻辑分析仪和示波器之间提供

了集成操作。CLS, RAS#, CAS#和WE#的示波器波形

在时间上与逻辑分析仪命令状态总线及SDRAM时钟和

命令的MagniVu 125 ps高分辨率定时相关(参见图20)。

通过iCapture逻辑探头,可以全面查看这种模拟、数字

定时和数字状态的波形。逻辑分析仪可以触发示波器,

示波器也可以触发逻辑分析仪。泰克iCapture、iView

和iVerify都是iLink

TM

系列工具的一部分,为检验和调

试存储器提供了强大的功能。

列表窗口为分析命令状态数据提供了更加高效的方式

(参见图21)。第一列列明了样点数量。第二列列明了上

一个码型符号文件已经解码的命令状态数据。最后一列

是125 ps分辨率的时戳。这可以通过多种方式配置:

从开始起的时间,从触发起的时间,从上一个样点起的

时间(如图21所示)及其它变化。注意,中间的横线是触

发点。触发位于激活命令上。在激活命令前有一个很长

的deselec序列。激活命令是写入到写入操作长序列的

开头。激活命令后面三个deselect可以满足发送写入

命令前最小DDR2 SDRAM t

RCD(MIN)

。写入命令之间的

deselect命令为从前面的写入命令把四个数据位写入存

储器留出了时间。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯。

图21. 列表窗口显示SDRAM命令的状态采集及命令符号

名称。

20 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图22. 隐藏所有SDRAM deselect命令的显示过滤器。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 21

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

目前DDR3内存芯片基本上都是8个Bank设计丆也就是说一共有8个这样

的“表格”。

寻址的流程也就是先指定Bank地址丆再指定行地址丆然后指列地址最终

的确寻址单元。

现在可以应用隐藏deselect命令显示过滤器,来查看

目前DDR3系统而言丆还存在物理Bank的概念丆这是对内存子系统的一

列表窗口(参见图23)。在激活命令前可以看到相距大约

个相关术语丆

并不针对内存芯片。内存为了保证CPU正常工作丆必须一次传输完CPU

7.8 µs的一长串刷新命令,在激活命令前可以看到一长

在一个传输周期

内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数

串写入到写入命令。注意时戳值针对的是以前显示的命

据总线的位宽丆

单位是bit(位)。控制内存与CPU之间数据交换的北桥芯片也因此将内存

令。第一个写入命令的时戳是15 ns,这是波形窗口中

总线的数据位宽

等同于CPU数据总线的位宽丆这个位宽就称为物理Bank†iPhysical

测得的值。对这个存储器,激活到写入命令的最小时间

Bank†C有的资料称之为Rank†j的位宽。目前这个位宽基本为64bit。

tRCD(MIN)是15 ns。时戳的分辨率是125 ps。如果使

在实际工作中丆Bank地址与相应的行地址是同时发出的丆此时这个命令

称之为“行激

用TLA7BB4,时戳分辨率将会是20ps。

活”乮Row Active†j。在此之后丆将发送列地址寻址命令与具体的操作

命令乮是读还是

写乯丆这两个命令也是同时发出的丆所以一般都会以“读/写命令”来表

检验刷新操作

示列寻址。根

据相关的标准丆从行有效到读/写命令发出之间的间隔被定义为tRCD†C即

DRAM的基本存储单元是为每个存储单元提供的电容

RAS to CAS

Delay†iRAS至CAS延迟丆RAS就是行地址选通脉冲丆CAS就是列地址

器。存储单元电容器上的电荷最终会衰落,存储单元的

选通脉冲乯丆

我们可以理解为行选通周期。tRCD是DDR的一个重要时序参数丆广义的

值会丢失。在存储单元电容器的值丢失之前,必需读取

tRCD以时钟

存储单元,然后把相同的值放回到存储单元中。这一操

周期乮tCK†CClock Time†j数为单位丆比如tRCD=3†C就代表延迟周期为

两个时钟周期

作称为刷新。

丆具体到确切的时间丆则要根据时钟频率而定丆DDR3-800†CtRCD=3†C

代表30ns的延迟。

图23. 隐藏所有SDRAM deselect命令的列表窗口。可

以明显看出,刷新是触发激活命令前唯一活动的存储器

命令。在激活命令之后,有一长串写入到写入操作。

22 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图24. 这个显示过滤器只显示了SDRAM刷新命令,用来帮助检验刷新操作。

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯

/memory 23

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

目前DDR3内存芯片基本上都是8个Bank设计丆也就是说一共有8个这

样的“表格”。寻址的流程也就是先指定Bank地址丆再指定行地址丆

然后指列地址最终的确寻址单元。

目前DDR3系统而言丆还存在物理Bank的概念丆这是对内存子系统的一

512 Mb DDR2 SDRAM实例的刷新周期时间是64ms,

个相关术语丆并不针对内存芯片。内存为了保证CPU正常工作丆必须

刷新数量是8K (8192)。刷新周期时间(64 ms) 除以刷

一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输

周期能接受的数据容量就是CPU数据总线的位宽丆单位是bit(位)。控制

新数(8192),得到7.8125 µs;这是刷新之间的平均间

内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等

同于CPU数据总线的位宽丆这个位宽就称为物理Bank†iPhysical

隔。刷新操作有一定的灵活性,它允许最多八个连续刷

Bank†C有的资料称之为Rank†j的位宽。目前这个位宽基本为64bit。

新周期,改善了任务调度及任务之间切换的效率。

在实际工作中丆Bank地址与相应的行地址是同时发出的丆此时这个命

令称之为“行激活”乮Row Active†j。在此之后丆将发送列地址寻址命

令与具体的操作命令乮是读还是写乯丆这两个命令也是同时发出的丆所

下面我们将检验刷新周期在平均间隔为7.8125 µs时的

以一般都会以“读/写命令”来表示列寻址。根据相关的标准丆从行有

情况。刷新之间的连续刷新周期最低时间为105 ns

效到读/写命令发出之间的间隔被定义为tRCD†C即RAS to CAS Delay

†iRAS至CAS延迟丆RAS就是行地址选通脉冲丆CAS就是列地址选通

tRFC(MIN)。这一指标也适用于刷新到激活命令间隔。

脉冲乯丆我们可以理解为行选通周期。tRCD是DDR的一个重要时序参

数丆广义的tRCD以时钟周期乮tCK†CClock Time†j数为单位丆比如

我们创建了一个显示过滤器,只显示刷新命令(参见图

tRCD=3†C就代表延迟周期为两个时钟周期丆具体到确切的时间丆则要

根据时钟频率而定丆DDR3-800†CtRCD=3†C代表30ns的延迟。

24)。这个过滤器应用到列表窗口中(参见图25)。列表

窗口显示了完整的128K状态采集记录,其已经在整个

列表中进行过滤。第一个刷新命令在样点580处获得,

最后一个样点在样点129305处获得。时戳测量每条刷

新命令之间的时间,平均值约为7.8 µs。

图25. 在列表窗口中检验刷新到刷新时间,其中只显

示了刷新命令。

24 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图26. 使用PowerTrigger程序,查找任何刷新到刷新命令,其中间隔大于7.812 µs。

/memory 25

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图27. PowerTrigger程序找到间隔大于7.812 µs的刷新到刷新命令。在本例中,刷新间隔是7.846,

875 µs。

26 /memory

由于芯片体积的原因丆存储单元中的电容

容量很小丆所以信号要经过放大来保证其有

效的识别性丆这个放大/驱动工作由S-AMP负

责丆一个存储体对应一个S-AMP通道。但它

要有一个准备时间才能保证信号的发送强度

乮事前还要进行电压比较以进行逻辑电平的

判断乯丆因此从数据I/O总线上有数据输出之

前的一个时钟上升沿开始丆数据即已传向S-A

MP†C也就是说此时数据已经被触发丆经过

一定的驱动时间最终传向数据I/O总线进行

输出丆这段时间我们称之为tAC†iAccess

Time from CLK†C时钟触发后的访问时间乯.

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图28. AutoDeskew分析显示了组地址、列地址、行地址和命令的大型数据有效窗口。

DDR2 SDRAM分成不同的尺寸和不同的组配置。512

Mb DDR2 SDRAM的行地址使用A0-A13,组地址使

用BA0-BA1,列地址使用A0-A9。行地址数量要高于

列地址,以降低存储器使用的功率。存储器功率会随着

列数提高而提高。行地址和列地址复用到存储器相同的

物理针脚上。结果,激活命令对行地址使用所有A0-

A13。写入命令对列地址使用A0-A9,A10用来启用或

禁用自动预充电。自动预充电导致行在写入突发最后自

动预充电。自动预充电关闭行,如果没有选择自动预充

电,那么在后续的写入和读取访问中,该行会一直打开。

/memory 27

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图29. iVerify分析显示了组地址、列地址、行地址和命令的数据有效窗口。

存储器使用统计显示,读取数量高于写入数量,然后下

一个存储器位置被读取的可能性要高于任何其它存储器

位置。它支持这样一个概念,即计算机读取顺序命令的

数量要高于任何其它存储器操作。激活命令和读取命令

之间存在时延,而一旦第一条读取命令执行,一系列读

取命令可以以最大数据速率提供连续数据流,直到到达

存储器行尾。因此,行地址分配给存储器控制器最无用

的地址位。

对DDR2 SDRAM地址总线和组总线状态采集,逻辑分

析仪数据有效窗口或样点位置的配置方式与命令总线相

同(参见图28和图29)。正如预期的那样,在增加两个

组地址和14个地址时,眼图略微闭合。多通道眼图从

图18中仅四个命令信号的3.48 ns,变成图29中全部

20个信号的3.3 ns。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

28 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图30. 列表窗口表明触发激活命令,显示组地址、行地址和列地址。

逻辑分析仪触发激活命令,其中已经从显示窗口上滤除

deselect命令(参见图30)。每个数据列标题中都有

“Filter”,以提示用户正在进行过滤。第一个和第二个激

活命令采用相同的行地址(十六进制2000)及相同的组地

址(3)。第一个写入命令使用000十六进制值的列地址,

存储器控制器把由四个数据值组成的突发写入到存储器

中。第二条写入命令使用004十六进制值的列地址,因

为第一条写入命令在地址中填充000, 001, 002和003

十六进制值。预充电命令之前写入命令的列地址为030

十六进制值。存储器控制器预充电命令在第3组的2000

十六进制值上关闭打开的行。执行刷新周期,然后预充

电命令在第3组中在2000十六进制上打开同一行,然

后写入命令开始写入第3组中的列地址034。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片丆

每颗芯片含8根数位线乮DQ0-DQ7†j则总数宽为64bit†C这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条丆结果就会有所不同。我们

最好选用4根数位线乮DQ0-DQ3†j†C数量是16颗丆这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条丆则数量用64颗128M的DDR3†C

这样位宽高达64X4=256bit†C要做成4个Rank。

/memory 29

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

通过使用时戳,可以迅速检验这个命令序列的定时。前预充电到刷新时间是15.125 ns,非常接近15 ns的预

在读取时丆DQS与数据信号同时生成乮也是在CK与CK#的交叉点乯。而DDR内存中的

三个刷新命令间隔指定平均值为7.8 µs。刷新到激活命充电命令周期(MIN)。第二个刷新到激活间隔116 ns,

CL也就是从CAS发出到DQS生

令时间为7.689,875 µs,远远高于规定的最低105 ns。大于指定的刷新到激活命令间隔105 ns (MIN)。其余的

成的间隔丆DQS生成时丆芯片内部的预取已经完毕了丆由于预取的原因丆实际的数据传

激活到写入的最低规定值为15 ns。列表窗口连续写入到写入间隔是7.625 ns - 7.500 ns。

出可能会提前于DQS发生乮数

可以通过多种方式,检验最后的刷新到刷新间隔。首

据提前于DQS传出乯。由于是并行传输丆DDR内存对tAC也有一定的要求丆对于

先,可以增加时戳间隔;其次,使用光标要比较简便,

DDR266†CtAC的允许范围是±0.75ns

而且不太容易出错。把光标2移动最后刷新上,把光标

†C对于DDR333†C则是±0.7ns†C有关它们的时序图示见前文丆其中CL里包含了一段

1移动到就在第一个激活命令上方的前一个刷新上。然

DQS的导入期。

后使用增量时间读数,测量光标1到光标2,得到7.847

DQS在读取时与数据同步传输丆那么接收时也是以DQS的上下沿为准吗丠不丆如果以

µs,即为指定的平均刷新时间。

DQS的上下沿区分数据周期的危

写入到预充电由三个时间间隔组成:第一个是写入时延

险很大。由于芯片有预取的操作丆所以输出时的同步很难控制丆只能限制在一定的时

(WL),它是3个时钟周期(3.759 ns*3=11.277 ns)。然

间范围内丆数据在各I/O端口的出

后是两个时钟周期(3.759 ns*2=7.518 ns),以把四个数

现时间可能有快有慢丆会与DQS有一定的间隔丆这也就是为什么要有一个tAC规定的

据位突发写入存储器中。最后是15 ns的写入恢复时间

原因。而在接收方丆一切必须保证

(MIN)。把这三个间隔加在一起,等于33.795 ns (MIN),

同步接收丆不能有tAC之类的偏差。这样在写入时丆芯片不再自己生成DQS†C而以发

小于图30中实际测量值37.5 ns。

送方传来的DQS为基准丆并相应延

后一定的时间丆在DQS的中部为数据周期的选取分割点乮在读取时分割点就是上下

沿乯丆从这里分隔开两个传输周期。

这样做的好处是丆由于各数据信号都会有一个逻辑电平保持周期丆即使发送时不同步丆

在DQS上下沿时都处于保持周期

中丆此时数据接收触发的准确性无疑是最高的。

30 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

图31. Nexus DDR3 NEXVu DIMM,为JEDEC标准设计,带

有逻辑分析仪探头测试点。提供了杰出的信号保真度,让用

户可以捕获到存储器件“看到”的实际眼图。

逻辑分析仪存储器支持软件

逻辑分析仪存储器支持软件通过配置逻辑分析仪设置,

增强了逻辑分析仪操作,它为存储器采集、存储器数据

分析软件、助记符列表提供了自定义时钟输入,可以包

括存储器探测硬件。NexusTechnology公司(www.

/)提供逻辑分析仪存储器支持软

件,是泰克在嵌入式系统工具方面的合作伙伴,为泰克

逻辑分析仪和示波器提供补充性产品。泰克公司可以为

指定的NexusTechnology产品提供发货服务。

Nexus提供的基于逻辑分析仪的DDR3/DDR2协议违

规分析软件可以自动分析DDR2或DDR3总线,快速简

易地识别协议违规,并提供逻辑分析仪存储器内的所有

DDR命令的全局视图。

应用指南

确定正确的采样点以捕获DDR3数据,是一件困难并且

很花时间的事情,因为数据有效窗口很小而且判别电平

很低。Nexus DDR3采样点分析(SPA)软件能检查逻辑

分析仪的MagniVu数据,并自动调节门限电平以优化采

集。这样,它可以确定采集每个数据组的最佳位置,并

允许用户检查这些设置和确定使用这些优化结果。这种

方式简化并加快了对DDR3进行精确数据采集的设置过

程。Nexus逻辑分析仪存储器支持软件可以用于DDR,

DDR2, DIMM, SO-DIMM, FB-DIMM和其它新兴存储

器技术。探测硬件从直接探测嵌入式存储器系统时的没

有探测硬件,直到使用DIMM内插器和配置相应仪器的

DIMMs。Nexus把配置相应仪器的DIMM称为NEXVu

DIMM(参见图31)。

DDR2 NEXVu DIMMs要高于普通DIMM,因此可以使

用相邻插槽中普通高度的DIMM相连。逻辑分析仪探头

连接到NEXVu DIMM的任一侧。两个NEXVu DIMMs可

以位于相邻插槽中,逻辑分析仪探头连接在每个NEXVu

DIMM的相反一侧。

NEXVu DIMMs在FBGA IC封装附近带有内层电路板隔

离电阻器,降低了相连的探测电路板走线的负载效应。

在图31中,可以看到带有散热器的大型AMB以及18个

DDR2 667 SDRAM中的8个SDRAM。

另外在图31中,还可以看到24条高速差分电路板走线

从连接器边沿到达高级存储缓冲器(AMB)。注意,其距

FB-DIMM的距离越远,走线长度越长。在FB-DIMM

存储器系统中,没有蜿蜒的走线模式,来平衡由24个差

分信号组成的走线长度。这简化了电路板布局。信号越

少、电路板布局越简单,与使用UDIMMs和RDIMMs相

比每个存储器系统的FB-DIMM通道数量越多。FB-

DIM通道初始化训练部分中的AMB可以消除电路板走

线不均匀导致的信号偏移。

/memory 31

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图32. 在存储器控制器发出模式寄存器命令期间,使用逻辑分析仪捕获的DDR2 SDRAM模式寄存

器 (MR)和扩展模式寄存器配置。

使用NEX-FBD-NEXVu采集数据

配置NEX-FBD-NEXVu操作只需几步。第一步是为逻

辑分析仪数据有效窗口配置命令组采样点位置。其方式

与本应用指南前面设置命令组样点的方式相同。可以使

用MagniVu或AutoDeskew,确定每个SDRAM命令信

号的最优逻辑分析仪样点位置。使用iVerify,检查带有

多通道眼图的信号数据有效窗口。

NEX-FBD-NEXVu自定义时钟输入提供了多种时钟输

入模式,可以有效利用逻辑分析仪存储器。第一步需要

进行两个选择:第一个要选择采集每个DDR2 DRAM上

升时钟边沿,还是根据RAS#和CAS#命令实现选择性

时钟输入。第二个是保存刷新周期还是降低保存的刷新

周期数量。

第二步是在列表窗口中增加列,捕获SDRAM模式寄存

器(MR)和扩展模式寄存器配置,确定CAS时延(CL)、突

发长度 (BL)和附加时延(AL)。在模式寄存器命令期间,

存储器控制器使用地址A0-13和组地址BA0-1把16

位值编程到这些寄存器中。

为了解在哪里查找读取和写入数据有效窗口,需要模式

寄存器值。模式寄存器值对CAS时延为4,对突发长度

为4,对附加时延为0 (参见图32)。这些值用来确定写

入和读取数据有效窗口的位置,在列表窗口中配置逻辑

分析仪,进行反汇编。

DDR内存通常采用TSOP芯片封装形式丆这种封装形式可以很好的工作在

200MHz上丆当频率更高时丆它过长的管脚就会产生很高的阻抗和寄生电容

丆这会影响它的稳定性和频率提升的难度。这也就是 DDR的核心频率很难

突破 275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广

泛应用的 TSOP 封装形式丆FBGA封装提供了更好的电气性能与散热性丆

为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

32 /memory

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图33. 触发激活命令后第一个读取命令。计算四个读取时延(RL)时钟边沿数量,找到显示了读取数据标尺的第一个读取数据周期。

DDR2 SDRAM 64位读取数据是由5555,5555,5555,5555十六进制值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

图34. MagniVu高分辨率定时测量读取数据有效窗口,设置逻辑分析仪采样点位置。DDR2 SDRAM 64位读取数据是由5555,

5555,5555,5555十六进制值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

存储器支持软件提供了16位模式寄存器和扩展模式寄

存器的位解码功能。图32显示了样点30中的模式寄存

器怎样解码成9行助记符。图12中使用的符号表不能

提供图32中所示的复杂的多行助记符解码。助记符解

码是存储器支持软件的一个明显优势。

存储器支持软件把64位存储器数据划分成一个32位

DatHi组和一个32位DatLo组(参见图34)。在这种情况

下,两个合并的逻辑分析仪模块在数据线外部2X时钟

输入模式下操作。这意味着逻辑分析仪使用两条存储器

通道,每条通道拥有不同的样点位置,在单个时钟周期

期间在一条数据I/O线上采集DDR2 SDRAM数据。四

个样点由两个组构成,每个组两个样点。在设置窗口自

定义时钟输入中配置这四个样点,采集读取数据。

波形窗口标尺放在时钟和重命名时钟的上升沿上。标尺

用五条竖虚线表示,如图34所示。第二个A_Beg标尺

放在第一个读取数据有效窗口开头的后面,其中包含

5555,5555,5555,5555十六进制数据。第二个A_End标

尺放在A_Beg标尺后面625 ps处。A_Beg到A_End的

625 ps时间间隔是读取数据保持稳定不变所要求的时

间,以使逻辑分析仪TLA7AA4能够可靠地采集数据。

读取时延(RL)确定读取突发数据的开头。在附加时延

(AL)中增加CAS时延(CL),确定读取时延(RL),从读取

命令中计算RL上升时钟边沿数量,找到读取命令的第

一个读取数据周期(参见图33)。对4位和8位的突发长

度,读取数据时钟周期分别为两个和四个。

refresh操作与预充电操作一样丆都是用S-AMP先读再写。预充电是对一个或

所有Bank中的工作行操作丆并且是不定期的丆而refresh则是有固定的周期丆

依次对所有行进行操作丆以保留那些久久没经历重写的存储体中的数据。但与

所有Bank Precharge不同的是丆这里的行是指所有Bank中地址相同的行丆而

Precharge中各Bank中的工作行地址并不是一定是相同的。

/memory 33

ÓÉ Foxit PDF Editor ±à¼-

°æÈ¨ËùÓÐ (c) by Foxit Software Company, 2004

电子发烧友 电子技术论坛

½öÓÃÓÚÆÀ¹À¡£

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

图35. Nexus Technology公司NEX-FBD-NEXVu列表窗口,DDR2 SDRAM读取数据是由5555,5555,5555,5555十六进制

值和AAAA,AAAA,AAAA,AAAA十六进制值组成的交替码型。

时钟和A_Beg标尺之间125 ps的增量时间测量提供了

自定义时钟输入设置中配置的建立时间。类似的,

B_Beg和B_End标尺用来确定DDR2 SDRAM时钟周

期的第二个数据有效窗口。在图34中,第一个逻辑分

析仪读取数据有效窗口A从时钟上升沿之后125 ps开

始。第二个逻辑分析仪读取数据有效窗口B从时钟上升

沿之后2 ns开始。

如果使用三个合并的逻辑模块,那么可以同时捕获写入

数据和读取数据。因此,为配置逻辑分析仪写入样点位

置,可以触发激活到写入命令顺序,使用MagniVu高

分辨率定时波形,确定写入数据的逻辑分析仪数据有效

窗口。注意,在确定写入数据位置时,写入时延(WL)比

读取时延(RL)小1。在自定义时钟输入下的设置窗口

中,逻辑分析仪样点位置配置成采集写入和读取数据。

DDR2 SDRAM数据线为一个时钟周期提供了四个数据

有效窗口。逻辑分析仪配置成对每个时钟周期采集全部

四个数据有效窗口。它在外部4X模式下对三个合并的

TLA7AA4逻辑分析仪模块使用自定义时钟输入,来完

成这一操作。在逻辑分析仪完成采集后,它分析

SDRAM命令,确定其是写入周期还是读取周期,然后

使用附加时延(AL)、CAS时延(CL)和突发长度(BL),确

定有效数据周期在逻辑分析仪采集的数据中的位置。用

户在列表窗口助记符列反汇编属性中设置周期类型、附

加时延、CAS时延和突发长度。

34 /memory

电子发烧友 电子技术论坛

检验DDR, DDR2和DDR3 SDRAM命令和协议

应用指南

小结

本应用指南介绍了逻辑分析仪在检验SDRAM协议排序

和定时中的功能。我们考察了SDRAM时钟和四个

SDRAM命令信号,检验了大量的数据。整个检验采用

Nexus Technology存储器支持软件、存储器内插器和

NEXVu DIMMs。

泰克还提供了全套工具,包括业内领先的示波器、真正

差分TDR及装有Nexus Technology存储器支持软件的

逻辑分析仪,使得嵌入式和计算机设计人员能够迅速精

确地进行电接口测试,检验存储器设计的运行状况。联

合使用时,这套工具提供了杰出的性能及无可比拟的易

用性,是检验和调试嵌入式系统和计算机存储器系统的

理想解决方案。

refresh操作与预充电操作一样丆都是用S-AMP先读再写。预充电是对一个或

所有Bank中的工作行操作丆并且是不定期的丆而refresh则是有固定的周期丆

依次对所有行进行操作丆以保留那些久久没经历重写的存储体中的数据。但与

所有Bank Precharge不同的是丆这里的行是指所有Bank中地址相同的行丆而

Precharge中各Bank中的工作行地址并不是一定是相同的。

/memory 35

电子发烧友 电子技术论坛

泰克科技(中国)有限公司

上海市浦东新区川桥路1227号

邮编:201206

电话:(8621)50312000

传真:(8621)58993156

泰克成都办事处

成都市人民南路一段86号

城市之心23层D-F座

邮编:610016

电话:(8628)86203028

传真:(8628)86203038

泰克北京办事处

北京市海淀区花园路4号

通恒大厦1楼101室

邮编:100088

电话:(8610)62351210/1230

传真:(8610)62351236

泰克西安办事处

西安市东大街

西安凯悦(阿房宫)饭店345室

邮编:710001

电话:(8629)87231794

传真:(8629)87218549

泰克上海办事处

泰克深圳办事处

上海市静安区延安中路841号

深圳市罗湖区深南东路5002号

东方海外大厦18楼1802-06室

信兴广场地王商业大厦G1-02室

邮编:200040

邮编:518008

电话:(8621)62896908

电话:(86755)82460909

传真:(8621)62897267

传真:(86755)82461539

泰克武汉办事处

泰克香港办事处

武汉市汉口建设大道518号九龙尖沙咀加连威老道2-6号

招银大厦1611室爱宾大厦15楼6室

邮编:430022

电话:(852)25856688

电话:(8627)87812760/2831

传真:(852)25986260

有关信息

泰克公司备有内容丰富的各种应用文章、技术简介和其他资料,并

不断予以充实,可为从事前沿技术研究的工程师提供帮助。请访问

泰克公司网站

版权©2008, 泰克公司。泰克公司保留所有权利。泰克公司的产品

受美国和国外专利权保护,包括已发布和尚未发布的产品。以往出

版的相关资料信息由本出版物的信息代替。泰克公司保留更改产品

规格和定价的权利。TEKTRONIX 和TEK 是泰克有限公司的注册商

标。所有其他相关商标名称是各自公司的服务商标或注册商标。

06/09 JS/WWW 52C-19236-2

36 /memory

发布评论

评论列表 (0)

  1. 暂无评论