FPGA的时钟资源

这篇具有很好参考价值的文章主要介绍了FPGA的时钟资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

简介

Clock Region详解

MRCC和SRCC的区别

 BUFGs

时钟资源总结


简介

7系列FPGA的时钟结构图:

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
Clock Region:时钟区域,下图中有6个时钟区域,用不同的颜色加以区分出来

Clock Backbone:从名字也能看出来,这个一个纵向贯穿整个FPGA的时钟资源,把FPGA的clock region分成了两个部分,所有的全局时钟都要从这经过。可以看到BUFG都在Clock Backbone上。Clocking Center就是Backbone中间的分割线。

Horizontal Center:水平分割线,将FPGA的BUFG分割成上下相等的两部分,像下图中,上下各有16个BUFG。需要注意的是,BUFG不属于任何的clock region,并且BUFG可以到底FPGA的任一个时钟角落。

HROW:Horizontal Clock Row, 将每一个clock region分成上下两部分,全局时钟进入每个clock region时,需要要经过HROW,有点类似于Clock Backbone在FPGA中的作用。

CMT Backbone:Clock Backbone是整个FPGA的Backbone,是很珍贵的资源,而如果是上下相邻的clock region,可以通过CMT Backbone互连。

CMT Column:每个Cloumn包含一个MMCM和一个PLL。

GT Column:高速收发器的column。

有同学可能有疑惑,为什么要分Clock Region,用一个Clock Region不是更简单么?

答:为了适用更多的时钟,假如没有Clock Region,那就全部是Global Clock,如果有16个时钟网络,那最多就支持16个时钟。而分成了Clock Region后,如果该区域的时钟资源恰好可以布局到对应的region,则只使用该region的时钟网络资源。也就是说,如果有16个时钟网络资源,那么极限情况下,两个region就可以使用32个时钟。

Clock Region详解

7系列FPGA的Clock Region的结构图:

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
首先我们来明确几个Buffer的含义(我们后面会有一篇文章专门来讲这几个buffer)

BUFG:Global Clock Buffer

BUFH:Horizontal Clock Buffer,可驱动左右相邻的两个Region

BUFR:Regional Clock Buffer,从名字就可以看出来,只能驱动当前Region

BUFIO:I/O Buffer,位于IO BANK中,只能用于驱动IO

BUFMR:Multi-Clock Region Buffer,它可以驱动本BANK和上下相邻BANK的BUFIO和BUFR,起到了扩展连接的作用

CC:Clock Capable

下图是Clock Region更详细的内部结构图:

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
可以看到:

每个IO BANK的4个cc管脚可以驱动CMT中的PLL/MMCM,也可以驱动BUFH;

HROW中有12个routing track,BUFG和BUFH共享12个track;

GT Quad有10个专门的track用于驱动CMT和Clock Backbone中的BUFFER;

BUFR有4个track驱动逻辑资源、CMT和BUFG;

CMT在一定条件下可以通过CMT Backbone驱动上下相邻的CMT;

一个Region中的时钟资源可以驱动本Region或者水平临近Region的时钟BUFFER;

CMT、CC管脚和GT时钟可以通过BUFH来驱动左右相邻Region

下图是BUFR/BUFMR/BUFIO的详细结构图:

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
可以看出:

         每个IO BANK都含有4个BUFIO和BUFR;

        Clock Buffer都可以被CC管脚或者MMCM来驱动;

        图中可以看到CC又分了MRCC和SRCC,从MMCM输出到BUFR和BUFIO之间有一条专门的高性能差分路径;并且,不是所有的7系列FPGA的时钟结构都像上面的图中所画,比如包含不同数量的GT可能会导致时钟结构位置不太一样,但这并不妨碍上面这些图对7系列FPGA时钟结构的说明。

MRCC和SRCC的区别

        只有7系列的FPGA中才有MRCC和SRCC的说法,到了UltraScale系列,都是叫GC。

根据前面的解释,MRCC就是Multi Region的CC,从该管脚输入的时钟可以access到不同的Clock Region,而SRCC就是Single Region的CC,从该管脚输入的时钟只能access当前Clock Region。

       所以有同学就会觉得,如果想使用全局时钟,就必须将时钟接到MRCC,而不能是SRCC。但这种理解是错误的,下面我们会详细解释。

