一、内存测试中的难点
内存广泛应用于各类电子产品中,内存测试也是产品测试中的热点和难点。内存测试中最为关键的测试项目为DQ/DQS/CLK之间的时序关系。JEDEC规范规定测量这几个信号之间的时序时测试点需要选择在靠近内存的最末端。而当前内存芯片大部分是BGA封装,有的甚至是正反贴的,这样有时候就很难在内存芯片的最末端找到测试点进行测试,如果在链路的中间位置进行测试,一方面信号会出现反射回沟等现象,从而影响到时序的测试,另外一方面对不同信号的测试点位置的不同,测量得到的时序就不是真实的时序结果。如下图1所示,探头无法点测到BGA封装的内存芯片的最末端管脚位置,此时准确的时序测量将会变得非常困难。

由于在信号链路的中间点进行的测试,因此信号波形将会因反射而出现明显的回沟,而且回沟正好出现在时钟信号上升沿和下降沿的中间位置,这会给时钟与数据之间的时序测量带来相当大的不稳定性,测量到的时序和实际情况也将会偏差很大。如下图2所示,测量到的时钟波形存在明显的单调性问题。

二、通过虚拟探测功能预测内存最末端的波形
力科示波器中的虚拟探测有如下两种方法:
1、使用EyeDoctorII软件的通道仿真功能
使用该方法需要设法获得测试点到链路末端的S参数,然后将S参数带入到示波器的EyeDoctorII眼图医生软件中(如图3所示界面)即可预测到末端信号的波形。但在实际应用中,由于测试点可能只是个过孔,测试点位于链路的中间,且也无法从测试点位置将链路断开成两部分,这样就很难测量得到测试点位置至链路最末端的S参数。如果通过软件从PCB板上进行S参数的提取会更加容易些,但是仿真的结果和实际情况还是会存在一定的差别。

2、使用力科示波器中的VP@Receiver虚拟探测功能
VP@Receiver的基本原理是先获得测试点到链路末端的传输线的延时Td、传输线末端的匹配模型(电容C,电感L,阻抗Z),然后将这些参数应用到实测到的波形上并推测出链路最末端的信号波形。下面以一个实例为例说明如何使用VP@Receiver来实现虚拟探测功能:
如下图5所示,我们能够通过示波器测量得到A点的信号波形,然后我们需要利用这个波形通过虚拟探测得到B点的波形。

为了获得这个波形,我们将测试点A点和链路末端B点之间的传输链路等效为上图5下方的电路模型。电路模型的主要参数包括链路传输延时T0,输入端电感Lin,输入端电容Cin,输入端阻抗RL。
为了获得这些参数,我们先通过力科示波器中的Jitter Sim功能获得一个和被测波形(即可以测量得到的A点波形的信号特征)各项参数(如幅度,周期,上升时间等)非常接近的理想的波形。Jitter Sim是力科示波器中的一个通过软件仿真的方法实现信号源的功能,该功能可以实现时钟信号,正弦信号,NRZ,RZ等种类多样的码型。而且可以施加抖动,过冲,设置幅度,频率,偏置,截至频率,上升时间,下脚时间等等。如下图6所示。

根据A点信号的波形和反射位置我们可以测量出信号的频率约为156MHz,反射时间约为257ps。下图7中M1为实测波形,Z1为实测波形的局部放大,F1为通过Jitter Sim仿真得到的波形,Z2为对仿真波形的局部放大。仿真波形与实测波形具有非常接近的幅度,频率,上升时间,占空比等特性。

上图7中通过Jitter Sim仿真得到的波形F1是没有施加匹配模型的,下面我们通过VP@Receiver来为F1波形施加匹配,使用F2函数实现VP@Receiver功能。如下图8所示,分别输入传输演示Td(130ps),阻抗Z(50ohms),寄生电容(2.8pf),寄生电容我们可以以芯片的输入电容为参考,然后根据仿真波形与实测波形的吻合程度进行调节。

施加了上述匹配后,仿真波形如下图9所示,我们看到施加传输线模型和匹配后,仿真得到的Z2的波形和实测波形Z1非常的接近(尤其是因反射导致的回沟的位置)。这说明匹配模型和传输线模型与实际情况是非常吻合的。这样我们就可以将该传输线模型和匹配模型应用到我们实际测量得到的波形上,虚拟探测出末端位置的真实波形。我们只要将上图8中的VP@Receiver的工作模式从“Sim”切换到“Term”,F2函数(VP@Receiver)的输入源由F1修改为实测波形M1,即可得到链路末端的波形,虚拟探测到的波形如图10所示,由于虚拟探测到的波形在链路末端,所以因反射引起的回沟已经消失了。



图11为本文开头提到的某QDR的时钟与数据之间的时序测量示例。由于时钟信号的回沟导致无法稳定的测量时序,因此必须要通过虚拟探测的方法探测到链路最末端的时钟和数据波形,才能够正确的进行时序的测量。
三、小结
本文通过实例应用介绍了Teledyne LeCroy(力科)示波器中的一个独特的虚拟探测VP@Receiver功能。通过该虚拟探测功能可以解决实际测量中无法直接探测到链路末端波形的困难。而随着单板密度的日益增加以及BGA封装的普遍使用,在链路末端进行波形的探测变得越来越困难,尤其是DDR内存的时序测量中该问题尤其变得更加明显。力科的VP@Receiver虚拟探测功能将为解决这一困难提供一个方法和思路。