一、Xilinx器件全局时钟资源的硬件原语
全局时钟资源一般使用了特殊的加工工艺,并且设计了专用时钟缓冲器,从而使得全局时钟到芯片内部的所有可配置逻辑单元、I/O等的延时和抖动最小。长线资源,它分布在芯片的行、列bank中,它的长度和驱动能力仅次于全局时钟资源,所以也叫第二全局时钟资源,长线资源一般比全局时钟资源丰富许多。
常用的Xilinx全局时钟资源包括IBUFG、IBUFGDS、BUFG、BUFGCE、DCM等
(1) IBUFG,即就是输入全局缓冲器,是与专用时钟管脚相连接的全局缓冲器,所有从全局时钟管脚输入的信号都必须经过IBUFG单元,否则在ISE布局布线的时候会报错。IBUFG支持HSTL、LVCMOS、LVDS、LVPECL、SSTL等多种格式的I/O电平标准.
(2) IBUFGDS是IBUFG的差分形式,当信号以差分信号的形式从全局时钟管脚输入时,就必须使用IBUFGDS。它支持LVDS、LVPECL等I/O接口电平标准。
(3) BUFG,全局缓冲器,它的输入端一般是IBUFG的输出,BUFG的输出到达芯片内部的IOB、CLB、BlockRAM的时钟延迟和抖动最小。
(4) BUFGCE是带有全局使能端的缓冲器,有一个输入端I、输出使能端CE,一个输出端O,仅当输出使能端CE有效(高电平)时,输出端才有输出。
(5) DCM是数字时钟管理单元,主要用于完成时钟的同步、相移、分频、倍频、去抖动等操作。DCM与全局时钟是密不可分的。
二、全局时钟资源的使用方法
(1) IBUFG + BUFG的使用方法
IBUFG后面连接BUFG是最基本的全局时钟资源使用方法
(2)IBUFGDS + BUFG的使用方法
当输入信号时一对差分信号时,就应该使用该方法。
(3)IBUFG + DCM + BUFG的使用方法
这种使用方式比较灵活,对全局时钟控制也更加有效,通过DCM可以对时钟进行倍、分频、相移等处理,然后经过BUFG,可以使全局时钟输出到达芯片实现无抖动。XG4080 CPLD中的Clkm模块就采用了这个方法。