一:赛灵思芯片内置时钟资源介绍
锁相环作为一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相 位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。 锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相 位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。
在赛灵思7系列fpga中,时钟管理模块(Clock Management Tile,简称CMT)包括一个混合模式时钟管理器(Mixed-Mode Clock Manager,简称MMCM)和一个锁相环(Phase-Locked Loop,简称PLL)。
MMCM(Mixed-Mode Clock Manager)和 PLL(Phase-Locked Loop)作为频率合成器,它们不仅可以广泛应用于频率范围的调节,还可用作外部或内部时钟的抖动滤波器,以及桌面时钟的控制器。这两种时钟管理器模块能够灵活地对输入到 FPGA 中的时钟信号进行任意分频、倍频、相位调整和占空比调整,从而输出所需的时钟信号。用于实现复杂的时序控制和时钟同步功能。相较于 PLL,MMCM 在配置上更加灵活,提供了更多功能选项,例如,MMCM 可以用于差分信号的生成,具有更高的适用性和通用性。
MMCM 可以接收输入时钟,并根据需求生成一个或多个输出时钟,并支持相位调节和频率合成等功能,是一种灵活且可重配置的时钟管理器,广泛应用于数字系统中。此外,MMCM 还能够支持更复杂的时钟控制需求,如动态时钟切换、时钟域交叉等特性,为工程师提供了更强大的时钟管理工具。
MMCM/PLL
的参考时钟输入可以是
IBUFG(CC)
即具有时钟能力的
IO
输入、区域时钟
BUFR
、全局时 钟 BUFG
、
GT
收发器输出时钟、行时钟
BUFH
以及本地布线(不推荐使用本地布线来驱动时钟资源)。在 最多的情况下,MMCM/PLL
的参考时钟输入都是来自
IBUFG(CC)
即具有时钟能力的
IO
输入。MMCM/PLL
的输出可以驱动全局时钟
BUFG
和行时钟
BUFH
等等。
BUFG
能够驱动整个器件内部的 PL 侧通用逻辑的所有时序单元的时钟端口。
BUFG/BUFH/CMT
在一个时钟区域内的连接框图如下图所示。
![](https://i-blog.csdnimg.cn/direct/07dfb50f48a54ea3a1bce565d804bdeb.png)
有关
Xilinx
时钟资源和
CMT
的更详细信息, 读者后期可以花一些时间和精力去学习一下 Xilinx
官方的手册文档
“UG472
,
7 Series FPGAs Clocking Resources User Guide”里的介绍。
MMCM
和
PLL
的总体框图如下图所示。
![](https://i-blog.csdnimg.cn/direct/3bd86a9176cd4e0289c9f41016206119.png)
![](https://i-blog.csdnimg.cn/direct/13fc85d2716e449b9bc6024eb8f8de5d.png)
其中
MMCM
的功能是
PLL
的超集,其具有比
PLL
更强大的相移功能。
MMCM
主要用于驱动器件逻 辑(CLB
、
DSP
、
RAM
等)的时钟。
PLL
主要用于为内存接口生成所需的时钟信号,但也具有与器件逻辑的连接,因此如果需要额外的功能,它们可以用作额外的时钟资源。
PLL
由以下几部分组成:前置分频计数器(
D
计数器)、相位
-
频率检测器(
PFD
,
Phase-Frequency Detector)
电路,电荷泵(Charge Pump
)、环路滤波器(
Loop Filter
)、压控振荡器(
VCO
,
Voltage Controlled Oscillator
)、 反馈乘法器计数器(M
计数器)和后置分频计数器(
O1-O6
计数器)。 在工作时,PFD
检测其参考频率(FREF
)和反馈信号(Feedback)之间的相位差和频率差,控制电荷泵和环路滤波器将相位差转换为控制电压;VCO
根据不同的控制电压产生不同的震荡频率,从而影响
Feedback 信号的相位和频率。在 F
REF
和
Feedback
信号具有相同的相位和频率之后,就认为
PLL
处于锁相的状态。 在反馈路径中插入M
计数器会使
VCO
的震荡频率是
F
REF
信号频率的
M
倍,FREF
信号等于输入时钟(FIN
) 除以预缩放计数器(D
)。参考频率用以下方程描述:
F
REF
= F
IN
/D
,
VCO
输出频率为
F
VCO
= F
IN
*M/D
,
PLL 的输出频率为 F
OUT
=
(FIN
*M
)
/
(
N*O
)。 Xilinx 提供了用于实现时钟功能的
IP
核
Clocking Wizard
,该
IP
核能够根据用户的时钟需求自动配置器件内部的 CMT
及时钟资源,以实现用户的时钟需求。在这里我们主要讲解的是如何使用该
IP
核,有关该 IP 核的更详细介绍,读者可以参阅
Xilinx
官方的手册文档
“PG065
,
Clocking Wizard v6.0 LogiCORE IP Product Guide”。
二:Clocking Wizard IP的使用
但是这个PLL 和MMCM 不用这个时钟向导调用应该也可以用原语调用。