Vivado device窗口之时钟site浅析
创始人
2025-05-30 23:24:05

目录

一、前言

二、时钟site介绍

三、时钟site分布

四、时钟site驱动逻辑


一、前言

    ​   使用vivado设计工程时,查看device结果时,时钟相关的site和连接是重要的一环,理解其功能有利于保证设计符合预期。

二、时钟site介绍

    ​    ​在之前的文章“FPGA之时钟规划浅析”中介绍了常用的时钟单元,本文将全面介绍时钟单元在时钟site,此处可以更加详细了解相互之间的连接,以及驱动关系,依旧以器件xc7z100ffg900-2为例,其他器件类似。

    ​    ​时钟site主要包括BUFGCTRL,BUFHCE,BUFR,BUFMRCE,BUFIO,PLLE2_ADV,

三、时钟site分布

    ​    ​首先理解一个IO bank的概念,即存在IO口的位置,同一个IO bank内的IO电气特性,如电压和IO标准等。外部芯片和FPGA通过IO进行信号的交互,一个region至多有一个IO bank部分region不存在IO bank。如下图左右两侧红色区域即为IO bank的区域,共有8个IO bank

 

    ​    ​BUFGCTRL位置如下图红色标记、位于芯片正中心位置

 

BUFHCE位置如下图红色标记,在水平方向的两个region的中间位置

 

BUFR位置如下所示,位置region的左右两侧,每个存在IO Bank的region都有BUFR

 

BUFMRCE位置如下图所示,因为BUFMRCE是驱动BUFR的,因此位置距离较近

 

BUFIO的位置如下图所示,和BUFR位置相近,每个存在IO Bank的region都有BUFIO

 

PLLE2_ADV的位置如下图所示,位于region的边界靠上角位置,每个存在IO Bank的region都有PLLE2_ADV

 

将一个区域内的时钟site放大如下图,一个region内4个BUFIO,4个BUFR,2个BUFMRCE

 

四、时钟site驱动逻辑

1、整个芯片分为上下半区,下图中粉红色范围内的为上半区,其余region属于下半区

 

1、IO clk为时钟输入端口,每个IO BANK内有8个IO clk

驱动关系:IO clk->BUFGCTRL/BUFH/BUFIO/BUFMRCE/PLLE2_ADV,

对于IO clk->BUFGCTRL,位于上半区IO clk只能驱动到上半区的BUFGCTRL(上方的16个BUFGCTRL),下半区的IO clk只能驱动到下半区的BUFGCTRL(下方的16个BUFGCTRL)。

对于IO clk->BUFH,IO clk可驱动同水平方向上两个region内的BUFH,不能驱动上下相邻方向内的BUFH以及跨半区region内的BUFH

2、PLLE2_ADV通常是起到分频,倍频的作用,产生更多内部需要的时钟信号,因此可到达以下时钟site

驱动关系:PLLE2_ADV->BUFGCTRL/BUFH/BUFR/BUFIO/BUFMRCE

同时,PLLE2_ADV支持相互间的并联或串联驱动,通过一些布线的资源来实现,如Pllroute

3、BUFGCTRL,BUFH,BUFR,BUFIO上的连线路径可理解为现实中的高速公路,省道,乡道,BUFGCTRL上信号传输最快,到达各处的时延最小,但因成本较高,资源有限。BUFH省道传输速度次之,但涉及范围更广;BUFR类似乡道,乡道速度最慢,但可以进村;BUFIO是家门口的泥巴小路,可到家门口。

驱动关系:

3.1 BUFGCTRL->BUFH->PLLE2_ADV

3.2 BUFH->BUFGCTRL(不建议如此使用)

3.3 BUFR/BUFH->BUFGCTRL

3.4 BUFR->PLLE2_ADV/BUFIO

3.5 BUFIO->ILOGIC

4、BUFMR主要是用于驱动本区域以及上下相邻两个区域的BUFR/BUFIO

