xilinx的FPGA时钟结构

描述

xilinx 的 FPGA 时钟结构,7 系列 FPGA 的时钟结构和前面几个系列的时钟结构有了很大的区别,7系列的时钟结构如下图所示。

X

Clock Region:FPGA 内部分成了很多个时钟区域。

Horizontal Center:FPGA被 Horizontal Center 分成上下两个部分,每个部分包含16个 BUFG 。

Clock Backbone:全局时钟线的主干道,将 FPGA 分成了左右两部分,所有的全局时钟布线均要从此经过。

HROW:水平时钟线,从水平方向贯穿每个时钟区域的中心区域,将时钟区域分成上下完全一致的两部分。全局时钟线进入每个时钟区域的逻辑资源时,必须经过水平时钟线。

I/O Column:外部信号/时钟输入管脚。

CMT Backbone:对于相邻时钟区域的时钟布线,可以不使用珍贵的全局时钟网络,而使用每个时钟区域都包含的 CMT Backbone 通道。

CMT Column:每个时钟区域都包含一个CMT,一个CMT由一个MMCM和一个PLL组成。

GT Column:内含高速串行收发器。

总结来说,FPGA 实际上就是被分成很多个大小一样时钟区域,每个时钟区域既可单独工作又可通过全局时钟 Clock BackBone 统一工作,同时水平相邻的时钟区域又可通过 HROW 来统一工作,上下相邻的时钟区域又可通过 CMT Backbone 统一工作。

Xilinx 7系列时钟区域

X

BUFG 即为全局时钟缓冲器,从图上看到,其输出时钟通过 Clock Backbone 可以到达任意一个时钟区域,而且 BUFG 通过 HROW 到达时钟区域内部的每个逻辑单元。

BUFH 即为水平时钟缓冲器,它相当于一个功能受限的 BUFG ,其输出时钟只能通过 HROW 在左右相邻的时钟区域内工作。

BUFIO 即为 IO 时钟缓冲器,其输出时钟只能作用在一个时钟区域的 IO 寄存器处,无法在 FPGA 内部逻辑使用。

BUFR 即为区域时钟缓冲器,其输出只能作用在一个时钟区域,相当于 BUFH 的 mini 版。

BUFMR 即为多区域时钟缓冲器,其输出作用在本时钟区域,还可以通过 CMT Backbone 作用在上下相邻两个时钟区域。

MMCM、PLL 即时钟管理模块,用来消除时钟的延迟、抖动以及产生各种不同频率的时钟。

CC 即为外部时钟输入管脚,其管脚在内部可以连接到 BUFG、BUFR、BUFIO、BUFH、MMCM、PLL 等,看具体的应用具体连接。下图所示为更为细致的 CC 管脚连接图。一个时钟区域有 4 对 CC 管脚,其中 2 对 SRCC ,2 对 MRCC 。SRCC 作为区域时钟使用时,只能连接本时钟区域的 BUFR 和 BUFIO 。而 MRCC 则还可以通过BUFMR作用在上下相邻的时钟区域。

X

Xilinx 7系列时钟详细描述

xilinx 7 系列 FPGA 里面,一个 CMT 包含一个 PLL 和一个 MMCM。Ultra 系列 FPGA 里面包含两个 PLL 和 一个 MMCM 。所以本文以 7 系列介绍。

1.IO 的时钟分布

X

2.芯片上位置

BUFG、BUFR、BUFH、BUFIO 在芯片上所处位置如下图所示

X

将BUFR、BUFIO、BUFMR 放大如下图所示

X

3.驱动能力对比

结合 BUF 在芯片上的位置,以及下图不难理解BUFG、BUFH、BUFR、BUFIO的驱动能力强弱。

X

 

X

物理管脚 IO

SRCC:外部差分时钟或者单端时钟驱动,只能作用于本区域时钟:4个BUFIO、4个BUFR、本时钟区域的CMT以及上下相邻时钟区域的CMT、16个BUFG、本时钟区域以及水平相邻时钟区域的BUFH。

MRCC:外部差分时钟或者单端时钟驱动,只能作用于本区域时钟:4个BUFIO、4个BUFR、2个BUFMR、本时钟区域的CMT以及上下相邻时钟区域的CMT、16个BUFG、本时钟区域以及水平相邻时钟区域的BUFH。

FPGA 芯片内部

BUFIO:在相同的时钟区域内,其可以被 MRCC、SRCC、MMCM 的 CLKOUT0~3、CLKFBOUT 驱动,还可以被本时钟区域以及上下相邻区域的 BUFMR 驱动;其只能驱动本时钟区域内的 ILOGIC、OLOGIC 。

BUFR:在相同时钟区域内,其可以被MRCC、SRCC、MMCM的CLKOUT0~3、CLKFBOUT驱动,还可以被本时钟区域以及上下相邻区域的BUFMR驱动;其能驱动本时钟区域内的CMT、本时钟区域内所有逻辑单元、以及16个BUFG(不推荐)。

BUFMR:其只能被本时钟区域的MRCC以及某些GT时钟驱动;其能驱动本时钟区域以及上下相邻区域的BUFIO、BUFR。

BUFG:其能被每个时钟区域内的SRCC、MRCC、CMT、GT、BUFR(不推荐)、其他BUFG;其可以驱动CMT、GT时钟、其他BUFG、FPGA内任何逻辑单元、BUFH。

BUFH:其能被本时钟区域以及左右相邻时钟区域内的SRCC、MRCC、CMT、BUFG、GT时钟驱动;其能驱动本时钟区域的CMT、GT时钟、以及本时钟区域内的所有逻辑单元。

GT时钟之RXUSERCLK、TXUSERCLK:其能被任何BUFG、以及本时钟区域内的BUFH驱动;其只能驱动专用的串行收发器模块。

GT时钟之RXOUTCLK、TXOUTCLK:其被专用的串行收发器模块驱动;其能驱动BUFG、相同时钟区域内的CMT、BUFMR、BUFH以及相邻时钟区域内的BUFH。

MGTREFCLK:其被外部MGT时钟源驱动;其能驱动BUFG、相同时钟区域内的CMT、BUFMR、BUFH以及相邻时钟区域内的BUFH。

CMT(PLL&MMCM):其能被BUFG、SRCC(本时钟区域以及上下相邻时钟区域)、MRCC(本时钟区域以及上下相邻时钟区域)、GT(本时钟区域)、BUFR(本时钟区域或者上下相邻时钟区域加上BUFMR)、BUFMR、MMCM/PLL.CLKOUT0~3驱动;其能驱动BUFG、相同时钟区域内的BUFIO、BUFR、BUFH以及水平相邻的时钟区域的BUFH、MMCM/PLL。
 

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • F
  • X

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分