我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。
但是,你想要的行为几乎肯定不是它会做的。
我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。
如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器;
PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降......
DCM具有特殊电路,可在输入干净停止时防止解锁。
如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。
同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。
Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。
DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。
但是,以这种方式生成的时钟不再锁定到输入时钟;
这意味着相位和频率可以(并且将会)随时间漂移;
偏离原始输入时钟......
所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。
Avrum
在原帖中查看解决方案
我不认为任何一个细胞会做你想要的。
当输入时钟停止时,未明确定义PLL的行为。
但是,你想要的行为几乎肯定不是它会做的。
我可以让PLL的参数简单地失去锁定,在这种情况下你需要重置它。
如果丢失的时钟数足够短,不会失锁,那么这将破坏计数器;
PLL将尝试“吸收”反馈环路中丢失的时钟脉冲,这将导致输出时钟频率在一段时间内略微下降......
DCM具有特殊电路,可在输入干净停止时防止解锁。
如果输入时钟停止然后重新启动,则输出时钟将相应地停止然后重新启动,但不会失去锁定。
同样,不是您正在寻找的行为(丢失的时钟周期在输出中“插入”)。
Spartan-6中的DCM_CLKGEN的新功能与您想要的有些相似,但不够接近(我认为)。
DCM_CLKGEN可由时钟“启动”,但一旦DCM锁定,则不再需要输入时钟。
但是,以这种方式生成的时钟不再锁定到输入时钟;
这意味着相位和频率可以(并且将会)随时间漂移;
偏离原始输入时钟......
所以,总而言之,我不认为你可以做任何你想要做的任何Xilinx原语。
Avrum
在原帖中查看解决方案
举报