时钟资源

为了更好的控制时钟,Virtex-6器件分成若干个时钟区域,最小器件有6个区域,最大器件有18个区域。每个时钟区域高40个CLB。在时钟设计中,推荐使用片上专用的时钟资源,不推荐使用本地时钟(如逻辑产生的时钟)。

每个Virtex-6的中间列包含了专门配置引脚(CFG),该列的其余区域为CLB。其右边排列着一个CMT列。每个区域(40个CLB高)对应一个CMT。一个CMT包含2个混合模式时钟管理单元(MMCM),还有32个垂直全局时钟树。每个时钟区域的中间方向有一个时钟行(HROW),包含12个水平时钟线,6个BUFR和最多12个BUFH。Virtex-6的时钟资源图如图5-7所示。

每个Virtex-6 FPGA中间列的左右两边各有一个I/O列,分别标号为IOCL和IOCR,I/O列和中间列之间是CLB。

每个区域/BANK的中间有一个水平时钟行(HROW),HROW包含水平时钟线、BUFG和BUFH。内部I/O列包含8个全局时钟引脚对(GC),所有的I/O列包含4个Clock-Capable引脚对(CC),可以连到BUFIO和BUFR。每个BANK的4个CC中的两个可以连到相邻区域的BUFIO上。另外,中间列的BUFR和CC脚可以直接驱动同一个区域的MMCM,或者间接通过垂直全局时钟线驱动BUFG。

Virtex-6器件的片内时钟资源为片内的同步元件提供时钟,片内时钟资源有3种类型,分别是全局时钟资源、区域时钟资源、I/O时钟资源。

图5-7 Virtex-6的时钟资源图

一、 全局时钟资源

全局时钟是一种专用互连网络,它可以降低时钟歪斜、占空比失真和功耗,提高抖动容限。

Virtex-6的全局时钟资源设计了专用时钟缓冲与驱动结构,从而使全局时钟到达CLB、IOB和BRAM的延时最小。

全局时钟资源由以下通路和组件构成。

二、 全局时钟输入

Virtex-6全局时钟输入包含专用的全局时钟输入管脚和全局输入缓冲器。全局时钟输入管脚可以直接连接外部单端或差分时钟;全局输入缓冲器(IBUFG)是FPGA内部与专用全局时钟输入管脚相连的首级全局缓冲器。

Virtex-6器件里有8个全局时钟输入。8个全局时钟输入可以连接到电路板上的8个时钟输入。

时钟输入管脚可以不用作时钟输入引脚,而用作普通I/O。

外部单端或差分时钟通过专用全局时钟输入引脚进入FPGA,在FPGA内部,信号必须接入全局输入缓冲器(IBUFG),否则在布局布线时会报错。

可以在HDL代码中例化全局输入缓冲器,其原语见表5-5。

表5-5 全局输入缓冲器(IBUFG)的原语

(1) 全局时钟缓冲器。

每个Virtex-6器件有32个全局时钟缓冲器,时钟信号只有经过BUFG之后才可以驱动全局时钟网络。一个全局时钟输入能直接从差分全局时钟引脚对的P端连接到全局时钟缓冲器的输入。每个差分全局时钟引脚对可以连接到PCB上的一个差分或单端时钟。如果使用单端时钟,则必须使用引脚对的P端,因为只有这一引脚上存在直接连接。必须将一个单端时钟连接到差分全局时钟引脚的正(P)端。如果单端时钟连接到差分引脚对的P端,则不能用其N端作为另一个单端时钟输入。不过,可以将其用作普通I/O。

全局时钟缓冲器的输入源包括以下几种。

全局时钟输入。内部I/O列的同一区域Clock-Capable时钟输入。时钟管理单元(CMT)。其他全局时钟缓冲器的输出(BUFG)。通用互连。区域时钟缓冲器(BUFR)。千兆收发器。

Virtex-6 FPGA的CC输入间接通过MMCM列中的垂直时钟网络驱动BUFG。32个BUFG分成两组,每组16个,分别位于器件的顶部和底部。顶部的MMCM只能驱动顶部的16个BUFG,底部的MMCM只能驱动底部的BUFG。

