最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Spartan6时钟管理模块的介绍与使用

IT圈 admin 26浏览 0评论

2024年4月6日发(作者:戎淳雅)

Spartan-6时钟管理模块的介绍与使用

同步时序电路设计中最关键的是时钟设计,随着电路规模与速度的提高,对时钟的周期、

占空比、延时和抖动等方面的要求也越来越高。为了顺应这需求,Spartan-6系统器件在原

有的DCM模块基础引入了模拟PLL模块构成了功能强大、控制灵活的时钟管理模块(C

MT)。每个CMT模块包含两个DCM模块和一个PLL模块。Spartan-6系统器件有多

至六个 CMT模块。

一、器件组成与特性

1.DCM模块主要有以下功能模块组成:

模块, 主要由延时线和控制逻辑组成。

b.数字频率合成器,为系统产生丰富的频率合成信号输出到CLKFX和CLKFX180。可以提

供2~32的倍乘与1~32的分频系数。

c.数字移相器, 可提供粗调的0,90,180,270度移相和具有动态调节能力的相位细调。

d.数字频谱合成器,产生扩频时钟减少电磁干扰(EMI)。

Spartan-6 DCM模块提供给用户的设计原语有DCM_SP和DCM_CLKGEN,DCM_SP在

Spartan-3E FPGA器件中也有,而DCM_CLKGEN是Spartan-6新增的,可以用产生动态

的频率合成信号和扩频时钟。

2. PLL模块,有一400MHz~1000 MHz压控振荡器(VCO),可提供8种移相(0°, 45°, 90°,

135°, 180°, 225°, 270°, 315°)和6个可独立编程倍乘与分频系数的输出信号。

提供给用户的设计原语有PLL_BASE和PLL_ADV,PLL_BASE是单独使用PLL模块最常

调用的原语,允许使用PLL的最常用特性,PLL_ADV包括PLL_BASE所有的特性之外,

还提供时钟切换及与DCM的连接。可用于以下工作模式:

a. 时钟网络去歪斜

b. 频率合成

c. 抖动滤波

d. 零延时的缓冲

f. PLL与PLL、DCM的级联

二、使用指南

1.注意时钟的输入与输出范围,所有应用不能超过范围.。如Spartan-6 器件DCM的DLL

模块的时钟输入范围如下(以下摘自Spartan-6 DATA SHEET):

速度等级为-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模块的最小的输入时钟频率为19 MHz,最大输入时钟频率为375MHz(从全局时钟输

入,速度等级2),400MHz(从全局时钟输入,速度等级3),450MHz(从I/O时钟输入,

速度等级2),525MHz(从I/O时钟输入,速度等级3)。

PLL模块的最小的输出时钟频率为3.125MHz,最大输出时钟频率为从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-6 PLL模块还提供时钟切换功能,在需要动态切换时钟源的应用中尤为合适。

DCM在相位调整上功能比较全,既有粗调的0,90,180,270度移相,又有动态调节的相

位细调能力,在实现时钟相位调整的时候推荐使用DCM模块。其它情况如频率合成、调整

时钟占空比,消除时钟延时使用PLL模块或DCM模块都可以。

3.DCM除对输入时钟的频率有要求外,对输入时钟的抖动也有要求,如果超出限制的话

会导致DCM失锁,失锁后需要用户将DCM复位。抖动主要分两类:

a. Cycle-to-cycle jitter

b. Period jitter

Cycle-to-cycle jitter一般为±150ps(FCLKFX > 150 MHz)或±3000ps(FCLKFX < 150 MHz),

Period jitter一般为±1ns. 具体参见Spartan-6 DATA SHEET。

如果输入时钟的抖动过大,建议先经过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输入信号的限制, 最多只有两个DCM输出

信号可以连到一个PLL模块.

c. PLL与PLL的级联, 级联PLL可以产生更大范围的时钟,两个PLL的级联也要通过

BUFG缓冲, 此时器件通路的抖动最小。

以上抛砖引玉,主要参考文献为XILINX的:

1.ug382 Spartan-6 FPGA Clocking Resources User Guide.

2.Ds162 Spartan-6 FPGA Data Sheet: DC and Switching Characteristics.

3.xapp1065 Spread-Spectrum Clock Generation in Spartan-6 FPGAs

