时钟管理模块的介绍与使用
时间:2014-10-29 阅读:2265
一、器件组成与特性
1.DCM模块主要有以下功能模块组成:
a.DLL模块,主要由延时线和控制逻辑组成。
b.数字频率合成器,为系统产生丰富的频率合成信号输出到CLKFX和CLKFX180。可以提供2~32的倍乘与1~32的分频系数。
c.数字移相器,可提供粗调的0,90,180,270度移相和具有动态调节能力的相位细调。
d.数字频谱合成器,产生扩频时钟减少电磁干扰(EMI)。
Spartan-6DCM模块提供给用户的设计原语有DCM_SP和DCM_CLKGEN,DCM_SP在Spartan-3EFPGA器件中也有,而DCM_CLKGEN是Spartan-6新增的,可以用产生动态的频率合成信号和扩频时钟。
2.PLL模块,有一400MHz~1000MHz压控振荡器(VCO),可提供8种移相(0°,45°,90°,135°,180°,225°,270°,315°)和6个可独立编程倍乘与分频系数的输出信号。提供给用户的设计原语有PLL_BASE和PLL_ADV,PLL_BASE是单独使用PLL模块zui常调用的原语,允许使用PLL的zui常用特性,PLL_ADV包括PLL_BASE所有的特性之外,还提供时钟切换及与DCM的连接。可用于以下工作模式:
a.时钟网络去歪斜
b.频率合成
c.抖动滤波
d.零延时的缓冲
f.PLL与PLL、DCM的级联
二、使用指南
1.注意时钟的输入与输出范围,所有应用不能超过范围.。如器件DCM的DLL模块的时钟输入范围如下(以下摘自Spartan-6DATASHEET):
速度等级为-1L的为器件5MHz~175MHz。
速度等级为2的为器件5MHz~250MHz。
速度等级为3和4的为器件5MHz~280MHz。
DCM的DLL模块的时钟输出范围如下:
CLKOUT_FREQ_CLK0与CLKOUT_FREQ_CLK180为5MHz~250MHz(等级2)或5MHz~280MHz(等级3或4);
CLKOUT_FREQ_CLK90与CLKOUT_FREQ_CLK270为5MHz~200MHz;
CLKOUT_FREQ_2X与CLKOUT_FREQ_2X180为0.3125MHz~166MHz(等级2)或0.3125MHz~186MHz(等级3或4);
DCM的DFS模块的时钟输入范围如下:
速度等级为2的为器件0.5MHz~333MHz。
速度等级为3和4的为器件0.5MHz~375MHz。
DCM的DFS模块的时钟输出范围如下:
CLKOUT_FREQ_FX与CLKOUT_FREQ_FX180为5MHz~333MHz(等级2)或5MHz~375MHz(等级3或4);
PLL模块的zui小的输入时钟频率为19MHz,zui大输入时钟频率为375MHz(从全局时钟输入,速度等级2),400MHz(从全局时钟输入,速度等级3),450MHz(从I/O时钟输入,速度等级2),525MHz(从I/O时钟输入,速度等级3)。
PLL模块的zui小的输出时钟频率为3.125MHz,zui大输入时钟频率为从BUFGMUX输出为375MHz(速度等级2)或400MHz(速度等级3或4),从BUFPLL输出为950MHz(速度等级2)或1050MHz(速度等级3)或1080MHz(速度等级4)。
无论什么时候都不能使VCO超出范围,Spartan-6器件VCO的频率范围为400MHz~1000MHz(等级2),400MHz~1050MHz(等级3),400MHz~1080MHz(等级4),
2.PLL或DCM的选择使用问题
PLL和DCM有类似的功能,又有各自的特性,在应用中什么时候选择使用PLL模块较好,什么时候选择使用DCM模块较好呢?一般认为PLL模块有六组输出时钟,在多时钟的应用中使用PLL比较合适,另外PLL对抖动滤波效果比较好,如要实现抖动滤波也推荐使用PLL模块。Spartan-6PLL模块还提供时钟切换功能,在需要动态切换时钟源的应用中尤为合适。DCM在相位调整上功能比较全,既有粗调的0,90,180,270度移相,又有动态调节的相位细调能力,在实现时钟相位调整的时候推荐使用DCM模块。其它情况如频率合成、调整时钟占空比,消除时钟延时使用PLL模块或DCM模块都可以。
3.DCM除对输入时钟的频率有要求外,对输入时钟的抖动也有要求,如果超出限制的话会导致DCM失锁,失锁后需要用户将DCM复位。抖动主要分两类:
a.Cycle-to-cyclejitter
b.Periodjitter
Cycle-to-cyclejitter一般为±150ps(FCLKFX>150MHz)或±3000ps(FCLKFX<150MHz),
Periodjitter一般为±1ns.具体参见Spartan-6DATASHEET。
如果输入时钟的抖动过大,建议先经过PLL模块进行抖动滤波。
4.PLL与DCM的级联选择
a.PLL输出驱动DCM模块,优点是在输入DCM模块前可减少输入时钟的抖动,同时又可以使用户能构访问所有DCM模块的输出信号,一个PLL可以驱动多个DCM模块,并不要求PLL与DCM都是在同一CMT模块内。
b.DCM模块输出驱动PLL模块,这种情况可以减少输入时钟和DCM时钟输出的总体抖动。如果DCM输出直接连到PLL输入,要求PLL与DCM都是在同一CMT模块内,这种情况可减少的本地噪声与布线资源。如果PLL与DCM不在同一CMT模块内,DCM输出必须经过BUFG缓冲后连到PLL。由于PLL输入信号的限制,zui多只有两个DCM输出信号可以连到一个PLL模块.
c.PLL与PLL的级联,级联PLL可以产生更大范围的时钟,两个PLL的级联也要通过BUFG缓冲,此时器件通路的抖动zui小。