全局时钟缓冲器还可配置成多路复用器,可以在2个输入时钟之间切换。这两个时钟可以是同步的,也可以是异步的,多路复用器的输出是无毛刺的时钟。

全局时钟缓冲器的多种原语模型如表5-6所示。

表5-6 全局时钟缓冲器的原语

(2) 全局时钟树和时钟网络(GCLK)。

Virtex-6中的全局时钟树和时钟网络,如果未被使用,它就是断开的,这可以降低功耗。另外,时钟树还具有对负载/扇出的管理功能。所有全局时钟线和缓冲器都以差分形式实现,这有助于改善占空比、提高对共模噪声的抑制能力。在Virtex-6架构中,全局时钟线不仅可以用作时钟,还可以当作其他信号线,例如扇出较大的信号。

(3) 时钟区域。

Virtex-6通过使用时钟区域,改善了时钟的分配性能。每个时钟区域最多可有12个全局时钟。这12个全局时钟可由32个BUFG的任12个驱动。时钟区域的大小固定为40个CLB高,半个晶片宽。因此大尺寸的器件有更多的时钟区域。CMT和全局时钟资源位于包含配置引脚中间列的右边,如图5-8所示。

图5-8 XC6VLX75T的时钟区域

三、 区域时钟资源

区域时钟网络是独立于全局时钟网络的。它与全局时钟不同,区域时钟信号BUFR的作用区域最多为三个时钟区域,这些网络对于源同步接口设计尤其有用。

区域时钟控制资源和网络由以下通路和组件构成:

(1) Clock-Capable I/O。

每个时钟区域中有4个Clock-Capable I/O引脚对。每个BANK中有4个专用Clock-Capable I/O位置。当用作时钟输入时,Clock-Capable引脚可以驱动BUFIO和BUFR。

如果用作单端时钟引脚,如“全局时钟缓冲器”中所述,外部单端时钟必须接到引脚对的P端,因为只有这一引脚上存在直接连接。

(2) I/O时钟缓冲器(BUFIO)。

BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个BURIO,其中的2个可以驱动相邻区域的I/O时钟网络。BUFIO不能驱动逻辑资源(CLB、BRAM等),因为I/O时钟网络只存在于I/O列中。

可以调用BUFIO的原语来使用它,如表5-7所示。

表5-7 BUFIO的原语

(3) 区域时钟缓冲器(BUFR)。

BUFR可以驱动其所在时钟区域中的6个区域时钟网络和相邻区域中的6个时钟网络。与BUFIO不同,BUFR不仅可以驱动其所在时钟区域和相邻时钟区域中的I/O逻辑,还可以驱动CLB、BRAM等。BUFR可由CC引脚、本地时钟、GT以及MMCM高性能时钟驱动。BUFR对于要求跨时钟域或串并转换的源同步应用来说,是理想的选择。

可以通过调用BUFR原语来使用它,见表5-8所示。

表5-8 BUFR的原语

(4) 区域时钟网络。

除了全局时钟树和全局时钟网络,Virtex-6器件还包含区域时钟网络。和全局时钟树一样,这些区域时钟树也是为低歪斜SKEW和低功耗操作设计的。区域时钟网络的传播是仅限于一个时钟区域。一个时钟区域包含6个独立的区域时钟网络。

要进入区域时钟网络,必须例化BUFR。一个BUFR最多可以驱动两个相邻时钟区域中的区域时钟,如图5-9所示。此时,BUFR的作用区域为三个时钟区域。顶部和底部区域中BUFR只能连接相邻的一个时钟区域,也就是说,顶部的BUFR连接它所在的下面一个相邻区域。底部的BUFR只能连接它所在的上边一个相邻区域。因此,底部和顶部BUFR的作用区域为两个时钟区域。

图5-9 区域时钟和时钟网络

(5) 水平时钟缓冲器(BUFH)。

BUFH驱动区域中的水平全局时钟树,如图5-10所示,每个区域有12个BUFH,每个BUFH有一个CE脚,该引脚可控制时钟动态开关。BUFH可由以下几种资源驱动。

