• FPGA时钟资源介绍-元件功能


      本章节的内容主要是介绍各个部件的功能。

      首先是BUFG,它能驱动所有时序资源。

      但是它的输入从哪里来呢,谁负责驱动它,整个板子的外部时钟是怎么进来的呢?这个就涉及到外部时钟输入管脚。注意,不是说BUFG只能被外部输入的时钟驱动。时钟信号由专门的时钟引脚输入,引脚分为两种MRCC(Multi-region clock capable)和SRCC(Single-region clock capable),它们分布在I/O bank中,并且与特定的Clock Buffer相连接。它可以将用户时钟连接到:

    1. BUFG(buffer和引脚位于同一个上/下半区)
    2. BUFIO(位于同一个或者垂直相连的I/O bank)
    3. BUFR/BUFMR(位于同一个或者垂直相连的时钟域)
    4. CMT(位于同一个时钟域,或者垂直相连的时钟域,但是后一种情况有限制)

      对于各个元器件之间的驱动关系,UG有一张表格做得非常清楚,以下是总结。

      MRCC(每个bank有两对) 

      由外部时钟驱动 

      能驱动 同个时钟域和同一侧(左/右半区)的

      1. 四个BUFIO
      2. 四个BUFR
      3. 两个BUFMR
      4. 一个CMT(包括一个MMCM和PLL)
      5. 上下垂直相邻的CMT(使用有限的CMT Backbone资源)

      能驱动 同一侧(上/下半区)的

      1. 16个BUFG

      能驱动 水平相连的时钟域内的

      1. BUFH

      

      SRCC(每个bank有两对) 

      由外部时钟驱动 

      能驱动 同个时钟域和同一侧(左/右半区)的

      1. 四个BUFIO
      2. 四个BUFR
      3. 一个CMT(包括一个MMCM和PLL)
      4. 上下垂直相邻的CMT(使用有限的CMT Backbone资源)

      能驱动 同一侧(上/下半区)的

      1. 16个BUFG

      能驱动 水平相连的时钟域内的

      1. BUFH

      BUFIO 能被同个时钟域的MRCC,SRCC,MMCM.CLKOUT(0-3),CLKFBOUT驱动,还可以被同个时钟域和垂直相邻时钟域的BUFMR驱动。

      它可以驱动同个时钟域内的 ILOGIC.clk ILOGIC.clkb OLOGIC.clk OLOGIC.clkb OLOGIC.oclk OLOGIC.clkb

      BUFR能被同个时钟域的MRCC,SRCC,MMCM.CLKOUT(0-3),CLKFBOUT驱动,还可以被同个时钟域和垂直相邻时钟域的BUFMR驱动。还可以被General interconnect 驱动。

      它可以驱动CMT,所有BUFG能驱动的Clocking point(同个时钟域内),当它和BUFG在同个上下半区时,也可以用来驱动BUFG(不推荐)。

      BUFMR能被同个时钟域内的MRCC GT Clock输出(部分)和interconnect驱动(不推荐)

      它可以驱动同个时钟域以及垂直相邻时钟域的BUFIO和BUFR。

      BUFG能被同个上下半区SRCC,MRCC,CMT,GT Clock输出(部分),BUFR(不推荐),和interconnect驱动(不推荐)。以及在同个上/下半区的相邻BUFG。

      它可以驱动CMT,GT Clock Output(部分),在同个上下半区的相邻BUFG,CLB控制信号,BUFH,所有时序资源和I/O。

      BUFH能被同个时钟域内以及水平相连时钟域内的 SRCC,MRCC,CMT,BUFG,GT Clock输出(部分),和interconnect驱动(不推荐)。

      它可以驱动CMT,GT Clock Output(部分),在同个内所有BUFG能驱动的时序资源。

      CMT能被BUFG,SRCC(同一个或者相邻的时钟域),MRCC(同一个或者相邻的时钟域),GT(同个时钟域),BUFR(同个时钟域或者垂直相邻的时钟域内的BUFMR),MMCM/PLL.CLKOUT0-3

      它可以驱动在同个上下半区的所有BUFG,同个时钟域内的BUFIO(MMCM),BUFR(MMCM),BUFH以及水平相邻时钟域内的(BUFH),MMCM/PLL(不相邻则会有相移)。

      以下来自xilinx技术支持,作为补充:

    BUFIO 和 BUFR

    BUFIO 和 BUFR 缓冲器可用于不需要访问器件所有区域的区域时钟。它们通常被用作 IOSERDES 接口设置的时钟。如果您需要了解有关如何使用这两个缓冲器之一的更多详情,则可以在 7 系列 FPGA 时钟资源用户指南 (UG472) 的“区域时钟资源”部分中找到这些信息: http://china.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf

    BUFMR

    BUFMR 是 7 系列器件的新增缓冲器。7 系列器件中的 BUFR 和 BUFIO 只能在其自己的时钟区域中本地布线。BUFMR 必须用于布线到邻近的时钟区域。BUFMR 只能使用 MRCC(具有多区域时钟功能)引脚进行驱动。如果您需要了解有关如何使用此缓冲器的更多详情,敬请参见 7 系列 FPGA 时钟资源用户指南 (UG472) 的“多区域时钟缓冲器”部分和附录 A: http://china.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf

    BUFG、 BUFGCTRL、和 BUFGMUX

    BUFG/BUFGCTRL/BUFGMUX 可用于驱动全局时钟,使该时钟可以到达整个器件的逻辑。您只能通过 CCIO(具有时钟功能的 IO)引脚访问 BUFG 缓冲器。如果您需要了解有关如何使用 BUFG 缓冲器的更多详情,敬请参见 7 系列 FPGA 时钟资源用户指南 (UG472) 的“全局时钟资源”部分: http://china.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf

    BUFH

    水平时钟缓冲器 (BUFH) 可驱动单个区域中的水平全局时钟树干。这些缓冲器包括可用于动态打开或关闭时钟网络的时钟启用功能。这样,您就可以关闭不在使用当中的逻辑区域,以此节约功耗。如欲了解有关如何使用 BUFH 缓冲器的更多详情,敬请参见 7 系列 FPGA 时钟资源用户指南 (UG472) 的“区域时钟资源”部分: http://china.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf

  • 相关阅读:
    Python面试题目之Python函数默认参数陷阱
    Python面试题目之列表取值超出范围
    Python面试题目之打乱打乱有序列表
    Python面试题目之列表去重并维持原来顺序
    Python面试题目之字典排序
    前端学习笔记之JavaScript
    前端学习笔记之CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
    前端学习笔记之CSS知识汇总
    SQL学习笔记八之ORM框架SQLAlchemy
    高效循环算法
  • 原文地址:https://www.cnblogs.com/aliothx/p/13410506.html
Copyright © 2020-2023  润新知