作者:FPGA入门到精通
AMD(Xilinx)7系列FPGA性价比很高,应用非常广泛,今天分享一下它的时钟资源相关知识。
7系列的时钟资源主要有专用的时钟管理模块(CMT)、多种类型的时钟缓冲器(BUFG/BUFH/BUFR/BUFIO/BUFMR) 以及专用的时钟输入引脚(SRCC和MRCC)。
专用时钟管理模块(CMT)
每个时钟管理区块(CMT)包含一个混合模式时钟管理器(MMCM) 和一个锁相环(PLL)。

MMCM和PLL频率合成功能的工作原理是一样的,都包含一个压控振荡器(Voltage Controlled Oscillator,VCO),用于产生高频时钟,在经过每个输出时钟端口的分频器,产生各端口需要的时钟。
如果需要动态调整相位功能,则只能使用MMCM,上图中MMCM多了的PSCLK、PSEN、PSINCDEC和PSDONE 4个和动态相位调整相关的端口
1、MMCM (Mixed-Mode Clock Manager)
MMCM功能非常强大,是时钟管理的核心主要功能如下:
· 频率合成:提供整数/分数分频与倍频。
· 抖动滤波:降低输入时钟的抖动。
· 时钟去偏斜:减少时钟延迟。
· 动态相位调整:允许在运行时精细调整时钟相位。
· 反相时钟输出:可生成180度反相的时钟信号。
(2)PLL (Phase-Locked Loop)
其功能是MMCM的一个子集。主要用于基础的频率合成、抖动滤波和时钟去偏斜。
对于不需要MMCM高级功能的应用,PLL是更经济的选择。
时钟布线资源与时钟区域
为了高效管理时钟,7系列FPGA在物理上被划分为多个时钟区域(Clock Region)。

1、时钟区域结构
一个时钟区域通常包含50个CLB(可配置逻辑块)、一个I/O Bank以及其他资源(如Block RAM、DSP等)。
其中心有一条水平时钟行(HROW),负责在该区域内分布时钟信号。
2、全局时钟线
整个FPGA芯片内部有32条全局时钟线,由全局时钟缓冲器(BUFG)驱动,可以到达芯片上任何位置的时序资源,以实现全局同步,并提供低偏移的时钟控制信号。
3、区域时钟线
服务于I/O和区域逻辑的时钟布线,通常最多可为三个垂直相邻的时钟区域提供时钟。
时钟缓冲器(Buffer)类型与功能
不同类型的时钟缓冲器用于将时钟信号引入到特定的布线网络上。
下表详细介绍了它们的特点和用途。

时钟输入与专用引脚
外部时钟信号必须通过专用的时钟输入引脚引入FPGA,以确保连接到高性能的时钟路由资源。
这些专用引脚分为MRCC(多区域时钟兼容)和SRCC(单区域时钟兼容)。

官方文档推荐
关于7系列FPGA时钟资源更详细的资料,请参考AMD官方文档 《7 Series FPGAs Clocking Resources User Guide (UG472)》。
UG472下载链接:https://pan.baidu.com/s/1heSKWef6JEJO6g8TzsoCFQ?pwd=4456