同一区域的MMCM输出。BUFG输出。局部互联。同一区域内部inner columns的CC引脚。 图5-10 时钟区域中BUFH位置图

可以通过时钟CE脚关掉时钟来节省功耗。同BUFG驱动两个相邻区域相比,BUFH的功耗更低。

BUFH的原语如表5-9所示。

表5-9 BUFH的原语

(6) 高性能时钟(HPC-High Performance Clock)。

Virtex-6每个I/O列包含4个HPC。这些时钟由MMCM电源驱动,不由VCCINT供电,因此,这些时钟能改善JITTER和占空比。HPC结构图如图5-11所示,在I/O列中,HPC连接BUFIO,驱动I/O逻辑。4个HPC中的2个可以不通过多区域BUFIO直接驱动I/O BANK(上和下BANK)。HPC可以不通过另一个时钟缓冲器直接连接到OSERDES,提供了一个改善JITTER和占空比性能的时钟。HPC没有专用缓冲器与它相连,ISE软件自动检查设计中IOLOGIC的连接,确定HPC的连接。HPC能驱动同一区域中的BUFR,支持源同步接口设计。

图5-11 HPC结构图

四、 I/O时钟

第三种时钟控制资源是I/O时钟,其速度非常快,可用于局部化的I/O串行器/解串器电路。I/O时钟信号只驱动一个区域。这些I/O时钟网络对于源同步设计尤其有用。

混合模式时钟管理器(MMCM)

除了丰富的时钟网络以外,Xilinx还提供了强大的时钟管理功能,提供更多更灵活的时钟。Xilinx在时钟管理上不断改进,从Virtex-4的纯数字管理单元DCM,发展到Virtex-5CMT(包含PLL),再到Virtex-6基于PLL的新型混合模式时钟管理器MMCM(Mixed-Mode Clock Manager),实现了最低的抖动和抖动滤波,为高性能的FPGA设计提供更高性能的时钟管理功能。

Virtex-6的CMT包含2个MMCM,处于同一个CMT中的2个MMCM之间有专门布线资源。每个时钟片里的MMCM可以独立使用,也可以将MMCM之间的专门布线资源释放出来供其他设计单元使用。

MMCM之间的连接关系及输入源的框图如图5-12所示。同前一代Virtex-5的PLL相比,扩充了时钟输入,允许多个时钟源作为MMCM的输入参考时钟。

图5-12 Virtex-6 FPGA CMT框图

Virtex-6最多有9个CMT片,输入多路复用器从IBUFG、BUFG、BUFR、GTX(仅CLKIN)或通用布线(不推荐)中选择参考时钟和反馈时钟。

Virtex-6中的PLL内部结构图如图5-13所示。每个时钟输入有一个可编程计数器D。相位/频率检测器(PFD)比较输入(参考)时钟和反馈时钟的相位和频率。仅考虑上升沿即可,因为只要保持最小High/Low脉冲,则占空比无关紧要。PFD用来生成与两个时钟之间的相位和频率差成比例的信号。此信号驱动电荷泵(CP)和环路滤波器(LF),以便为VCO生成参考电压。PFD为电荷泵和环路滤波器生成一个上升或下降信号,以确定VCO应该在较高频率还是较低频率工作。当VCO工作频率过高时,PFD触发一个下降信号,致使控制电压下降,从而降低VCO的工作频率。当VCO工作频率过低时,PFD触发一个上升信号,致使控制电压上升,从而提高VCO的工作频率。VCO产生八个输出相位和一个可变相位的精细相位输出。每个输出相位都可选作输出计数器的参考时钟。可以根据给定的客户设计对每个计数器独立编程。另外还提供了一个专用计数器M。此计数器控制PLL的反馈时钟,以实现大范围频率合成。

除了整数分频输出计数器,Virtex-6器件通过组合O0/O5和/或M/O6寄存器,可以实现小数计数器。使用小数模式时候,O5和O6输出不可用。

图5-13 PLL内部结构图

Virtex-6 MMCM提供了广泛而强大的时钟管理功能,分别介绍如下。

一、 时钟去歪斜

