介绍
在每个PHY(物理层,Physical Layer)模块中,都有一个嵌入式的PLL。这个PLL有两个主要的任务:
- 时钟倍频(Clock Multiplication)
- 延时补偿(Delay Compensation)
时钟倍频
- 输入时钟(Reference Clock):PLL接收一个参考时钟输入。
- 输出时钟:PLL会产生两个输出时钟,一个是输入时钟的1倍频率(1X),另一个是输入时钟的4倍频率(4X)。这两个输出时钟需要保持在相位一致(within a specified parameter)。具体来说,它们的相位偏差必须在一个规定的范围内。
延时补偿
- 在DDR系统中,由于信号的传输延时和电路的不同,时钟信号和数据传输的时序关系需要进行补偿,以保证数据的准确传输。PLL在这个过程中负责将输入时钟的相位与输出时钟进行对齐。
- 相位对齐(Phase Alignment):由于有时钟反馈路径的存在,PLL的1X输出时钟必须与输入的参考时钟相位对齐(phase-aligned),同样这也有一个规定的容差范围。
重要参数
在进行PLL测试时,有几个关键的参数需要特别关注:
- 锁定范围(Lock Range):
- PLL需要在一定范围内保持锁相,即它能够锁定输入时钟并稳定输出频率。如果输入时钟的频率偏离了PLL的锁定范围,PLL就不能正常工作。
- 输出时钟频率(Output Clock Frequency):
- 这是PLL输出时钟的频率。在测试时需要确保输出时钟的频率是正确的,符合系统的需求。
- 输出时钟抖动(Output Clock Jitter):
- 时钟信号在时间上的波动或不稳定性称为“抖动”。对于PLL来说,输出时钟的抖动越小,系统的时序稳定性越好。抖动过大会导致数据传输错误。
- 输出时钟占空比(Output Clock Duty Cycle):
- 这是指输出时钟信号中高电平(1)持续的时间占整个周期的比例。虽然这个参数在测试中不如上面的参数重要,但它仍然是一个需要注意的因素,特别是在高频工作时。
- 相位误差(Phase Error):
- 延时补偿的一个重要参数是相位误差。这指的是PLL输出时钟和输入参考时钟之间的相位偏差。在延时补偿过程中,PLL需要尽量减少这种误差,以保证数据的正确传输。
测试目标
在产品的表征(characterization)和质量控制(QA)过程中,需要确保PLL的这些参数符合规定的要求。在生产测试中,PLL的这些关键参数也是必须测试和验证的。
控制和观察部分
模拟测试输出(Analog Test Output)
PLL内部有一个模拟测试输出,通常是连接到AC/ACX48和DATX8/DATX4X2模块的pll_ato
引脚。模拟输出的作用是提供内部电压信号的监控,可以观察PLL内部的不同电压节点。
- 模拟输出的控制:模拟测试输出有一个模拟多路选择器(analog mux),它允许当不使用时将输出置为三态(tri-state),这样可以把多个PLL的模拟输出连接到同一个信号I/O上,减少引脚的占用。
- 选择性输出:如果你需要监控某个特定的PLL,通常情况下,控制输入会将所有PLL的模拟输出置为三态,然后你可以启用特定的PLL来查看。
- 控制寄存器:模拟测试输出的控制通过
PLLCR/PLLCR0.ATC
和PLLCR/PLLCR0.ATOEN
寄存器来实现,这些寄存器允许选择哪一个PLL的模拟输出需要启用。
数字测试输出(Digital Test Output)
除了模拟测试输出,PLL还提供了两个数字测试输出。这两个数字测试输出是直接连接到PLL的,可以用来测试和观察PLL的信号。这些信号会通过数字多路选择器(mux)选择,允许你选择不同的信号进行监控。
- 限制:这些数字测试输出信号的测试能力有限,因为这些信号经过PHY模块(物理层)的数字逻辑进行选择,再通过数字逻辑传递到I/O端口。数字逻辑的传递会引入一些噪声,例如电压与温度(VT)噪声,限制了信号的精度和可测量的抖动范围。另外,由于信号的传递经过一般的逻辑电路,频率限制和占空比的偏差也可能影响测量结果。
- 可测量的参数:尽管数字测试输出有这些限制,它仍然可以提供一些有用的信息:
- 输出频率
- 相位误差
- 锁定范围
- 控制寄存器:数字测试输出的控制由
PLLCR/PLLCR0.DTC
和PGCR0.DTOSEL
寄存器来实现。这些寄存器允许选择要监控的信号和PHY块。 - 测试输出信号:来自AC/ACX48和DATX8/DATX4X2的数字测试输出信号是
pll_dto[1:0]
和dl_dto
,最终这些信号变成phy_dto[1:0]
信号供上层PHY模块进行监控。
测量输出频率和相位误差
- 输出频率:通过数字测试输出可以直接测量PLL的输出频率,这是一项标准的测试。
- 相位误差测量:为了测量PLL的相位误差,需要同时观察参考时钟和反馈时钟。你可以通过选择数字测试信号中的一个作为参考时钟输出,另一个作为PLL的输出时钟。这样,你可以测量它们之间的相位差,并计算出PLL的相位误差。
- 锁定范围(Lock Range):锁定范围的测试方法有两种:
- 输出频率和相位误差稳定时,PLL认为已经锁定。这是最常见的检查PLL是否正常工作的方法。
- 锁定信号(Lock Signal):PLL提供了一个锁定信号,可以通过查看
PGSR0.APLOCK
和DXnGSR0.DPLOCK
寄存器来检查PLL是否处于锁定状态。
间接测试方法(Indirect Test Method)
除了直接从数字测试输出查看PLL信号,还可以通过测量主输出引脚来进行间接测试:
- 输出抖动:通过测量主输出引脚(如
CK
和DQS
)的抖动,来间接评估PLL的性能。注意,这个测量不仅包括PLL的抖动,还包括PHY模块中的输出逻辑的影响,因此抖动值可能比PLL本身的规格更大。 - 输出频率:也可以通过主输出引脚的频率测量来确认PLL的输出频率。
测试模式和操作
- 正常操作模式:PLL测试在正常操作模式下进行,前提是PLL已经正确配置、复位,并且经过足够时间来进行锁定。
- 测试点的选择:用户可以根据需求选择测试点(即参考时钟频率),这可能是几个关键的工作点,或者如果产品有可变的频率范围,可能需要在多个点进行采样。
注意事项
- 模拟测试输出不是生产测试的一部分:模拟测试输出仅供调试使用,当怀疑PLL存在问题时,才使用该测试点进行调试。生产测试和质量控制通常不使用模拟测试输出。
- PLL抖动:测量主输出引脚的抖动时,除了PLL本身的抖动外,还会包括PHY模块的输出逻辑抖动。因此,PLL的输出抖动可能会比预期的更大。
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2024/11/26/DDR/Design For Test-PLL TEST/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2024/11/26/DDR/Design For Test-PLL TEST/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!