这是一个客户案例。DDR3的时钟周期规格和测试算法在JEDEC规范JESD79-3D里有明确的规定。下面,我们以DDR3 1333为例,简要分析tCK(avg)测试中得到fail结果的原因。
对DDR3 1333来说,根据不同的CL和CWL,tCK(avg)的极限值不同。如对CL=9,CWL=7来说,tCK(avg)必须在1.5ns到1.875ns之间。而测试人员对此类DDR时钟测试时,常常面对的就是1333/2=666.5MHz的时钟信号,有的测试结果会略略小于1.5ns而被测试设备(通常是示波器)认为fail。如前段时间,有测试人员的DDR3 1333时钟tCK(avg)结果为1.4998ns而fail。虽然此例中实测值偏离规范限制仅0.2ps,在工程上可能不会造成严重的问题,但是fail终究是fail,是不满足规范的。
Fail以后,测试人员总会去查找原因,我们在下面提出一些建议,因为没有通过严格的建模和计算,所以仅供工程上参考。
研究fail原因,我们首先回到规范的定义中来,然后再从测试设备、测试方法和被测设备三方面找线索。
一、规范定义
在JESD79-3D第12章,tCK(avg)的算法如下:
即tCK(avg)是任意连续的200个时钟周期的平均值。这里面有两个比较重要的信息,第一:200个周期;第二:平均值。
二、测试设备带来的误差
DDR3的时钟测量,通常使用实时示波器完成。
实时示波器的周期测量,采用了先采集多个周期,然后在其中选取200个连续的周期进行测试。在周期测量中,示波器的增量时间测试精度(DTA)常常被怀疑会对结果有影响。
我们来看这个指标,增量时间测试精度其实是表明在单次测试中,示波器的参考时基精度、采样率、带宽、通道噪声,以及信号自己的上升时间等对测试结果的影响。下图是泰克DPO70000B系列示波器的DTA计算方法,可以看到高性能示波器的DTA计算考虑到了各种因素,包括示波器和被测信号。需要强调的一点是:这是针对单次测量(一次采集后测试一个增量时间)提出的,正如公式下面的说明所述。
由于tCK(avg)是单次采集,测试多个周期,再平均以后的结果,所以其中大多数因素的影响会大大减小,不会因而平均而显著下降的因素是时基精度。
考虑时基精度的影响,如示波器的时基精度是2ppm,则对666.5MHz测试结果的影响为1/666.5MHz*2ppm=3fs,远远小于其1.5ns的周期时间,在工程上是可以忽略的。
如果测试人员希望降低时基精度的影响,也有办法——将示波器参考时钟设为外部时钟,再在示波器的外参考输入端口接入一个10MHz或100MHz的高稳时钟信号,如FLUKE PM6685R的10MHz缓冲铷钟输出可以提供优于0.001ppm的参考时钟精度,而Tek FCA3000系列可以提供0.05ppm的精度。
当然,在测试中我们建议测试人员尽量将信号放在示波器垂直范围的6~8格内,这样能优化信噪比,让测试更为准确一些。
三、测试方法的影响
如79-3D规范所述,取200个连续时钟周期取平均得到tCK(avg)。我们现在分析这种测试方法可能受到的影响因素。
DDR信号常常处于诸如计算机机箱内的复杂电磁环境中。所以tCK(avg)可能受到很多因素的影响而出现测试误差。这些因素都可能体现为周期抖动,影响平均值的最主要因素是低频抖动(以及漂移)。
分析666.5MHz时钟,每个周期约为1.5004ns,200个周期约为300ns,其倒数约为3.33MHz。在200周期平均的测量中,远高于3.33MHz的正弦抖动分量可以充分滤除,但和3.33MHz相当或小于3.33MHz的抖动分量则无法有效滤除。下图示意了一个低频抖动所造成的时钟频率(也就是周期)的变化:
该示意图中,绿色直线表示规格要求的频率,黑色曲线表示时钟信号频率的变化,W1、W2和W3表示不同的平均窗口,F1、F2、F3表示平均窗口内的平均频率值。平均窗口中的信号测试后仍然含有低频抖动的影响,可能大于或小于标称频率值。当然,对于DDR3 1333,规范中定义的时钟周期是1.5ns~1.875ns(666.67MHz~533.33MHz),也就是其频率可以比666.5MHz低很多,但却只能比666.5MHz高一点点,所以此例中F2和F3可能都是通过的,但F1很可能就Fail了。
实际测试中,抖动的分布可能很复杂,所以测试人员可以尝试多次测试。如果结果中有些pass,有些fail,则可以考虑信号受到低频抖动的影响。此时有两种常见的手段,第一种是:可以增加示波器的采集长度(如采集50us甚至500us的信号),对这些采集的数据进行周期测量。如前所述,这种对大数据量(长时间)的信号分析可以有效地减小低频抖动影响,如果其测试结果较为稳定,则可以作为调试的参考(因为不是标准规定的算法,所以只能参考);第二种手段是:如果第一种手段仍然是时而pass时而fail,则可能有更低频的影响,此时可以让测试工具连续运行一段时间(如十分钟),然后读取分析软件对多次测量值的统计结果,以确认这段时间的平均周期值,作为调试参考。
四、被测件的影响
一般来说,测试人员最后考虑的fail原因才是被测件自己的设计因素。
实际上,DDR部分通常是使用系统时钟模块提供的时钟。这种时钟通常都是由专门设计的锁相环产生。如在一些通信厂家,锁相环的参考输入频率是38.8MHz,而输出频率是根据需要设定的。
工程上,锁相环的参考输入信号可能有一些误差,输出/输出关系也可能有一些误差,所以锁相环输出也会有一定误差。再考虑到之前谈到的DDR3时钟周期可以大却不能小的特点,如果在DDR3 1333时钟锁相环设计时直接就提出了666.5MHz的极值,则一致性测试中也较容易fail。
这里有一点小建议:既然DDR3时钟周期有可大不可小的特点,我们在对时钟锁相环提指标时,对输出频率的要求可以稍微低一点,比如DDR3 1333就提666MHz,则可以大大减小后期测试fail的可能性。
用户1543704 2011-3-5 09:45