Xilinx中时钟资源:模式时钟管理器(MMCM)的使用

您所在的位置:网站首页 如何安装mmcm Xilinx中时钟资源:模式时钟管理器(MMCM)的使用

Xilinx中时钟资源:模式时钟管理器(MMCM)的使用

#Xilinx中时钟资源:模式时钟管理器(MMCM)的使用| 来源: 网络整理| 查看: 265

混合模式时钟管理器(MMCM)

除了丰富的时钟网络以外,Xilinx还提供了强大的时钟管理功能,提供更多更灵活的时钟。Xilinx在时钟管理上不断改进,从Virtex-4的纯数字管理单元DCM,发展到Virtex-5CMT(包含PLL),再到Virtex-6基于PLL的新型混合模式时钟管理器MMCM(Mixed-Mode Clock Manager),实现了最低的抖动和抖动滤波,为高性能的FPGA设计提供更高性能的时钟管理功能。

Virtex-6的CMT包含2个MMCM,处于同一个CMT中的2个MMCM之间有专门布线资源。每个时钟片里的MMCM可以独立使用,也可以将MMCM之间的专门布线资源释放出来供其他设计单元使用。

MMCM之间的连接关系及输入源的框图如图5-12所示。同前一代Virtex-5的PLL相比,扩充了时钟输入,允许多个时钟源作为MMCM的输入参考时钟。

Virtex-6 FPGA CMT框图 图5-12 Virtex-6 FPGA CMT框图

Virtex-6最多有9个CMT片,输入多路复用器从IBUFG、BUFG、BUFR、GTX(仅CLKIN)或通用布线(不推荐)中选择参考时钟和反馈时钟。

Virtex-6中的PLL内部结构图如图5-13所示。每个时钟输入有一个可编程计数器D。相位/频率检测器(PFD)比较输入(参考)时钟和反馈时钟的相位和频率。仅考虑上升沿即可,因为只要保持最小High/Low脉冲,则占空比无关紧要。PFD用来生成与两个时钟之间的相位和频率差成比例的信号。此信号驱动电荷泵(CP)和环路滤波器(LF),以便为VCO生成参考电压。PFD为电荷泵和环路滤波器生成一个上升或下降信号,以确定VCO应该在较高频率还是较低频率工作。当VCO工作频率过高时,PFD触发一个下降信号,致使控制电压下降,从而降低VCO的工作频率。当VCO工作频率过低时,PFD触发一个上升信号,致使控制电压上升,从而提高VCO的工作频率。VCO产生八个输出相位和一个可变相位的精细相位输出。每个输出相位都可选作输出计数器的参考时钟。可以根据给定的客户设计对每个计数器独立编程。另外还提供了一个专用计数器M。此计数器控制PLL的反馈时钟,以实现大范围频率合成。

除了整数分频输出计数器,Virtex-6器件通过组合O0/O5和/或M/O6寄存器,可以实现小数计数器。使用小数模式时候,O5和O6输出不可用。

PLL内部结构图 图5-13 PLL内部结构图

Virtex-6 MMCM提供了广泛而强大的时钟管理功能,分别介绍如下。

一、 时钟去歪斜

在许多情况下,设计人员在其I/O时序预算中不希望在时钟网络上有延迟,这时可以使用MMCM来补偿时钟网络的延迟。一个与参考时钟CLKIN的频率相匹配的时钟输出(通常是CLKFBOUT)连接到BUFG,并且反馈到MMCM的CLKFBIN反馈引脚。其余输出仍可通过分频产生更多输出频率。在这种情况下,所有输出时钟对于输入参考时钟都具有固定的相位关系。

二、 基于整数分频器的数字频率合成

MMCM还可以用作独立频率合成器。在这种应用中,PLL不能用于时钟网络去歪斜,而是用它来生成输出时钟频率。在这种模式下,PLL反馈通路为internal模式,这样所有布线保留为局部布线,使抖动最小。

三、 基于小数分频器的数字频率合成

Virtex-6在CLKOUT0输出和/或M反馈路径上支持非整数分频。如果CLKOUT0的计数器用于小数模式,那么CLKOUT5计数器的输出不可用。类似,在M反馈计数器使用时,CLKOUT6计数器输出也不可用。小数分频的精度是1/8或0.125度。在小数分频的情况下,占空比和相移不可编程。

四、 抖动滤波器

MMCM可以降低参考时钟上固有的抖动。作为抖动滤波器,MMCM通常被看作一个缓冲器,在输出上重新生成输入频率(例如,FIN=100MHz,FOUT=100MHz)。一般来说,通过使用MMCM的BANDWIDTH属性并且将其设置为Low,可以实现较强的抖动过滤。但将BANDWIDTH设置为Low会导致MMCM的静态偏差增大。

五、 相移

在许多情况下,各时钟之间需要有相移。MMCM可以通过多个选项实现相移。最好通过软件工具选择合适的相位模式。

(1) 静态相移模式。

VCO能够以45°的间隔提供8个移相时钟,静态相移模式通过选择这8个VCO输出相移中的一个实现的。因此以时间为单位的相移分辨率定义为:PS=1/8FVCO或D/8MFIN。因为VCO具有明确的工作范围,所以可以把相移分辨率的范围界定为从1/8 FVCO_MIN到1/8 FVCO_MAX。VCO的频率越高,相移分辨率就越高。各输出计数器可分别编程,允许每个计数器在VCO的输出频率的基础上具有不同的相移。

(2) IFPS模式。

Virtex-6还提供一种IPFS模式相移,支持固定或动态模式。在该模式下,相移实现线性移位特性,和CLKOUT_DIVIDE值无关,只决定于VCO频率。MMCM以Fvco/56为步长进行相位调节。相移值可在配置过程中固定,也可动态改变。CLKOUT计数器可分别设置成静态相移模式或者IPFS模式,固定相移模式下,动态相移接口不能被使用。

(3) 动态相移接口。

Virtex-6可以由PSEN、PSINCDEC、PSCLK和PSDONE控制动态相移。MMCM锁住后,CLKOUT_PHASE属性决定初始相位,通常情况下,可以不设置初始相移。MMCM根据PSEN、PSINCDEC、PSCLK和PSDONE信号的动作,改变输出相移。步长为VCO时钟周期的1/56。信号时序图请参考图5-14。

动态相移接口时序图 图5-14 动态相移接口时序图

如图5-15所示,MMCM_BASE是基本时钟管理模块的原语,实现MMCM的基本功能;MMCM_ADV是在MMCM_BASE的基础上,增加输入时钟切换、同一CMT中MMCM之间连接、动态相移调节等功能。

MMCM的两种原语 图5-15 MMCM的两种原语

注意:Virtex-6不支持动态重配置端口。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3