在许多情况下,设计人员在其I/O时序预算中不希望在时钟网络上有延迟,这时可以使用MMCM来补偿时钟网络的延迟。一个与参考时钟CLKIN的频率相匹配的时钟输出(通常是CLKFBOUT)连接到BUFG,并且反馈到MMCM的CLKFBIN反馈引脚。其余输出仍可通过分频产生更多输出频率。在这种情况下,所有输出时钟对于输入参考时钟都具有固定的相位关系。

二、 基于整数分频器的数字频率合成

MMCM还可以用作独立频率合成器。在这种应用中,PLL不能用于时钟网络去歪斜,而是用它来生成输出时钟频率。在这种模式下,PLL反馈通路为internal模式,这样所有布线保留为局部布线,使抖动最小。

三、 基于小数分频器的数字频率合成

Virtex-6在CLKOUT0输出和/或M反馈路径上支持非整数分频。如果CLKOUT0的计数器用于小数模式,那么CLKOUT5计数器的输出不可用。类似,在M反馈计数器使用时,CLKOUT6计数器输出也不可用。小数分频的精度是1/8或0.125度。在小数分频的情况下,占空比和相移不可编程。

四、 抖动滤波器

MMCM可以降低参考时钟上固有的抖动。作为抖动滤波器,MMCM通常被看作一个缓冲器,在输出上重新生成输入频率(例如,FIN=100MHz,FOUT=100MHz)。一般来说,通过使用MMCM的BANDWIDTH属性并且将其设置为Low,可以实现较强的抖动过滤。但将BANDWIDTH设置为Low会导致MMCM的静态偏差增大。

五、 相移

在许多情况下,各时钟之间需要有相移。MMCM可以通过多个选项实现相移。最好通过软件工具选择合适的相位模式。

(1) 静态相移模式。

VCO能够以45°的间隔提供8个移相时钟,静态相移模式通过选择这8个VCO输出相移中的一个实现的。因此以时间为单位的相移分辨率定义为:PS=1/8FVCO或D/8MFIN。因为VCO具有明确的工作范围,所以可以把相移分辨率的范围界定为从1/8 FVCO_MIN到1/8 FVCO_MAX。VCO的频率越高,相移分辨率就越高。各输出计数器可分别编程,允许每个计数器在VCO的输出频率的基础上具有不同的相移。

(2) IFPS模式。

Virtex-6还提供一种IPFS模式相移,支持固定或动态模式。在该模式下,相移实现线性移位特性,和CLKOUT_DIVIDE值无关,只决定于VCO频率。MMCM以Fvco/56为步长进行相位调节。相移值可在配置过程中固定,也可动态改变。
CLKOUT计数器可分别设置成静态相移模式或者IPFS模式,固定相移模式下,动态相移接口不能被使用。

(3) 动态相移接口。

Virtex-6可以由PSEN、PSINCDEC、PSCLK和PSDONE控制动态相移。MMCM锁住后,CLKOUT_PHASE属性决定初始相位,通常情况下,可以不设置初始相移。MMCM根据PSEN、PSINCDEC、PSCLK和PSDONE信号的动作,改变输出相移。步长为VCO时钟周期的1/56。信号时序图请参考图5-14。

图5-14 动态相移接口时序图

如图5-15所示,MMCM_BASE是基本时钟管理模块的原语,实现MMCM的基本功能;MMCM_ADV是在MMCM_BASE的基础上,增加输入时钟切换、同一CMT中MMCM之间连接、动态相移调节等功能。

图5-15 MMCM的两种原语

注意:Virtex-6不支持动态重配置端口。

点击打开链接

