Menu Close

Xilinx 7系列FPGA的时钟资源(1)

1. Xilinx 7系列FPGA简介

Xilinx 7系列包括有4类FPGA,详情介绍见文章Xilinx主流FPGA芯片简介

  • Spartan-7:低成本,小封装
  • Artix-7:适用于串行收发器,高DSP和逻辑吞吐的低功耗
  • Kintex-7:性价比高
  • Virtex-7:高性能

 

2. 时钟架构

2.1 架构总述

  • 全局时钟树允许跨设备同步元件的时钟
  • 时钟管理块 (clock management tiles,CMT) 提供时钟频率合成、纠偏(偏斜指时钟在因为途径寄存器不同或是负载不同,导致到达时间的空间变化)和抖动(抖动指晶振在电源或是温度影响下导致的时钟周期的时间变化)过滤功能。每个CMT中 包含一个混合模式时钟管理器 (mixed-mode clock manager,MMCM) 和一个锁相环 (phase-locked loop,PLL),位于 I/O 列旁边的 CMT 列中(Spartan-6中是2个DCM和1个PLL的结构)
    • MMCM 和 PLL 用作各种频率的频率合成器,用作外部或内部时钟的抖动滤波器以及去歪斜时钟
    • PLL是MMCM的一个子集,具有相同的性能(除了CLKIN/PFD 和 VCO 频率范围)、连接限制和一些减少的功能

2.2 时钟路由(routing)资源总述

  • 每个7系列单片器件都有 32 条全局时钟线,可以为整个器件中的所有时序资源提供时钟和控制信号
  • 全局时钟缓冲器(BUFGCTRL,或简称为BUFG)驱动全局时钟线,且必须用于访问全局时钟线
    • BUFG
      • 可用作时钟使能电路来启用/禁用跨越多个时钟区域的时钟
      • 可用作无故障多路复用器以:
        • 在两个时钟源之间选择
        • 从故障时钟源切换
      • 通常由 CMT 驱动:
        • 消除时钟分配延迟
        • 调整相对于另一个时钟的时钟延迟
  • 水平时钟缓冲器 (BUFH) 允许通过水平时钟行访问单个时钟区域中的全局时钟线。 它还可以用作时钟使能电路 (BUFHCE),以独立启用或禁用跨越单个时钟区域的时钟
    每个时钟区域可以通过时钟区域中的12条水平时钟线支持最多12条全局时钟线
  • I/O 时钟缓冲器 (I/O clock buffer,BUFIO) 驱动 I/O 时钟树,提供对同一 I/O bank 中所有顺序 I/O 资源的时钟访问
  • 区域时钟缓冲器(regional clock buffer,BUFR) 驱动区域时钟树,驱动同一时钟区域中的所有时钟目标,并且可以通过编程对输入时钟速率进行分频
  • BUFIOBUFR 允许源同步系统在不使用额外逻辑资源的情况下跨越时钟域
  • 当与相关联的 BUFR 或 BUFIO 一起使用时,可以使用多时钟区域缓冲器 (multi-clock region buffer,BUFMR) 驱动相邻时钟区域和 I/O bank 中的区域和 I/O 时钟树。BUFMR是7系列FPGA新增加的时钟缓冲器
  • 高性能时钟路由(routing)将 CMT 的某些输出连接到极低抖动、最小占空比失真的直接路径上的 I/O

 

3. 时钟缓冲器挑选原则

BUFG是最常用的时钟缓冲器,作为全局时钟,BUFG可以连接到设备上的每个时钟点。然而,在某些情况下,出于性能、功能或时钟资源可用性的原因,更推荐使用备用时钟缓冲器。

使用BUFG的情况:

  • 设计或设计的一部分需要在大面积区域有全局的影响力,并且功能的本地化无法实现
  • 跨越多时区的硬件功能块(比如RAM,DSP),被级联(cascaded),或连接距离远的CLB(configurable logic block,可编程的逻辑功能块)
  • 通过同步(无干扰)或异步时钟切换,应用程序能够从停止的时钟切换或选择具有不同频率的时钟(例如,降低功率)
  • CE (clock enable),时钟使能功能可用于在非工作期间降低功耗。但是,在大多数情况下,由于时序(CE 延迟)限制,CE 功能不应用于在时钟元件上模拟真正的 CE 逻辑功能

 

BUFRBUFIO组合的主要目的是支持源同步接口(source-synchronous interface)。对于需要比单个时钟区域/bank 中可用的更多逻辑和/或 I/O 的接口,BUFMR 用于将时钟域传输功能扩展到上方和下方的时钟区域。当 MMCM/PLL 不能使用或不可用于分频功能时,某些需要分频时钟与源同步 I/O 用例无关的应用程序可以使用 BUFR 作为简单的时钟分频器。在这种情况下,必须特别注意时序(timing)和偏移(skew)。

 

水平时钟缓冲器 BUFH是严格的区域资源,不能跨越上方或下方的时钟区域。 与 BUFR 不同的是,BUFH 不具备对时钟进行分频的能力

使用BUFH的情况:

  • BUFH 仅在跨越两个水平区域的区域基础上类似于全局时钟资源
  • BUFH 能够作为对 MMCM/PLL 的反馈,并且可以补偿时钟插入延迟
  • 当接口或逻辑云可以定位到一个时钟区域或两个水平相邻的时钟区域时,BUFH 是首选时钟资源
  • BUFH 还具有时钟使能引脚 (BUFHCE),当逻辑或接口及其相关逻辑未激活时,可用于降低动态功耗
  • 时钟使能功能可以在时钟周期到周期的基础上提供门控时钟
  • 与全局时钟树类似,BUFH 也可以连接到 CLB(启用/复位)中的非时钟资源,但具有更好的偏斜特性
  • BUFH 还可用于时钟区域中时钟元件的同步启动

文章参考

[1]Xilinx.com, 2021. [Online]. Available: https://www.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf. [Accessed: 24- Jun- 2021].

Posted in FPGA, FPGA, FPGA硬件资源, 开发板, 文章

发表评论

相关链接