FPGA时钟资源详解(4)——区域时钟资源

 FPGA时钟系列文章总览:
FPGA原理与结构(14)——时钟资源icon-default.png?t=N7T8https://ztzhang.blog.csdn.net/article/details/132307564

目录

一、概述

二、Clock-Capable I/O

三、I/O 时钟缓冲器 —— BUFIO

3.1 I/O 时钟缓冲器

3.2 BUFIO原语

四、区域时钟缓冲器——BUFR 

4.1 区域时钟缓冲器

4.2 BUFR原语

五、区域时钟网

六、多区域时钟缓冲器——BUFMR/BUFMRCE

6.1 多区域时钟缓冲器

6.2 BUFMR/BUFMRCE原语

七、水平时钟缓冲器—— BUFH, BUFHCE

7.1 水平时钟缓冲器

7.2 BUFH, BUFHCE原语


一、概述

        区域时钟网络(Regional Clock Networks)在 Xilinx 7系列 FPGA 设计中提供了与全局时钟网络(Global Clock Network)相独立的时钟分配机制。这种区域性的时钟网络通过 BUFR(区域时钟缓冲器)实现,与全局时钟缓冲器(如 BUFG)相比,BUFR 提供的时钟信号范围限定在单个时钟区域内,且一个I/O时钟信号仅驱动单个bank。这种设计使得区域时钟网络特别适用于源同步接口设计。

二、Clock-Capable I/O

        在FPGA设计中的每个时钟区域,每个 I/O 组在每个 I/O 列中都有四对具备时钟能力(Clock-Capable)的 I/O 引脚对。这些具备时钟能力的 I/O 引脚对是位于特定位置的专用 I/O 对,它们与附近的区域时钟资源和其他时钟资源有特殊的硬件连接。此外,这些具备时钟能力的 I/O 对还可以作为常规的 I/O 对使用。每个bank都有四个专用的具备时钟能力的 I/O site。当作为时钟输入使用时,具备时钟能力的引脚可以驱动 BUFIO、BUFMR 和 BUFR。每个 I/O 列支持区域时钟缓冲器(BUFR)。每个设备有两个 I/O 列。

        一个 CCIO(Clock-Capable I/O)可以驱动同一区域内的任何 BUFR,但只有专用的 CC(具备时钟能力的引脚)可以以 1:1 的关系驱动特定的 BUFIO,而 MRCC(多区域时钟控制器)可以驱动 BUFMR。这意味着 CCIO 到特定 BUFIO 或 BUFMR 的连接只有一个。这些连接和资源分配机制为 FPGA 设计提供了高度的灵活性和精确的时钟管理能力,有助于实现高效和稳定的系统设计。

三、I/O 时钟缓冲器 —— BUFIO

3.1 I/O 时钟缓冲器

        I/O 时钟缓冲器(BUFIO)是 7 系列设备中提供的一种时钟缓冲器。BUFIO 在 I/O 组内驱动一个专用的时钟网络,这个网络独立于全局时钟资源。因此,BUFIO 特别适合于源同步数据捕获(前向/接收器时钟分配)。BUFIO 由位于同一bank的具备时钟能力的 I/O、来自 MMCM 的高性能时钟(HPC),或者位于同一及相邻区域的 BUFMR 驱动。在一个时钟区域内,每个bank有四个 BUFIO。每个 BUFIO 可以在同一区域/bank内驱动单个 I/O 时钟网络。BUFIO 不能驱动逻辑资源(如 CLB、块 RAM、DSP 等),因为 I/O 时钟网络仅覆盖同一bank/时钟区域内的 I/O 列。

3.2 BUFIO原语

        BUFIO是一个时钟输入,时钟输出缓冲区。在输入和输出之间存在一个相位延迟。

四、区域时钟缓冲器——BUFR 

