【Xilinx FPGA】7 Series Clocking 设计

FPGA 的高性能时钟设计面临多重挑战:需为高速 I/O 及存储接口提供纯净的时钟信号,支持宽频率范围内的多时钟域,并在实现高性能的同时保持低功耗。Xilinx 7 系列 FPGA 基于 Virtex-6 的时钟架构,采用全系列统一的时钟系统,为开发人员提供了一套高效、可靠的时钟解决方案。本文主要介绍 Xilinx 7 Series 器件时钟设计所需要了解的知识,包括时钟布局、时钟分配与时钟生成。

目录

[1 Clock Region 时钟布局](#1 Clock Region 时钟布局)

[2 Clock Distribution 时钟分配](#2 Clock Distribution 时钟分配)

[3 Clock Generation 时钟生成](#3 Clock Generation 时钟生成)

[3.1 Clock Management Tile 时钟管理单元](#3.1 Clock Management Tile 时钟管理单元)

[3.2 MMCM 混合模式时钟管理器](#3.2 MMCM 混合模式时钟管理器)

[3.3 PLL 锁相环](#3.3 PLL 锁相环)


(图片由 Nano Banano Pro 生成)

在 FPGA 开发过程中,高性能时钟设计面临多重挑战:

1)需为高速 I/O 及存储接口提供高性能、纯净的时钟信号;

2)在宽频率范围内,支持多个时钟域;

3)实现高性能的同时保持低功耗。

1 Clock Region 时钟布局

Xilinx 7 系列 FPGA 基于 Virtex-6 的时钟架构,采用全系列统一的时钟系统,CMT 列与 I/O 列相邻,以支持高性能接口;每个时钟区域高度统一,包含 50 行 CLB;并且全局时钟资源优化,降低功耗。

All 7 series FPGAs split into uniform height clock regions. Each region has its own resources. All regions can share the available global resources.

Every clock region is 50 rows of CLBs tall. 25 rows above and 25 rows below the central horizontal clocking row (HROW).

All clock regions span from global vertical clock column to the left or right edge of the device.

  • 所有 7 系列 FPGA 均被划分为等高的时钟区域。每个区域拥有专属资源,且所有区域均可共享可用的全局资源。
  • 每个时钟区域的高度为 50 行 CLB,其中 25 行位于中央水平时钟行(HROW)之上,25 行位于其下。
  • 所有时钟区域均从全局垂直时钟列延伸至器件的左边缘或右边缘。

2 Clock Distribution 时钟分配

Xilinx 7 Series 器件提供了全局时钟缓冲器 BUFG,用于驱动全局时钟主干网络。BUFG 在整个器件的高度范围内分配时钟信号,每个器件设有 32 个 BUFG,位于垂直时钟 Spine 的中心位置。

  • BUFG:全局时钟缓冲,用于驱动全局时钟
  • BUFH:水平时钟缓冲,用于驱动水平时钟
  • BUFR:区域时钟缓冲,支持分频功能
  • BUFIO:I/O时钟缓冲,专用于驱动I/O逻辑
  • BUFMR:多区域时钟缓冲,可驱动相邻区域

3 Clock Generation 时钟生成

3.1 Clock Management Tile 时钟管理单元

在 Xilinx 7 系列 FPGA 的时钟管理模块(CMT)中,同时包含一个功能完整的 MMCM 和一个相对简洁的 PLL。

此设计允许用户根据需求灵活选择:若无需 MMCM 提供的全部高级功能(如动态相位调整、分数分频等),则可使用面积更小的 PLL,从而释放出芯片空间。

3.2 MMCM 混合模式时钟管理器

MMCM 功能与 Virtex-6 MMCM 类似:

  • 具备七路时钟输出及 Feedback 路径
  • 支持输入时钟切换
  • 可在 OUT0 和 FBOUT 上进行分数分频
  • 支持动态相移
  • 支持扩频时钟生成

3.3 PLL 锁相环

PLL 延续 Spartan-6 PLL / Virtex-6 MMCM 的特性:

  • 具备六路时钟输出及 Feedback 路径
  • 支持输入时钟切换
相关推荐
仲南音17 小时前
Xilinx FPGA——时钟IP核MMCM、PLL
fpga开发
I'm a winner1 天前
基于Xilinx FPGA的LVDS高速串行通信系统(三)--数据训练及握手机制【文末源码】
fpga开发
upper20201 天前
coremark移植坑之-nostartfiles -nostdlib参数
学习·fpga开发·coremark移植·riscv设计
Eloudy2 天前
Vivado 纯命令行构建 FPGA 项目教程
fpga开发
Rambo.xia2 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
upper20202 天前
FPGA部署卷积神经网络识别MINST图片
fpga开发·卷积神经网络·minst·minst识别·部署神经网络·神经网络识别图片
你是我的解忧王子2 天前
嵌入式 ADC采样 原始数据分析上层(平均值 波动率 正态分布 线性补偿 系统误差)
fpga开发·数据挖掘·数据分析
9527华安3 天前
FPGA纯verilog代码ISP图像处理培训教程,基于IMX214,提供工程源码+视频教程+FPGA开发板
图像处理·fpga开发·isp·imx214·mipi
千寻xun3 天前
二、实战篇-NVME SSD控制之ZYNQ实现(六)-读写NVME SSD硬盘数据
fpga开发·nvme·nvme ssd
千寻xun3 天前
二、实战篇-NVME SSD控制之ZYNQ实现(三)
fpga开发·nvme ssd·nvme协议