FPGA的时钟资源

目录

  • 1 时钟架构
    • 1.1 时钟布线资源
    • 1.2 CMT
    • 1.3 时钟缓冲器,管理,与布线

1 时钟架构

时钟管理块( The clock management tile,CMT )提供时钟频率合成( frequency synthesis )、去斜( deskew )、过滤抖动( jitter filtering ) 的功能。

  • 全局时钟树(Global clock tree)跨整个器件同步时序单元。
  • I/O 和 时钟域时钟树(regional clock tree)最多允许跨3个垂直相邻的时钟域。
  • 每个 CMT 含一个 混合模式时钟管理器(mixed-mode clock manager ,MMCM) 和一个 锁相环(phase-locked loop,PLL)。CMT 列与 I/O 列相邻。

为了同步需求,7系列器件被分为时钟域(clock region)。

  • 根据器件大小,有1-24个时钟域。
  • 每个时钟域包含所有的时序单元(CLB,I/O,串行收发器,DSP,block RAM,CMT),跨50行CLB和5一个I/O bank(50个I/O),中间有一个水平时钟行( horizontal clock row,HROW)。
  • 每个时钟域最多在HROW上下各覆盖25行CLB。

7系列FPGA时钟架构图:
FPGA的时钟资源_第1张图片

FPGA的时钟资源_第2张图片

垂直时钟中心线( vertical clocking center line),也称为时钟主干线 (the clock backbone) 将设备分为相邻的左侧和右侧区域。水平中心线(horizontal center line)将设备分为顶部和底部区域。时钟主干中的资源被镜像到水平相邻区域的两侧,从而将某些时钟资源扩展到水平相邻区域。顶部和底部划分将两组全局时钟缓冲区(BUFG)分开,并对它们的连接方式施加了一些限制。然而,BUFG不属于时钟域,可以到达设备上的任何时钟点。所有水平时钟资源都包含在时钟区域水平时钟行(HROW)的中心,而垂直的非区域时钟资源则包含在时钟主干或CMT主干中。

1.1 时钟布线资源

每个 I/O bank 包含可用于时钟的输入引脚将用户时钟接到FPGA的时钟布线资源中。与专用的时钟 buffer 配合,将用户时钟接到:

  • 位于器件上半部分或下半部分的全局时钟线路(Global clock line)
  • 相同 I/O bank 或者垂直相邻的 I/O bank 的 I/O 时钟线路(I/O clock line)
  • 相同时钟域或者垂直相邻的时钟域的 时钟域时钟线路(Regional clock line)
  • 相同时钟域或者一定限制下的相邻时钟域下的 CMT

每个7系列单片器件有32个全局时钟线路,可以为整个器件中的所有时序资源提供时钟和控制信号。全局时钟缓冲器( Global clock buffer,BUFGCTRL,简称BUFG)驱动全局时钟线路且必须用于访问全局时钟线路。每个时钟域中12条水平时钟线使其最多支持12个全局时钟线。
全局时钟缓冲器:

  • 可以用作时钟使能电路,以启用或禁用跨越多个时钟域的时钟。
  • 可用作无干扰多路复用器。
  • 在两个时钟源之间进行选择。
  • 关闭故障时钟源。
  • 通常由CMT驱动,以:
    • 消除时钟分配的延迟。
    • 调整相对于另一个时钟的时钟延迟。

水平时钟缓冲器(horizontal clock buffer ,BUFH/BUFHCE) 可以通过水平时钟行(horizontal clock row)访问单个时钟域下的全局时钟线路。也可以作为一个时钟使能电路(BUFHCE),独立启用或禁用跨越单个时钟域的时钟。每个时钟域中12条水平时钟线路使其最多支持12个时钟。

7系列FPGA有时钟域和I/O时钟树,可以在一个时钟域内为所有时序资源提供时钟。器件还有多时钟域缓冲器( multi-clock region buffers ,BUFMR ),允许最多跨3个相邻时钟域和I/O时钟。

  • I/O 时钟缓冲器( I/O clock buffer,BUFIO)驱动I/O时钟树,提供对同一I/O bank内所有的时序I/O单元的访问。
  • 时钟域缓冲器(regional clock buffer,BUFR)驱动时钟域时钟树,该时钟域时钟树同一时钟域下所有时钟终点( clock destination),并且可以配置为对输入时钟分频处理。
  • BUFIO和BUFR时钟缓冲区与IOB中的可编程串行器/反序列化器结合使用,允许源同步系统在不使用额外逻辑资源的情况下跨时钟域。
  • 当与相关的BUFR或BUFIO一起使用时,相邻时钟域和I/O bank中的 时钟域和I/O时钟树 可以使用多时钟区域缓冲区(BUFMR)驱动。
  • 在一个时钟域或I/O bank中最多可支持四个独立的I/O时钟和四个独立的时钟域时钟。

高性能时钟路由以极低抖动、最小占空比失真的直接路径将CMT的某些输出连接到I/O。

1.2 CMT

每个7系列FPGA最多支持24个CMT,每个CMT包含一个MMCM和一个PLL。MMCMs和PLL用作频率合成器,用于各种频率,用作外部或内部时钟的抖动滤波器,以及时钟去斜。PLL包含MMCM功能的一个子集。7系列FPGA时钟输入连接允许多个资源为MMCM和PLL提供参考时钟。

7系列FPGA MMCM在任何方向都具有无限精细的相移能力,可用于动态相移模式。MMCMs在反馈路径或一条输出路径中也有一个分数计数器,从而进一步细化频率合成功能。

1.3 时钟缓冲器,管理,与布线

一个时钟域通用资源:

  • 每个CLB列都包含50个CLB。
  • 每个BRAM列包含10个 36k block RAM(具有PCIE硬核的列有5个被占位)。
  • 每个DSP列包含20个DSP
  • 包含12个 BUFH。

特定于时钟域资源:

  • 1个CMT (PLL/MMCM)
  • 1个I/O Bank(50个I/O)
  • 1个GT quad(4个串行收发器)
  • 1个PCIe(位于 BRAM 列中)

一个时钟域的基本时钟资源:
FPGA的时钟资源_第3张图片

全局时钟缓冲区可以通过HROW驱动到每个区域,即使不是物理位置。
水平时钟缓冲器(BUFH)通过HROW驱动到该区域的每个时钟点。
BUFG和BUFHs在HROW中共享路由路径。I/O缓冲器(BUFIO)和区域时钟缓冲器(BUFR)位于I/O bank内部。BUFIO仅驱动I/O时钟资源,而BUFR驱动I/O资源和逻辑资源。BUFMR支持BUFIO和BUFRs的多时钟域链接。支持时钟的输入将外部时钟连接到设备上的时钟资源。某些资源可以通过CMT主干网连接到上面和下面的区域。

设备右边时钟域详细的时钟驱动网络:
FPGA的时钟资源_第4张图片

全局 BUFG 和时钟域的 BUFH/CMT/CC引脚连接以及可用资源:

FPGA的时钟资源_第5张图片

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 时钟资源与连接:
FPGA的时钟资源_第6张图片

每个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系列设备中的所有时钟区域都包含上图所示的所有块。

你可能感兴趣的:(基础知识,fpga开发)