4.1 区域时钟缓冲器

        区域时钟缓冲器(BUFR)是 7 系列设备中提供的另一种时钟缓冲器,它能够独立于全局时钟树,将时钟信号驱动到位于同一时钟区域内的专用时钟网络。每个 BUFR 能够驱动它所在区域内的4个区域时钟网络。与 BUFIOs 不同,BUFRs 既可以驱动 I/O 逻辑,也可以驱动逻辑资源(如 CLB、块 RAM 等)。BUFRs 可以由具备时钟能力的引脚、局部互连、MMCMs 的高性能时钟输出(CLKOUT0 至 CLKOUT3)或同一及相邻区域内的 BUFMRs 驱动。此外,BUFRs 还能够生成相对于时钟输入的分频时钟输出,分频值是一个介于 1 到 8 的整数。对于需要时钟域交叉或串转并转换的源同步应用而言,BUFRs 是理想的选择。

        每个 I/O 列都支持区域时钟缓冲器。每个设备有两个 I/O 列。BUFRs 也可以直接驱动 MMCM 的时钟输入和 BUFGs。

4.2 BUFR原语

        BUFR是一个时钟输入/时钟输出缓冲器,能够划分输入时钟频率。7系列FPGAs缓冲器也可以直接驱动MMCM时钟输入和缓冲器。

五、区域时钟网

        7系列 FPGA 设备除了包含全局时钟树和网络外,还包含区域时钟树和网络。区域时钟树同样设计用于低偏斜和低功耗运作,未使用的分支会被断开。区域时钟树还负责管理负载/扇出,尤其是当所有逻辑资源被使用时。

        区域时钟网络不会贯穿整个 7 系列设备,而是仅限于单个时钟区域。一个时钟区域包含四个独立的区域时钟网络。要访问区域时钟网络,必须实例化 BUFRs。

        为了利用区域时钟网络的优势,设计师需要在设计中实例化 BUFR。通过 BUFR,可以将时钟信号精确地分配给同一时钟区域内的逻辑资源,支持复杂时钟管理需求。实例化 BUFR 时,设计师可以根据具体的设计需求选择合适的分频比例,以及决定是否启用其他高级功能,如时钟门控。

六、多区域时钟缓冲器——BUFMR/BUFMRCE

6.1 多区域时钟缓冲器

        BUFMR 是一种在 7 系列 FPGA 设备中用于支持跨多个区域/bank的时钟缓冲器,它取代了在先前 Virtex 架构中可用的 BUFR 和 BUFIO 的多区域/bank支持功能。每个bank内设有两个 BUFMR,每个缓冲器可以由同一bank内的一个特定的多区域时钟控制器(MRCC)驱动。MRCC 引脚在引脚名中标有 MRCC(例如:IO_L12P_T1_MRCC_12 或 IO_L12N_T1_MRCC_12),表示这些引脚为多区域时钟控制器引脚,包括 P 引脚和 N 引脚。BUFMR 可以驱动同一区域/bank内的 BUFIO 和/或 BUFR,以及上方和下方区域/bank内的 BUFIO 和 BUFR。

6.2 BUFMR/BUFMRCE原语

        BUFMR(多区域时钟缓冲器)是一种具有时钟使能(CE)功能的时钟输入/输出缓冲器。取消使能 CE 会停止输出时钟。BUFMR 被设计用来驱动 BUFR(区域时钟缓冲器)和 BUFIO(I/O时钟缓冲器),以便将时钟信号路由到同一区域/银行及相邻的区域/bank。BUFMR 可以由同一区域内的多区域时钟控制器(MRCC)或是 GT(吉比特收发器)时钟驱动。

        要将 BUFMR 或 BUFMRCE 与 BUFIOs 结合使用,接口引脚必须位于三个bank之内。同样地,如果要与 BUFRs 结合使用,逻辑必须位于最多三个区域(region)内(如果使用了三个 BUFRs)。如果在与 BUFRs/BUFIOs 所在的同一bank或区域中放置了存储器接口,那么从 BUFMR 到该bank或区域中的 BUFHs/BUFIOs 的连通性可能会受到限制。

        BUFMRCE 的拓扑结构显示了如何将 BUFMRCE 与相邻的 BUFIOs 或 BUFRs 连接,以及它们如何分布在 FPGA 设计中。BUFMRCE 提供了一种高效的方式来管理跨多个bank或区域的时钟信号,但它的使用需要仔细考虑银行或区域内的资源分配和布局,以确保时钟信号的有效传输和最小化布局限制。

七、水平时钟缓冲器—— BUFH, BUFHCE

