时钟管理块( The clock management tile,CMT )提供时钟频率合成( frequency synthesis )、去斜( deskew )、过滤抖动( jitter filtering ) 的功能。
为了同步需求,7系列器件被分为时钟域(clock region)。
垂直时钟中心线( vertical clocking center line),也称为时钟主干线 (the clock backbone) 将设备分为相邻的左侧和右侧区域。水平中心线(horizontal center line)将设备分为顶部和底部区域。时钟主干中的资源被镜像到水平相邻区域的两侧,从而将某些时钟资源扩展到水平相邻区域。顶部和底部划分将两组全局时钟缓冲区(BUFG)分开,并对它们的连接方式施加了一些限制。然而,BUFG不属于时钟域,可以到达设备上的任何时钟点。所有水平时钟资源都包含在时钟区域水平时钟行(HROW)的中心,而垂直的非区域时钟资源则包含在时钟主干或CMT主干中。
每个 I/O bank 包含可用于时钟的输入引脚将用户时钟接到FPGA的时钟布线资源中。与专用的时钟 buffer 配合,将用户时钟接到:
每个7系列单片器件有32个全局时钟线路,可以为整个器件中的所有时序资源提供时钟和控制信号。全局时钟缓冲器( Global clock buffer,BUFGCTRL,简称BUFG)驱动全局时钟线路且必须用于访问全局时钟线路。每个时钟域中12条水平时钟线使其最多支持12个全局时钟线。
全局时钟缓冲器:
水平时钟缓冲器(horizontal clock buffer ,BUFH/BUFHCE) 可以通过水平时钟行(horizontal clock row)访问单个时钟域下的全局时钟线路。也可以作为一个时钟使能电路(BUFHCE),独立启用或禁用跨越单个时钟域的时钟。每个时钟域中12条水平时钟线路使其最多支持12个时钟。
7系列FPGA有时钟域和I/O时钟树,可以在一个时钟域内为所有时序资源提供时钟。器件还有多时钟域缓冲器( multi-clock region buffers ,BUFMR ),允许最多跨3个相邻时钟域和I/O时钟。
高性能时钟路由以极低抖动、最小占空比失真的直接路径将CMT的某些输出连接到I/O。
每个7系列FPGA最多支持24个CMT,每个CMT包含一个MMCM和一个PLL。MMCMs和PLL用作频率合成器,用于各种频率,用作外部或内部时钟的抖动滤波器,以及时钟去斜。PLL包含MMCM功能的一个子集。7系列FPGA时钟输入连接允许多个资源为MMCM和PLL提供参考时钟。
7系列FPGA MMCM在任何方向都具有无限精细的相移能力,可用于动态相移模式。MMCMs在反馈路径或一条输出路径中也有一个分数计数器,从而进一步细化频率合成功能。
一个时钟域通用资源:
特定于时钟域资源:
全局时钟缓冲区可以通过HROW驱动到每个区域,即使不是物理位置。
水平时钟缓冲器(BUFH)通过HROW驱动到该区域的每个时钟点。
BUFG和BUFHs在HROW中共享路由路径。I/O缓冲器(BUFIO)和区域时钟缓冲器(BUFR)位于I/O bank内部。BUFIO仅驱动I/O时钟资源,而BUFR驱动I/O资源和逻辑资源。BUFMR支持BUFIO和BUFRs的多时钟域链接。支持时钟的输入将外部时钟连接到设备上的时钟资源。某些资源可以通过CMT主干网连接到上面和下面的区域。
全局 BUFG 和时钟域的 BUFH/CMT/CC引脚连接以及可用资源:
4个具有时钟输入功能的引脚中的任意一个都可以驱动 BUFH 和 CMT中的PLL/MMCM。
BUFG显示为存在于该时钟域中,但可以位于时钟主干中的其他位置。
BUFG和BUFH在HROW中共享12条布线通道(routing track),可以驱动该地区的所有时钟点。BUFGs还可以驱动BUFHs。这允许在其他全局时钟分布上启用单个时钟(CE)。
GT quad有十条专用布线通道,用于驱动时钟主干中的CMT和时钟缓冲器。
位于I/O bank中的BUFR有四条布线通道驱动逻辑、CMT和BUFG中的时钟点。CMT可以在有限制的情况下,使用CMT主干驱动相邻区域中的其他CMT。同样,具有时钟功能的引脚可以驱动相邻区域的CMT,但具有相同的限制。具有时钟功能的引脚可以驱动设备顶部/底部的任何位置的BUFG。CMT主干网中有四条布线通道支持垂直区域之间的连接。
来自一个时钟域的时钟源可以驱动其自身区域以及水平相邻区域中的时钟缓冲资源。CMT、支持时钟的引脚和串行收发器可以通过BUFH将时钟驱动到水平相邻区域,还可以连接到设备同一顶/底侧的BUFG。
逻辑互连驱动BUFG和BUFH的CE引脚。逻辑互连也可以将时钟驱动到相同的缓冲器中,但必须小心,因为时序是不可预测的。
每个I/O bank 包含4个 BUFIO 和 4个 BUFR。这些时钟缓冲器中的每一个都可以由具有特定时钟功能的输入时钟引脚对驱动,或者直接由MMCM的特定输出时钟驱动。其中两个具有时钟功能的输入管脚对称为MRCC,支持多时钟域时钟方案。MRCC引脚对可以驱动特定的BUFMR,而BUFMR反过来可以驱动相同和相邻区域中的BUFIO和BUFRs,从而促进多时钟域/bank接口。类似地,GT quad也可以驱动BUFMR。MMCM<3:0>输出有一条专用于BUFRs和BUFIO的高性能差分路径。此功能也称为高性能时钟(HPC)。
尽管所有7系列设备都具有相同的基本架构,但系列和系列内的设备之间存在一些架构差异。每个7系列FPGA在设备的左边至少有一个完整的I/O列。GT可以是7系列FPGA(GTP、GTX或GTH)支持的任何一个串行收发器。带有GT的设备的右边(一些Kintex-7设备和一些Artix-7设备)或右边(一些Kintex-7设备和一些Virtex-7设备)有GT和I/O的混合列,以及设备右侧的完整I/O列。其他Virtex-7设备的左右边缘有完整的GT列,左右两侧有完整的I/O列。Artix-7 200T设备在顶部和底部靠近时钟柱的地方都有GTP收发器。因此,并非7系列设备中的所有时钟区域都包含上图所示的所有块。