FPGA学习入门之时钟资源介绍

第一章 FPGA学习入门之时钟资源介绍



前言

本文主要是为了学习FPGA的CC、BUFR、BUFIO、BUFMR、CMT、BUFG以及BUFH相关时钟资源,参考文章https://blog.csdn.net/m0_56222647/article/details/137551949


一、CC

“CC”,它是“Clock-Capable”即时钟功能的缩写,表示具有时钟功能的引脚,换句话说,并不是所有的引脚都可以接时钟的,有只有通过特定的引脚才能将外部时钟信号引入FPGA内部的时钟资源,这个引脚有两种,分别称之为MRCC(Multi-region clock-capable I/O)和SRCC(Single-region clock-capable I/O)。Multi-region译为多区域,Single-region译为单区域,而者的直观区别在于MRCC可以连接到BUFMR上,但SR不可以,BUFMR具有扩展功能,可以将本BANK时钟引入到其它BANK上,所以称可以连接到BUFMR的CC为MRCC。7系列芯片每个BANK有50个引脚,这五十个里面有两对用于SRCC,有两对用于MRCC,如下图原理图所示。它们都是差分的,如果接单端时钟则需接到“P”上,对应的“N”引脚不可用。这些信号可以连接到本bank的BUFR、BUFIO、CMT以及同侧的16个BUFG。


二、BUFR、BUFIO、BUFMR

BUFR、BUFIO、BUFMR它们都位于I/O BANK,所以它们是与引脚相关的区域时钟缓冲器,可有助于实现时钟源的同步采集,串并之间的转换等等。7系列芯片每个有引脚的BANK都有四个BUFIO和BUFR、两个BUFMRCE。

BUFIO是区域时钟缓冲器,它的作用是用来驱动I/O BANK里面的ILOGIC和OLOGIC,(一般会用为OSERDESE2 和ISERDESE2)。所以BUFIO适合用于采集源同步数据,但不能用来驱动任何其它资源。

BUFR也是区域时钟缓冲器,与BUFIO不同在于可以驱动BUFG可以驱动的同一时钟区域中的任何时钟点。如下图很好的解释了BUFIO和BUFR的区别。而且BUFR还具有分频功能,可以实现1到8倍的分频,可用于串并转换
在这里插入图片描述
BUFMR还是区域时钟缓冲器,之所以只有两个是对应MRCC,因为MRCC就两个,所以BUFMR多了也没多啥用。它的作用就是扩展时钟区域,可以将某BANK的时钟引入到上下相邻的BANK中去,如下图所示,这里将MRCC直连到了BUFMR,但在实际应用情况下,MRCC需要先进过IOBUF,才可以连接到BUFMR。
在这里插入图片描述


三、CMT

在7系列FPGA中,CMT包括混合模式时钟管理器(MMCM)和锁相环(PLL)。PLL可以是MMCM的子集。

下图显示了各种时钟输入源与MMCM/PLL之间连接的高级视图。在7系列FPGA中,时钟输入连接允许多个资源为MMCM/PLL提供参考时钟。输出计数器(分频器)的数量为八个,其中一些能够输出反向时钟信号(180°相位移)。7系列FPGA的MMCM具有无限的精细相移能力,可以在任意方向上使用动态相移模式。精细相移的分辨率取决于VCO频率。可用于支持更大的时钟频率合成能力的CLKFBOUT和CLKOUT0的分数分频功能为1/8(0.125)增量。7系列FPGA还为MMCM添加了扩展频谱功能。如果不使用MMCM扩展频谱功能,则外部输入时钟上的扩展频谱将不会被滤波,从而传递到输出时钟。
在这里插入图片描述

PLL主要用于生成稳定的时钟信号。它通过比较反馈时钟和参考时钟的相位差异,调整反馈时钟的频率和相位,使得反馈时钟同步于参考时钟,并且具有所需的频率和相位特性,PLL的频率调节范围通常较大,可以通过外部控制电压或者软件接口来调整输出频率,PLL广泛应用于各种数字电路中,例如处理器、FPGA、ASIC等,用于时钟生成和同步。

MMCM的官方解释是一个PLL,上面加上了DCM的一小部分以进行精细的相移(这就是它的混合模式的原因-PLL是模拟的,但是相移是数字的) 。它是在PLL的基础上加上了相位动态调整功能,因为PLL是模块电路,而动态调相是数字电路,所以叫混合模式。
MMCM不仅可以产生时钟信号,还可以对时钟信号进行频率和相位的变换,以及时钟信号的分频和倍频操作。它通常用于需要更复杂时钟管理功能的应用,如FPGA中的时序控制和数据接口。MMCM在一些FPGA中提供了更多的配置选项,可以实现更复杂的时钟生成和调整功能,如频率合成和时钟域转换,用于处理复杂的时序要求,如数据传输中的时钟对齐、信号采样和发射控制等。

DCM是数字时钟管理器,核心是一个延迟锁定环路DLL(Delay locked Loop)。可以对时钟进行纠偏,生成不同相位的时钟。动态改变时钟的相位。

DCM可以精确微调相位,也可以用于分频。但是精度有限。

PLL产生的频率比DCM更多,抖动更好,时钟信号质量更好。但是PLL无法动态调整相位。

MMCM由PLL和DCM的一小部分组成,同时具有PLL和MMMCM的优点。但是占用面积比较大。

MMCM_ADV 、PLL_ADV、 DCM_ADV具有一些更加高级的功能,一般动态配置的时候会使用


四、BUFH

经过BUF的时钟只在本区域有效,其中H是Horizontal的缩写。每个BANK有12个BUFH,它们位于BANK的一侧,且在水平中间位置排成一列,所以下图是左右相邻两个BANK的BUFH。

如下图是一个BANK的整体,BUFH可以驱动同一BANK的所有资源,我们可以看出“上”和“下”是对称分布的,BUFH位于BANK的一侧垂直居中,中间的分割线是有12条水平时钟线,与12个BUFH相连。BUFG也是通过连接到BUFH进而通过这12条水平时钟线驱动整个BANK的逻辑资源。每个BANK资源是按照一定的规律进行排列,也就是每列有50个CLB、50个引脚、10个BRAM,它们均匀的分布在水平时钟线两侧。不同型号芯片每个BANK的资源是不一样的,但每列资源是固定的,只不过行数的多少。
在这里插入图片描述


五、BUFG

BUFG是全局时钟缓冲器,每个芯片都会有32个BUFG。它是我们用的最多的时钟buff,经过BUFG的时钟可以连接到任意资源上去,BUFG不仅可以实现时钟缓冲,还有时钟选择、控制等功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值