赞
踩
目录
赛灵思7系列器件是之前使用较广的器件,工艺制程为28nm,包含四类:Spartan,Artix,Kintex,Virtex,都支持低功耗,本文内容主要是参考官网7系列的时钟手册UG472,部分增加了自己的理解。
整个芯片被划分成了不同的时钟区域Clock region。
时钟区域数量:不同的系列数量不同,最少1个,最多24个
时钟区域组成:包含了所有的同步单元,例如可编程逻辑块CLB,I/O,串行收发器,数字信号处理DSP,块状RAM,时钟管理单元CMT,在纵向上跨越50个CLB,包含了1个I/O bank,水平方向中间位置包含了一个水平时钟行HROW。因此,在HROW的上下两侧各有25个CLB,下图为Kintex器件的一个时钟区域图,图中数量最多小正方形单元格就是CLB,左侧红色方框的为I/O bank区域,水平中间位置有明显间距的为HROW。
全局时钟缓冲器BUFGCTRL驱动全局时钟线,也只能用于全局时钟线中,BUFGCTRL可简化为BUFG,全局时钟缓冲器主要功能有以下几点
a.可以作为一个时钟使能电路让允许或禁止时钟跨域多个时钟区域
b.可以在两个时钟源中作为一个抗干扰的多路选择器,也可将失败的时钟源切换掉
c.可以被CMT驱动,从而减小时钟分布时延,并且可以调节和相关时钟间的时延
水平时钟缓冲器BUFH/BUFHCE可以通过HROW让全局时钟线进入到单个的时钟区域中,BUFHCE是带有使能端口CE,端口CE控制BUFHCE是否跨越一个单独的时钟区域,每个时钟区域支持12个水平时钟线。
全局时钟可例化的原语有7种,通过原因可以直接进行例化使用时钟缓冲器。输入输出端口区别如下表。
每个I/O时钟缓冲器可以驱动I/O时钟树,I/O时钟树可以让时钟不断地进入该I/O bank内的I/O资源。在每个区域中,有4个独有的I/O时钟可以驱动该区域的I/O bank。
区域时钟缓冲器可以驱动区域时钟树,区域时钟树可以驱动该区域的所有时钟单元,也可以通过代码进行分频。在每个区域中,有4个独有的区域时钟可以驱动该区域。
BUFMR可以驱动垂直方向上3个相邻区域内的BUFR和BUFIO。
每个I/O bank包含时钟输入引脚,能够将外部用户时钟带进FPGA的时钟布线资源上,在时钟布线资源上有时钟缓冲器,时钟缓冲器又可将时钟引入全局时钟线和I/O时钟线,区域时钟线和CMT。全局时钟线一般位于芯片中间位置,I/O时钟线在I/O bank内,不同I/O bank在垂直方向上相邻,不同时钟区域内的区域时钟线在垂直方向上是相邻的。每个时钟区域可支持12个全局时钟线,12个全局时钟线再到达该区域的12个水平时钟线。
时钟架构如下图,时钟主干Clock backbone将芯片分为了左右两部分,BUFG位于时钟主干道上。水平中心线将时钟区域分为了顶侧和底侧,同时也将bufg划分为了上半区和下半区,每个半区个16个BUFG,这个规则将会带来一些跨半区的限制。但BUFG不属于任何一个时钟区域,并且可以到达芯片各处。所有的水平时钟资源是位于每个时钟区域水平中间位置的HROW上。垂直方向上非区域内的时钟资源必属于时钟主干或CMT上
单个时钟区域内的时钟缓冲器关系如下图。BUFG虽然不在时钟区域内,但可以通过BUFH驱动每一个时钟区域。BUFH通过HROW可以驱动区域内的任意一个时钟单元,BUFH和BUFG共享HROW布线轨道。BUFR和BUFIO位于I/O bank内部,BUFIO只能驱动区域内的I/O时钟资源,但BUFR即可驱动I/O时钟资源,也可驱动区域内其他逻辑资源。BUFMR可以通过CMT backbone驱动本区域,上下邻近区域,共3个时钟区域的BUFR和BUFIO。
更详细的区域内部驱动关系可看Figure 1-3,左侧可看出有2个SRCC引脚和2个MRCC引脚,共4个外部时钟输入端口。MRCC和SRCC的区别是MRCC可以连接到BUFMR从而驱动上下邻近区域的BUFR,BUFI/O,SRCC只能驱动本区域的BUFR,BUFI/O。
图Figure 1-4更加详细展示了时钟区域内部中各种时钟缓冲器的时钟源和驱动关系,图中带斜杠和数字的表示线路的数量,如BUFG有32路。
每个区域内的4个时钟输入端口CC可以驱动CMT内的PLL,MMCM,BUFH。
一个GT 有10条轨道驱动CMT和时钟主干道上的时钟缓冲器。
BUFR有4条轨道驱动逻辑单元的时钟,CMT和BUFG
CMT可以通过CMT Backbone驱动邻近的CMT,也可以通过BUFH驱动水平相邻的时钟区域,以及所有的BUFG。
图Figure 1-5展示了区域内BUFR/BUFMR/BUFIO的驱动关系,每个I/O bank包含了4个BUFIO和4个BUFR,这些时钟缓冲器都可以被区域内4个外部时钟输入端口CC或者是MMCM的时钟输出口直接驱动。2个MRCC输入端口可以驱动BUFMR,从而驱动上下相邻区域的BUFR和BUFIO。同时,GT也可以驱动BUFMR。
时钟架构不仅需要时钟缓冲器,还需要时钟管理单元,对时钟进行相关的处理,从而符合设计的需要。时钟管理单元CMT具有分频,倍频,对内部或外部时钟去偏斜,去抖动的功能,7系列的FPGA有多大24个CMT,每个CMT包含一个混合模式时钟管理器MMCM和一个锁相环PLL,PLL可看做一个功能简化的MMCM,位于I/O列旁边的CMT列中。MMCM和PLL从IBUFG、BUFG、BUFR、BUFH、GT(仅仅针对CLKIN1/CLKIN2)中通过多路选择器选择2路参考时钟和反馈时钟。PLL和MMCM的驱动源如下图Figure 3-1。
MMCM的内部结构如下图,时钟输入都有一个可编程的计数除法器D,鉴相器PFD会比较输入参考时钟和反馈时钟的上升沿的相位和频率。鉴相器用于在两个时钟间生成一个和相位频率成比例的信号。PFD输出的信号驱动充电泵CP和环路滤波器LF生成参考电压到VCO,通过生成高低电平信号到CP和LF来控制环路滤波器是否应该在更高或更低的频率。当VCO的频率过高时,PFD会激励出一个更低的信号从而降低VCO的频率。VCO生成8个输出信号和一个相位可变的信号,每个输出信号的相位可以随着参考信号的变化而变化,并且每个设计中计数器都可以单独地编程。特殊的计数器M控制MMCM和PLL的反馈时钟,可以生成更大范围的频率。除了整数分频输出,CLKOUT0和CLKFBOUT还可以进行分数分频的输出。
PLL的结构如下图Figure 3-3,相比MMCM,输出端口少了很多,无反向端口输出,以及不支持分数除法分频,动态相位控制等,
BUFH/BUFHCE:Horizontal Clock Buffer 水平时钟缓冲器、带使能端口CE的水平时钟缓冲器
BUFMR:Multi-clock Region Buffer 多时钟区域缓冲器
BUFR:Region Clock Buffer 区域时钟缓冲器
BUFG:Global Clock Buffers 全局时钟缓冲器
CLB:Configurable Logic Blocks 可编程逻辑块
CMT:Clock Management Tiles 时钟管理单元
CR: Clock Region 时钟区域
GT:Gigabit Transceivers G比特收发器
GC:Global Clock 全局时钟
HROW:Horizontal Clock Row 水平时钟行
LF:Loop Filter 环路滤波器
MMCM:Mixed-mode Clock Manager 混合模式时钟管理器
PHD:phase-frequency Detector 鉴相器
PHY:Physical Layer 物理层
PLL:Phase Locked Loop 锁相环
PS: Processor Sytem 处理器系统
SYSMON:System Monitor 系统监视器
用户手册:ug472_7Series_Clocking.pdf
链接:https://pan.baidu.com/s/1LWsNg7PA5IHutv280Fkmkw
提取码:ai89
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。