如何正确使用FPGA的时钟资源
锁相环
设计人员使用锁相环(PLL)主要用于频率综合。使用一个PLL可以从一个输入时钟信号生成多个时钟信号。结合DCM使用,还可以用作抖动滤波器。Spartan-6、Virtex-5和7系列FPGA中都提供有PLL。Spartan-6和 Virtex-5中均有专门的“DCM到PLL”和“PLL到DCM”走线。Spartan-6和Virtex-5中的PLL输出是非扩频的。对这两种器件而言,如果设计使用多个不同时钟,都可以用PLL替代DCM。PLL时钟输出具有宽范的配置范围,而DCM的输出是预定的,不可配置。PLL和DCM的选择还是取决于设计的要求。不过如果相移是必需的,就应该明确地选择DCM。
同时,7系列器件中的PLL所实现的功能没有 MMCM所实现的多。因此虽然MMCM是建立在PLL架构之上,但7系列器件中也有独立的PLL。图5显示了Virtex-5FPGA中的PLL原语。各个端口的详细介绍请参阅Virtex-5用户指南(UG190,5.4版本)。
设计移植
掌握四种主要的时钟资源之间的差异及其在不同器件系列中的可用性非常重要。同时,在不同的系列中,相似的资源(比如DCM)可能在功能上并不完全相同。例如,Spartan-6FPGA中的DCM支持扩频时钟,但Virtex-5和Virtex-5器件中的DCM就不支持。
在规划未来设计向更高端系列移植时,除了确保功能,为给定设计选择正确的时钟资源也很重要。如表1所示,Virtex-6和7系列中的MMCM能够与之前系列中的DCM向后兼容。但需要判断在多大程度上支持向后兼容性,因为所有这些时钟资源都具有多功能性,提供与时钟相关的多种不同功能。在制定产品长期发展规划时,必须对兼容性了如指掌。
fpga相关文章:fpga是什么
分频器相关文章:分频器原理
锁相环相关文章:锁相环原理
评论