当前位置: 首页 > news >正文

FPGA之时钟规划图解

目录

一、前言

二、时钟规划概念

三、时钟规划的模块

四、时钟规划之时钟单元布局          

4.1 BUFG

4.2 BUFH

4.3 BUFR 

4.4 BUFIO

五、时钟规划之时钟单元走线

5.1 BUFG->BUFH

5.2 BUFR->FF

5.3 BUFIO->FF

一、前言

        对于vivado这类使用verilog语言的进行工程设计的工具,软件的时钟规划设计是至关重要的一个环节,下面将针对软件时钟规划的设计原理进行一些基础的说明,了解这个也能提高自己程序设计的可靠性,以及问题定位,本文以xilinx的xc7z100ffg900-2器件为例。

二、时钟规划概念


        广泛的来说,时钟规划包含了布局,布线流程,布局是将时钟单元在满足设计的要求下放置于可放置的位置,布线是在布局的基础下进行时钟模块间的线路连接。

三、时钟规划的模块


         常见的时钟单元有全局时钟缓冲器BUFG、水平时钟缓冲器BUFH、区域时钟缓冲器BUFR、IO时钟缓冲BUFIO、跨区域时钟缓冲器BUFMR

BUFG:驱动的时钟范围为整个芯片,通常位于芯片的中央位置;

BUFH:驱动的范围为同水平方向相邻的两个时钟区域,通常位于芯片中央的垂直方向上按区域分布;

BUFR:驱动单个时钟区域的时钟,通常在每个时钟区域内部都有;

BUFMR:驱动垂直方向上相邻的两个时钟区域,通常位于左右两侧区域分界的位置;

IO:只能用于驱动和IO相关的时钟;

四、时钟规划之时钟单元布局


    根据芯片不同时钟缓冲器的驱动范围不同,划分为不同的时钟区域,进入“window->Device”,查看时钟区域划分,如下图,图中共有14个时钟区域,每个区域的范围为对应方框的范围,每个时钟区域的边界用不同颜色的线条来进行区分,每个方框内如X0Y6为时钟区域的坐标。

          

                                                                  时钟区域划分图

4.1 BUFG

        在device的中间位置,可以看到bufg是垂直分布的,每个红色小方格为一个bufg,共32个,并且BUFG不属于任何一个时钟区域。

BUFG分布图

4.2 BUFH

        在芯片中间垂直方向,BUFH分为左右两列,每列各12个,每列的驱动范围为邻近的时钟区域。

                                                                  BUFH分布图
        下图为上图针对BUFH位置放大图,可看出左右两个时钟区域的分界线是将左右两列的BUFH包含进去了。

BUFH归属区域


4.3 BUFR 

        图中选定的四个白色小方块位置即为BUFR的位置,左侧的AD28/AE28是IO 的位置,每个时钟区域都有4个BUFR

                                                                  BUFR分布图

4.4 BUFIO

      下图四个白色方框的位置即为BUFIO,在其右侧的红色小方框为BUFR

                                                                  BUFIO分布图
         在整个芯片范围内,如下图用粉红色菱形标注的为BUFIO的分布位置,每个区域4个BUFIO,7个区域共28个BUFIO

                                                                BUFIO全局分布图


五、时钟规划之时钟单元走线

5.1 BUFG->BUFH

        大体的时钟驱动方向为BUFG->BUFH->SWITHBOX->时钟端口,Switchbox是芯片上的布线资源,下图即为BUFG通过BUFH驱动FF的图

                                                                    BUFG驱动FF


5.2 BUFR->FF

                                                                        BUFR驱动FF

5.3 BUFIO->FF

        BUFIO可直接通过时钟路径驱动FF的clk端口

                                                                 BUFIO驱动FF 

相关文章:

  • python 绘图时出现报错:A colormap named “BlueWhiteOrangeRed“ is already registered.
  • 安卓手机也可以使用新必应NewBing
  • C++并发编程之三 并发操作的同步
  • 不好!有敌情,遭到XSS攻击【网络安全篇】
  • yolov5 剪枝、蒸馏、压缩、量化
  • 断崖式难度的春招,可以get这些点
  • MySQL数据库的基础语法总结(1)
  • leetcode 15. 三数之和
  • SSL、TLS应用笔记
  • 学生信息表
  • 三天吃透计算机网络面试八股文
  • 【事务与锁】当Transactional遇上synchronized
  • 为什么 Python 没有 main 函数?
  • IP协议+以太网协议
  • C#基础之面向对象编程(二)
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 08.Android之View事件问题
  • Angular2开发踩坑系列-生产环境编译
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • cookie和session
  • HTTP--网络协议分层,http历史(二)
  • java取消线程实例
  • js中forEach回调同异步问题
  • js作用域和this的理解
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • orm2 中文文档 3.1 模型属性
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • V4L2视频输入框架概述
  • 解析 Webpack中import、require、按需加载的执行过程
  • 三分钟教你同步 Visual Studio Code 设置
  • 为什么要用IPython/Jupyter?
  • 学习笔记:对象,原型和继承(1)
  • 原生 js 实现移动端 Touch 滑动反弹
  • 正则学习笔记
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • $(selector).each()和$.each()的区别
  • %check_box% in rails :coditions={:has_many , :through}
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (论文阅读30/100)Convolutional Pose Machines
  • (转)http协议
  • (转)编辑寄语:因为爱心,所以美丽
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .net生成的类,跨工程调用显示注释
  • ?
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • [ 蓝桥杯Web真题 ]-布局切换
  • [.net] 如何在mail的加入正文显示图片
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [Android View] 可绘制形状 (Shape Xml)
  • [APIO2012] 派遣 dispatching
  • [ARC066F]Contest with Drinks Hard