Virtex-6器件的时钟资源、混合模式时钟管理器(MMCM)相关推荐

  1. UltraScale时钟资源和时钟管理模块

    UltraScale时钟资源和时钟管理模块 绪论 图2.1和2.2给出了UltraScale结构的时钟结构.从图中可以看出,基本的结构是由表示分段时钟行和列的CR块构成的CR以一个单元的方式排列,从而 ...

  2. 赛灵思FPGA中的主要时钟资源介绍

    把握DCM.PLL.PMCD 和MMCM 知识是稳健可靠的时钟设计策略的基础. 赛灵思在其FPGA 中提供了丰富的时钟资源,大多数设计人员在他们的FPGA 设计中或多或少都会用到.不过对FPGA设计新 ...

  3. Xilinx中时钟资源:模式时钟管理器(MMCM)的使用

    混合模式时钟管理器(MMCM) 除了丰富的时钟网络以外,Xilinx还提供了强大的时钟管理功能,提供更多更灵活的时钟.Xilinx在时钟管理上不断改进,从Virtex-4的纯数字管理单元DCM,发展到 ...

  4. Xilinx FPGA全局时钟和第二全局时钟资源的使用方法

    目前,大型设计一般推荐使用同步时序电路.同步时序电路基于时钟触发沿设计,对时钟的周期.占空比.延时和抖动提出了更高的要求.为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时 ...

  5. Spartan-6的时钟资源、全局时钟缓冲器/多路复用器

    时钟资源 时钟布线资源具有高速.低SKEW的特点,它对系统设计非常重要,即使系统速率不高,也应该关注时钟设计,以消除潜在的时钟危险.Spartan-6器件包含16个全局时钟资源和40个I/O区域时钟资 ...

  6. bufg和bufgp_Xilinx FPGA全局时钟和第二全局时钟资源的使用方法(转)

    "全局时钟和第二全局时钟资源"是FPGA同步设计的一个重要概念.合理利 用该资源可以改善设计的综合和实现效果:如果使用不当,不但会影响设计 的工作频率和稳定性等,甚至会导致设计的综 ...

  7. Xilinx FPGA内部资源之时钟篇1

    以下时钟介绍以Virtex5系列芯片作为参考芯片 从时钟的角度可以将Xilinx FPGA划分为若干个时钟域(Clock Region),不同的FPGA芯片具有不同数量的时钟域,XC5VLX30有8个 ...

  8. (30)FPGA面试题全局时钟资源及原语

    1.1 FPGA面试题全局时钟资源及原语 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题全局时钟资源及原语: 5)结束语. 1.1.2 本节引言 &quo ...

  9. FPGA时钟资源PLL与DLL区别

    1.1 FPGA时钟资源PLL与DLL区别 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA时钟资源PLL与DLL区别: 5)结束语. 1.1.2 本节引言 &q ...

最新文章

  1. Java面试题(一)部分题目
  2. 如何编写最佳的Dockerfile
  3. python【蓝桥杯vip练习题库】ADV-187 勾股数
  4. 08-图7 公路村村通 (30 分)
  5. DbEntry 访问Access2010数据库
  6. 演化博弈论简介(转)
  7. 优化算法 | 遗传算法(附Python代码)
  8. Android SDK的级别
  9. 网络基础--TCP/IP网络基础
  10. 菜鸟修行之路--Echarts数据可视化知识总结完整版
  11. 从零实现一个简单卷积神经网络
  12. 电子加速器原理与应用
  13. 网络准入控制(NAC)部署经验
  14. 瑞星:病毒伪装“交行安全控件”盗取用户敏感信息
  15. 肾有多好,人就有多年轻。男女通用
  16. LeetCode881. 救生艇
  17. 垃圾清理代码_一招清理电脑垃圾
  18. word里边的表格怎么弄到ppt里
  19. OpenHarmony成长计划学生挑战赛7天打卡活动介绍
  20. UGUI图集的理解与使用

热门文章

  1. 简单截屏恶搞程序(客户端+服务端)
  2. php post可重复提交了,如何防止 POST 数据重复提交!
  3. 树莓派如何卸载mysql_树莓派安装MySQL数据库与卸载
  4. php接口调用教程,php接口调用
  5. 不符合核销规则条件_1136家建筑企业资质核查不符合条件,复查合格率仅50
  6. 按覆盖地理范围的不同计算机网络可分为,按网络覆盖的地理范围进行分类,计算机网络可以分为:...
  7. java的数组是对象吗_在Java中数组是原始类型还是对象?
  8. -m commit git_走在前沿的弄潮儿,怎能不会Git的那些奇技淫巧
  9. 智能车竞赛技术报告 | 智能车视觉 - 西安邮电大学 - AI小布丁
  10. 全国大学生智能汽车竞赛-百度线下赛道报名开始!