手册中对MRCC驱动多个Clock Region的说明如下:

        MRCCs can access multiple clock regions and the global clock tree. MRCCs function the  same as SRCCs and can additionally drive multi-clock region buffers (BUFMR) to access  up to three clock region.

        MRCC通过BUFMR来access最多三个clock region,从下面的图也可以看出,已经用红色的线将MRCC的路径都标出来,可以看到,MRCC通过了BUFMR到达了CMT Backbone,然后就可以access其他的Clock Region了。

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
       从上面这个图可以看出,MRCC可以直接驱动BUFR和BUFIO,也可以先经过BUFMR后再驱动BUFIO和BUFR。

       SRCC的路径在下面的图中用红色的线标识出来,可看到,它的路径只在当前的Clock Region里面。

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
       An MRCC pin pair can drive a specific  BUFMR, which in turn can drive BUFIOs and BUFRs in the same and adjacent regions  facilitating multi-region/BANK interfaces. Similarly, a GT quad can also drive the BUFMRs

        下面这个表格解释的就更加清晰了,MRCC和SRCC都是由外部的时钟驱动,而且MRCC和SRCC的区别就在于MRCC可以驱动BUFMR,SRCC不行。其他基本都一样,它们都可以驱动四个BUFIO、四个BUFR、一个CMT、上下相邻的CMT、16个BUFG和BUFH。

fpga中的时钟资源,FPGA设计-基础篇,fpga开发
       其中有一点很关键,就是它们都可以驱动BUFG和BUFH,这就意味着,从MRCC和SRCC进来的时钟都可以access全局时钟树,也就都可以当做全局时钟。

Clock-capable inputs are organized as 2 MRCC and 2 SRCC pairs in each I/O BANK. SRCCs  access a single clock region and the global clock tree, as well as other CMTs above and  below in the same column. SRCCs can drive:

• Regional clocks lines (BUFR, BUFH, BUFIO) within the same clock region

• CMTs in the same clock region and adjacent clock regions.

• Global clocks lines (BUFG) in the same top/bottom half of the device.

         MRCCs can access multiple clock regions and the global clock tree. MRCCs function the same as SRCCs and can additionally drive multi-clock region buffers (BUFMR) to access up to three clock regions.

        所以,SRCC进来的时钟,虽然不能直接驱动其他Clock Region,但接到BUFG上之后,仍然可以通过BUFG来驱动其他的Clock Region。

MRCCs that are located in the same clock region and on the same left/right side of the device drive:

        同一个Clock Region里的MRCC可以驱动下面那些模块,那为什么区分the same left/right side呢?因为FPGA里面有个纵向的Clock Backbone,以这个为间隔分成了左右两部分,所有的全局时钟都在这个Clock Backbone里面。

这个表里面还提到一句:

MRCCs within the same half top/bottom drive:

 BUFGs

       这里为什么又要求是上下了呢?这个问题的答案还是在第一篇文章,FPGA里面有个Horizontal Center,将FPGA的BUFG分割成上下相等的两部分,上下各有16个BUFG。

时钟资源总结

        Virtex-5带GC的引脚为全局时钟,CC为局部时钟,Kinkex-7的全局时钟为MRCC,SRCC为局部时钟,并且MRCC和SRCC的区别是BUFIO部分,MRCC可以采样包括自己和相邻BANK在内的3个BANK的,SRCC用BUFIO的时候只能采样自己的BANK,但是这两个都可以接到BUFG来使用。文章来源地址https://www.toymoban.com/news/detail-849281.html