7.1 水平时钟缓冲器

        水平时钟缓冲器(BUFH)在单个区域内驱动一个水平的全局时钟树主干。每个区域有 12 个 BUFH 可供使用。每个 BUFH 都有一个时钟使能引脚(CE),允许动态地关闭时钟。BUFH 可以由以下来源驱动:

  • 同一区域内的 MMCM/PLL 输出
  • BUFG 输出
  • 同一或水平相邻时钟区域的 GT 输出时钟
  • 局部互连
  • 来自同一水平相邻区域/银行的左侧或右侧 I/O 银行的具备时钟能力的输入

        BUFH 提供了一种有效的方式来扩展时钟信号的覆盖范围,尤其适合于需要在 FPGA 设计的特定区域内分配时钟信号的情况。通过使用 BUFH,设计师可以实现对时钟信号的精确控制,包括根据需要动态启用或禁用时钟,从而优化系统性能和功耗。

7.2 BUFH, BUFHCE原语

        要使用 BUFH,逻辑必须适应水平相邻的两个区域(左和右)。时钟使能引脚可以完全关闭时钟,从而实现潜在的功耗节省。与 BUFG 驱动两个相邻区域相比,BUFH 的功耗和抖动更低。

        这表明 BUFH 特别适用于需要跨越水平相邻区域分配时钟信号的设计,同时对功耗和时钟信号质量有较高要求的场景。利用 BUFH 的时钟使能功能,设计师可以根据系统的实际需求动态管理时钟信号,不仅优化了系统的性能,还有效降低了功耗。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

High 级别反射型 XSS 攻击演示(附链接)

环境准备 如何搭建 DVWA 靶场保姆级教程(附链接)https://eclecticism.blog.csdn.net/article/details/135834194?spm1001.2014.3001.5502 测试 打开靶场找到该漏洞页面 先右键检查输入框属性 还是和之前一样的,所以直接输入 HTML 标签提交…

Vue 发送Ajax请求多种方式

1. 发送ajax请求的方式 方案一:jq 的ajax(在 vue 中不推荐同时使用)方案二:js 原始官方 fetch方法方案三:axios 第三方 2. 方案一 后端视图函数 from rest_framework.viewsets import ViewSet from rest_framework…

云数据库认识

云数据库概述 说明云数据库厂商概述Amazon 云数据库产品Google 的云数据库产品Microsoft 的云数据库产品 云数据库系统架构UMP 系统概述UMP 系统架构MnesiaRabbitMQZooKeeperLVSController 服务器Proxy 服务器Agent 服务器日志分析服务器 UMP 系统功能容灾 读写分离分库分表资源…

刚删除的文件怎么找回?刚删除的文件重新找回方法

电脑是我们办公、生活和娱乐必不可缺少的设备,里面存储着我们很多重要的文件。但是,有时候我们不小心误删了文件,或者是不小心删除了一些重要的数据等,要怎么进行恢复呢?今天,小编就专门给大家讲下刚删除的文件重新找回方法。 方法一: 文件不小心删除了,请立即停止对硬…

JavaParser 手动安装和配置

目录 前言 一、安装 Maven 工具 1.1 Maven 软件的下载 1.2 Maven 软件的安装 1.3 Maven 环境变量配置 1.4 通过命令检查 Maven 版本 二、配置 Maven 仓库 2.1 修改仓库目录 2.2 添加国内镜像 三、从 Github 下载 JavaParser 3.1 下载并解压 JavaParser 3.2 从路径打…

蓝桥杯单片机快速开发笔记——利用定时器计数器设置定时器

一、基本原理 参考本栏http://t.csdnimg.cn/iPHN0 二、具体步骤 三、主要事项 如果使用中断功能记得打开总中断EA 四、示例代码 void Timer0_Isr(void) interrupt 1 { }void Timer0_Init(void) //10毫秒12.000MHz {AUXR & 0x7F; //定时器时钟12T模式TMOD & 0xF0;…

python网络爬虫实战教学——requests的使用(2)

文章目录 专栏导读1、POST请求2、响应3、Cookie设置 专栏导读 ✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》,本专栏针对大学生、初级数据分析工程…

Typecho 博客文章评论添加显示 UserAgent(UA)的功能

