Spartan-3,DCM  – 什么原因导致DCM时钟输出出现相位误差,占空比失真和过度抖动?-Altera-Intel社区-FPGA CPLD-ChipDebug

Spartan-3,DCM – 什么原因导致DCM时钟输出出现相位误差,占空比失真和过度抖动?

问题描述

当我使用Spartan-3 DCM时,即使在LOCKED信号为高电平时,内部接地引脚也会受到I / O或CLB切换的干扰,导致过度抖动,失真占空比和失真周期时钟输出。

什么可能导致这个问题发生?

解决/修复方法

内部接地引脚由DCM,IOB和CLB共享。当VCCINT电流,VCCO电流或两者都发生较大变化时,IR(电压)下降会发生相应的变化,并导致DCM电源的下降变化。

DCM电源的内部压降将导致DCM时钟输出出现相位误差,占空比失真和/或过度抖动。

为防止这种情况,请设计电源,使电压随时间的变化足够慢,以便DCM可以足够快地更新其抽头,以便在不产生过多抖动或周期失真的情况下进行操作。

以下做法可能有助于减少抖动或周期失真:

1.必须遵守“同时切换输出(SSO)”指南和正确的旁路/去耦,以获得最佳性能。有关SSO的更多信息,请参阅(Xilinx答复17861)

有关电源旁路/去耦指南,请参阅PCB设计清单: http//www.xilinx.com/products/design_resources/signal_integrity/si_pcbcheck.htm Xilinx XAPP623 ):“配电系统(PDS)设计:使用旁路/去耦电容。“

2.将FACTORY_JF设置增加到’FFFF。当“FACTORY_JF”属性设置为0xFFFF时,DCM大约每20个输入时钟更新其抽头。 (默认设置0xC080h会导致更新发生得更慢。)请注意,良好去耦且稳定的电源是首选解决方案。

增加FACTORY_JF设置可能会引入少量抖动(~30 ps),因为DCM会频繁更新其延迟线。 (这就是默认情况下FACTORY_JF没有设置为最大值的原因。)如果电源不稳定,引入的相位误差可能比引入的额外抖动大得多;因此,增加FACTORY_JF设置可能会改善设计。

3.在任何1 ms间隔内,将电源或接地电位的变化限制在10 mV以下;这允许DCM正确跟踪更改(请参见下图)。

4.将电源噪声限制在200 mV峰 – 峰值范围内(见下图)。

6.如果无法防止电压变化,请将强大的I / O驱动器物理地远离DCM,或使用额外的IOB作为驱动DCM的时钟引脚两侧的额外接地引脚(虚拟接地);这将减少内部IR压降并改善抖动。您可以通过将IOB配置为驱动GND(“0”逻辑电平)的输出并将I / O引脚直接从外部接地到接地层来创建“虚拟接地”。

7. CLK2X输出尤其受电源或接地偏移的影响。因此,当所有IOB和CLB都在切换时,使用M = 2且D = 1的CLKFX输出可以提供更好的输出质量。 CLKFX电路在DFS模式下每三个输入时钟更新一次抽头(与CLK2X输出的较慢更新速率相反)。

请登录后发表评论

    没有回复内容