驱动关系:BUFMR->BUFR/BUFIO/PLLE2_ADV

MUFMR的驱动源只有IO clk以及布线资源switchbox

相关内容

热门资讯

刷题之-剑指 Offer II... 最近很久没刷题了,面试官给了这么一道题,只给10分钟时间,...
Nginx代理后获取客户端真实... 1、场景 在项目实际应用中,我们可能会需要获取到用户也就是客户端的真实IP地址...
第十三届蓝桥杯省赛 pytho... 文章目录前言主要内容🦞试题 A:排列字母思路代码🦞试题...
阿里春招-2023.3.15-... 极差三元组计数 Problem Description 给定一个数组,请你计算有多少个...
电压放大器在钢筋剥离损伤识别试...   实验名称:钢筋剥离损伤识别试验  研究方向:无损检测  测试目的&#...
MOCO论文前几段精读 MoCo MoCo是CVPR 2020的最佳论文提名,算是视觉领域里,使...
【lua初级篇】基础知识和开发... 文章介绍 文章介绍 简述 工具安装配置和下载 快速看基础知识 一些常用的关键字一览 数据类型 tab...
Yuv422、Nv12转C#B... 1.1、Nv12转Bitmapint w = 1920;int h = 1080;i...
Linux互斥量和信号量的区别... 互斥量和信号量的区别 1.互斥量用于线程的互斥: 互斥:加锁解锁,是指某...
Git 和 GitHub 超入... 1.解决行结束符问题 需要在你的仓库中添加一个.gitattributes文件,标记正...
基于C++的AI五子棋游戏项目... 项目资源下载 基于C++的AI五子棋游戏项目源码压缩包下载地址基于C+...
#浅聊 webSocket (... 如果可以实现记得点赞分享,谢谢老铁~ 一,什么是webso...
Java SE API kno... Java SE API know how 字符串 紧凑字符串 java8 无论字符串的编码ÿ...
常用的VB函数 数学函数函数说明示例Sin(N)返回自变量N的正弦值Sin(0)=0 N为弧度Cos(N)返...
C++ 机房预约系统(五):管... 7.3 显示功能 功能描述: 显示学生信息或教师信息 功能实现: voi...
PIC单片机的一些问题 error 1347 can't find 0x16 words (0x16 withtotal) ...
完美日记母公司再度携手中国妇基... 撰稿 | 多客 来源 | 贝多财经 当春时节,梦想花开。和煦的三月暖阳,...
GDPU C语言 天码行空3 1. 分段函数 #includeint main(){double x,y;scanf("%lf",...
【瑞萨 MCU】开发环境搭建之... e2 studio e2 studio(简称为 e2 或 e2s)是瑞萨...
C语言内联汇编 之前我们介绍了一种C语言与汇编代码混合编程方式,就是两个文件分开编写,分...
Linux 网络编程学习笔记—... 一、TCP 服务的特点 传输层协议主要有 TCP 协议和 UDP 协议,前者相对于后者...
KubeSphere All ... KubeSphere All in one安装配置手册 1. 初始化 1.1 配置apt源 # vi...
学习软件测试怎么能缺少练手的软... 你好,我是凡哥。 最近收到许多自学自动化测试的小伙伴私信,学习了理论知识...
【面试题】浅谈css加载是否会... 大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:...
直播带货系统开发的关键点、代码... 时下,直播的热度依然不减,而它的产物之一:直播带货系统&#...
一文读懂强化学习! 一.了解强化学习1.1基本概念强化学习是考虑智能体(Agent)与环境&...
Spring Cloud之一:... 目录 环境 Eureka工程的创建步骤 系列目录(持续更新。。。) S...
golang实现守护进程(2) 前言golang实现守护进程,包含功能:1. 守护进程只创建一次2. 平...
url 格式详解 统一资源定位系统(uniform resource locator; url ...
elasticsearch7.... elasticsearch版本:7.17.3 目标:实现对类型为text...