本篇文章实现了为 Typecho 博客文章评论添加显示 UserAgent(UA)的功能本功能可替代 UserAgent 插件,更美观、简洁且好看 效果显示 大概就是这样了,实际效果请看我的评论! 目前可以识别的操作系统以及浏览器 食用方…

Qt教程 — 3.5 深入了解Qt 控件:Display Widgets部件(1)

目录 1 Display Widgets简介 2 如何使用Display Widgets部件 2.1 QLabel组件-显示图像或文本 2.2 QCalendarWidget组件-日历简单的使用 2.3 QLCDNumber组件-控件作时钟的显示 2.4 QProgressBar组件-模拟手机电池充电 2.5 QFrame组件-绘制水平/垂直线 Display Widgets将分…

【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)

快乐的流畅:个人主页 个人专栏:《C语言》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、红黑树的概念二、红黑树的模拟实现2.1 结点2.2 成员变量2.3 插入情况一:uncle在左&#xff…

【Python】Scrapy整合FastAPI实现爬虫API 附大量示例

文章目录 前言1. 网页分析入门1.1 基本原理1.2 Scrapy 原理 2. 创建项目2.1 创建Scrapy项目2.2.1 创建Scrapy项目2.2.2 创建Spider2.2.3 执行Demo 2.2 引入FastAPI 2. 获取Cookie3. 数据建模3.1 Scrapy 数据建模3.2 SQLAlchemy 创建实体类 3. 分析网页3.1 xpath 分析3.2 css 分…

Kotlin协程CoroutineScope命名空间CoroutineName,Kotlin

Kotlin协程CoroutineScope命名空间CoroutineName&#xff0c;Kotlin import kotlinx.coroutines.*fun main(args: Array<String>) {val myName CoroutineName("fly")runBlocking {CoroutineScope(Dispatchers.IO).launch {repeat(3) {val name coroutineCont…

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇 好几年前&#xff0c;应朋友之邀&#xff0c;为其工厂的厨余垃圾处理设备研发一套用于对现场的生产及维护进行远程查看、管理和质量监控的厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件系统。 因为…

9.串口通信

串口基本认识 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方 式的扩展接口。串行接口&#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简 单&#x…

搭建 canal 监控mysql数据到RabbitMQ

项目需求&#xff1a; 使用canal监控mysql某个库某个表&#xff0c;或者多个库&#xff0c;多个表---- update/inster/create 操作&#xff0c; 系统版本mysql版本java版本canal版本rabbitMQ版本Rocky 9.2MySQL 8.0.26openjdk 11.0.221.1.6rabbitmq-server 3.12.4 mysql 配置…

淘宝扭蛋机小程序开发:开启线上扭蛋新体验

随着科技的飞速发展和移动互联网的普及&#xff0c;线上娱乐方式也变得越来越多样化。为了满足广大用户对于新鲜、有趣的娱乐体验的需求&#xff0c;我们决定开发一款淘宝扭蛋机小程序&#xff0c;为用户带来全新的线上扭蛋乐趣。 淘宝扭蛋机小程序将结合淘宝平台的优势资源&a…

flask_restful渲染模版

渲染模版就是在 Flask_RESTful 的类视图中要返回 html 片段代码&#xff0c;或 者是整个html 文件代码。 如何需要浏览器渲染模板内容应该使用 api.representation 这个装饰器来定 义一个函数&#xff0c; 在这个函数中&#xff0c;应该对 html 代码进行一个封装&#xff…

基于nginx 动态 URL反向代理的实现

背景&#xff1a; 我们在项目中在这样一个场景&#xff0c;用户需要使用固定的软件资源&#xff0c;这些资源是以服务器或者以容器形式存在的。 资源以webAPI方式在内网向外提供接口&#xff0c;资源分类多种类型&#xff0c;每种类型的资源程序和Wapi参数都一样。这些资源部属…

学习SpringBoot笔记--知识点(1)

目录 SpringBoot介绍 创建一个最基础的springbooot项目 使用Spring Initializr创建springboot项目 Spring Boot 自动配置机制 SpringBoot常用注解 1.组件注册 2.条件注解 3.属性绑定 SpringBoot自动配置流程​编辑 学习SpringBoot的方法 ​编辑 SpringBoot日志配置…