DDR测试,没你想的那么难!

DDR SDRAM最早是由三星公司于1996年提出。从最早的128MbpsDDR发展到了当今的6400MbpsDDR5,每一代DDR的数据速率都翻倍增长。两代内存之间的过渡时间大概只需要两年。到2023年,DDR5 内存的市场份额将高于DDR4的情况,到2026年,DDR4份额应降至5%以下

图:历代DDR对比

目前DDR主要应用于服务器和PC端,主要以DMMI条和DDR颗粒的形态(如下图)。DDR内存的发展趋势是速率更高,封装更密,工作电压更低。

图:DMMI内存条

图:DDR颗粒

这些对设计和测试提出了更高的要求,对于DDR信号的挑战主要体现在以下三个方面:

1、如何进行读写信号的分离

2、如何进行信号的探测

3、如何进行JEDEC规定参数的测试。

下面就三个部分的内容详细的讨论一下:

1、DDR的读写分离

对于DDR总线来说,真实总线上总是读写同时存在的。而且规范对于读时序和写时序的相关时间参数要求是不一样的。因此要进行 DDR 信号的测试,第一步要做的是从真实工作的总线上把感兴趣的读信号或者写信号分离出来。

如下图所示,在DDR总线中,读时序、写时序、高阻态是同时存在的,对于测试来说,如果没有软件的辅助,就需要人为的来捕获不同位置的波形,并判读每组burst是读操作还是写操作,在根据不同的读写规范进行参数的测试,这使得效率很低。

图:DDR总线操作时序

读写时序不一致另外造成的问题就是眼图的测量,读虽然DDR的规范并没有要求进行眼图测试,但是很多时候眼图测试是一种快速、直观衡量信号质量的方法。对于 DDR的信号来说,进行眼图测量也有一定的困难。因此如果直接用 DQS 触发对 DQ累积进行眼图测量的话,会得到读写、高阻叠加在一起的杂乱的眼图。因此很难对信号质量进行评估。要进行信号的评估,首先要能把读写信号分离出来。

图:read operation 时序

图:write operation时序

总结来说读写分离的方法有如下几种:

方法1:根据读写preamble的宽度不同,在示波器里用脉冲宽度进行触发分离。

在每次的burst之前,DQS会从高阻态切换到一段负脉冲,然后才开始正常的读写。这段负脉冲,我们叫做preamble(preamble实际上是在读写前,DQS提前通知DRAM芯片或者是controller的信号)。一般说来,读数据DQS的preamble宽度要大于写数据。

方法2:信号幅度上的差异

一般在DRAM端进行测试,写数据从memory controller出来,经过了PCB板,到达DRAM颗粒的时候,信号已经被衰减了,而读数据刚刚从DRAM出来,还没有经过任何的衰减,因此读数据的幅度要大于写数据。但是这种方法对于走线长度不长或者读写信号幅度差异不大的场合不太适用。

方法3:根据控制信号来进行读写分离

可以根据RAS、CAS、CS、WE等控制信号来分离读写,这种方法使用控制信号的读写来判决读写的时序,是最可靠的方法,但是由于要同时连接多个控制信号以及CIkDQSDQ等信号,要求示波器的通道数多于4个,只有带数字通道的 MSO示波器才能满足要求。

方法4:DQ/DQS phase alignment

基于读操作和写操作的DQ/DQS相位对齐关系的不同。读操作为边沿对齐,写操作为中心对齐,这种使用的最普遍。

图:DDR读突发

图:DDR写突发

2、DDR的信号探测

在 DDR 的信号测试中,还有一个要解决的问题是怎么找到相应的测试点进行信号探测。通常DDR都为BGA颗粒焊接,而且JEDEC 对信号规范的定义都是在内存颗粒的 BGA管脚上,这使得信号探测成为一个复杂的问题。

如果PCB的设计密度不高,则有可能在 DDR 颗粒的管脚附近找到 PCB过孔或者通过预留测量点的方式,这时可以用焊接或点测探头的方式进行信号测量。测量点的预留可能会导致信号分叉的出现,虽然分叉很短,但是在高速的信号传输下也会造成比较大的信号震荡和反射。

如果PCB密度太高或者采用双面贴装的PCB,通常采用专用的BGA探头-Interposer. interposer焊接在DDR内存颗粒和PCB板中间,并把信号引出。

图:常见的几种interposer

当然interposer也会出出现信号分叉的问题,为了解决信号质量的问题就需要对相应的分叉进行信号匹配,由于interposer是夹在内存颗粒和PCB之间,没有合适的位置可以放置匹配电路需要的电阻、电容等。因此可以在interposer上使用埋阻技术,将匹配电阻通过特殊的处理隐藏在interposer内部。

3、DDR的信号测试

由于DDR 的信号速率很高,而且信号上同时存在读、写、高阻态以及由于分叉引起的信号反射,为了进行可靠的探测,对于示波器和探头的要求很高。对于DDR2 信号的测试,通常推荐的示波器和探头的带宽在4GHz,对于DDR3信号的测试通常推荐的示波器和探头的带宽在12.5GHz,DDR4 的示波器带宽是16GHz或者更高。除了带宽满足要求以外,由于DDR2/3 信号信号电平摆幅一般不超过 1V,LPDDR2/3和DDR4的信号摆幅更低,信号 bit 宽度很多都在ns甚至0.5ns以下。因此要进行准确的信号测量,需要示波器的底噪声和固有抖动都比小。JEDEC 规定了很多DDR 的参数,这些参数的测量都需要复杂的计算。如果这些测量全靠手工来做,非常耗时耗力,如果没有相应的自动测试软件配合,很多用户要完成 DDR的手工测试一般需要好几天的时间。

为了加快DDR信号 的测试,各大示波器厂商都提供了全自动的DDR测试软件,如keysight、Tektronix等。DDR软件的使用相对比较简便,用户只需要提示进行参数配置和连接,然后运行测试软件即可。

图:tek DDR测试解决方案

keysight DDR4调试、测试解决方

软件运行后,示波器会自动设置时基、垂直增益、触发等参数进行测量,测试结果会汇总成一个html格式的测试报告,报告中列出了测试项目、是否通过、spec的要求、实测值、margin值等。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注