到了这里,关于FPGA的时钟资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA的时钟资源

    目录 简介 Clock Region详解 MRCC和SRCC的区别  BUFGs 时钟资源总结 7系列FPGA的时钟结构图: Clock Region:时钟区域,下图中有6个时钟区域,用不同的颜色加以区分出来 Clock Backbone:从名字也能看出来,这个一个纵向贯穿整个FPGA的时钟资源,把FPGA的clock region分成了两个部分,所有的

    2024年04月12日
    浏览(39)
  • FPGA原理与结构——时钟资源

    系列文章目录:FPGA原理与结构(0)——目录与传送门         时钟,即clock信号,是由晶体经过激发产生的振荡电路。模拟端通过各种技术(PLL,DPLL)产生规律、周期性变化的信号给数字端,数字端使用该信号的边沿进行过赋值(procedural assignment)操作。         7系

    2024年02月12日
    浏览(42)
  • Xilinx 7系列FPGA局部时钟资源

    局部时钟网络是玩去哪独立于全局时钟网络的。与全局时钟不同,局部时钟信号(BUFR)的覆盖范围仅限于一个时钟区域。一个I/O时钟信号驱动单个时钟区域。这些网络对于源同步接口设计特别有用。在7系列器件中,I/O bank与局部时钟域的大小相同。 在7系列器件中,局部时钟

    2024年04月29日
    浏览(58)
  • 几种FPGA时钟BUF资源的区别:

    目前,已知的FPGA内部的buf资源分为:          BUFG:直接把时钟信号路由到全局时钟树,可以全芯片使用,驱动能力强,但时钟质量略差,同时资源有限。(优先使用)          BUFH:把时钟信号路由到本时钟域和 左右 相邻两个时钟域,驱动能力仅次于BUFG,但时钟质

    2024年02月08日
    浏览(33)
  • xilinx 7系列FPGA时钟布线资源

    7系列FPGA拥有多种时钟路由资源,以支持各种时钟方案和需求,包括高扇出、短传播延迟以及极低的偏斜。为了最佳地利用时钟路由资源,需要了解如何将用户时钟从PCB传递到FPGA,确定哪种时钟路由资源最优,然后通过利用适当的I/O和时钟缓冲器来访问这些时钟路由资源。

    2024年04月22日
    浏览(63)
  • Xilinx FPGA器件中时钟资源的说明以及使用 --ibufg ibufgds

    xilinx 时钟资源分为两种:全局时钟和第二全局时钟。 一、全局时钟资源 Xilinx 全局时钟采用全铜工艺实现,并设计了专用时钟缓冲与驱动结构,可以到达芯片内部任何一个逻辑单元,包括CLB、I/O引脚、内嵌RAM、硬核乘法器等,而且时延和抖动都很小。对FPGA设计而言,全局时

    2023年04月09日
    浏览(46)
  • FPGA项目设计:数字时钟

    项目要求: 设计一个数字时钟,数码管前两位显示小时,数码管中间两位显示分钟,数码管后面两位显示秒。 项目设计: 系统框架图: 计数模块时序图: 代码实现: 计数模块: 数码管显示模块: 顶层文件:

    2024年02月14日
    浏览(47)
  • FPGA设计开发(基础课题):分频器设计

    一、设计目的 1、掌握分频器的设计原理; 2、用HDL语言设计分频器。 二、设计原理 分频器与计数器类似,也是要对时钟脉冲进行计数,但其输出的不是对时钟脉冲个数的计数值,而是其频率与时钟的频率成固定比例关系的脉冲信号。整数分频是所有分频器中最简单,最容易

    2024年02月13日
    浏览(54)
  • FPGA设计时序约束一、主时钟与生成时钟

    一、主时钟create_clock 1.1 定义 1.2 约束设置格式 1.3 Add this clock to the existing clock 1.4 示例 1.5 差分信号 二、生成时钟generate_clock 2.1 定义 2.2 格式 2.2.1 by clock frequency 2.2.2 by clock edges 2.2.3 示例 2.2.4 自动生成时钟 2.2.5 重命名生成时钟     主时钟是来自FPGA芯片外部的时钟,通过时

    2024年01月20日
    浏览(43)
  • FPGA设计开发(基础课题):七人表决器设计

    一、设计目的 1、熟悉MAX+PLUSⅡ、QUARTUSⅡ软件的使用; 2、熟悉EDA/SOPC、FPGA基本结构; 3、熟悉EDA开发的基本流程。 二、设计原理 所谓表决器就是对于一件事,由多个人投票,如果同意的票数过半,就认为此事可行;否则如果否决的票数过半,则认为此事不行。 七人表决器顾

    2024年02月08日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包