2024年4月6日发(作者:戎淳雅)

Spartan-6时钟管理模块的介绍与使用

同步时序电路设计中最关键的是时钟设计,随着电路规模与速度的提高,对时钟的周期、

占空比、延时和抖动等方面的要求也越来越高。为了顺应这需求,Spartan-6系统器件在原

有的DCM模块基础引入了模拟PLL模块构成了功能强大、控制灵活的时钟管理模块(C

MT)。每个CMT模块包含两个DCM模块和一个PLL模块。Spartan-6系统器件有多

至六个 CMT模块。

一、器件组成与特性

1.DCM模块主要有以下功能模块组成:

模块, 主要由延时线和控制逻辑组成。

b.数字频率合成器,为系统产生丰富的频率合成信号输出到CLKFX和CLKFX180。可以提

供2~32的倍乘与1~32的分频系数。

c.数字移相器, 可提供粗调的0,90,180,270度移相和具有动态调节能力的相位细调。

d.数字频谱合成器,产生扩频时钟减少电磁干扰(EMI)。

Spartan-6 DCM模块提供给用户的设计原语有DCM_SP和DCM_CLKGEN,DCM_SP在

Spartan-3E FPGA器件中也有,而DCM_CLKGEN是Spartan-6新增的,可以用产生动态

的频率合成信号和扩频时钟。

2. PLL模块,有一400MHz~1000 MHz压控振荡器(VCO),可提供8种移相(0°, 45°, 90°,

135°, 180°, 225°, 270°, 315°)和6个可独立编程倍乘与分频系数的输出信号。

提供给用户的设计原语有PLL_BASE和PLL_ADV,PLL_BASE是单独使用PLL模块最常

调用的原语,允许使用PLL的最常用特性,PLL_ADV包括PLL_BASE所有的特性之外,

还提供时钟切换及与DCM的连接。可用于以下工作模式:

a. 时钟网络去歪斜

b. 频率合成

c. 抖动滤波

d. 零延时的缓冲

f. PLL与PLL、DCM的级联

二、使用指南

1.注意时钟的输入与输出范围,所有应用不能超过范围.。如Spartan-6 器件DCM的DLL

模块的时钟输入范围如下(以下摘自Spartan-6 DATA SHEET):

速度等级为-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模块的最小的输入时钟频率为19 MHz,最大输入时钟频率为375MHz(从全局时钟输

入,速度等级2),400MHz(从全局时钟输入,速度等级3),450MHz(从I/O时钟输入,

速度等级2),525MHz(从I/O时钟输入,速度等级3)。

PLL模块的最小的输出时钟频率为3.125MHz,最大输出时钟频率为从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-6 PLL模块还提供时钟切换功能,在需要动态切换时钟源的应用中尤为合适。

DCM在相位调整上功能比较全,既有粗调的0,90,180,270度移相,又有动态调节的相

位细调能力,在实现时钟相位调整的时候推荐使用DCM模块。其它情况如频率合成、调整

时钟占空比,消除时钟延时使用PLL模块或DCM模块都可以。

3.DCM除对输入时钟的频率有要求外,对输入时钟的抖动也有要求,如果超出限制的话

会导致DCM失锁,失锁后需要用户将DCM复位。抖动主要分两类:

a. Cycle-to-cycle jitter

b. Period jitter

Cycle-to-cycle jitter一般为±150ps(FCLKFX > 150 MHz)或±3000ps(FCLKFX < 150 MHz),

Period jitter一般为±1ns. 具体参见Spartan-6 DATA SHEET。

如果输入时钟的抖动过大,建议先经过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输入信号的限制, 最多只有两个DCM输出

信号可以连到一个PLL模块.

c. PLL与PLL的级联, 级联PLL可以产生更大范围的时钟,两个PLL的级联也要通过

BUFG缓冲, 此时器件通路的抖动最小。

以上抛砖引玉,主要参考文献为XILINX的:

1.ug382 Spartan-6 FPGA Clocking Resources User Guide.

2.Ds162 Spartan-6 FPGA Data Sheet: DC and Switching Characteristics.

3.xapp1065 Spread-Spectrum Clock Generation in Spartan-6 FPGAs

发布评论

评论列表 (0)

  1. 暂无评论