FPGA 设计中全局时钟与第二全局时钟资源的应用
“全局时钟和第二全局时钟资源”是 FPGA 同步设计的一个重要概念。合理利用
该资源可以改善设计的综合和实现效果;如果使用不当,不但会影响设计的工作频
率和稳定性等,甚至会导致设计的
综合、实现过程出错。本文总结了
Xilinx FPGA 全局时钟和第二全局
时钟资源的使用方法,并强调了应
用中的注意事项。
目前,大型设计一般推荐使用
同步时序电路。同步时序电路基于
时钟触发沿设计,对时钟的周期、
占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在 FPGA
设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。
FPGA 全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结
构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O 单元(IOB)和选择
性块 RAM(Block Select RAM)的时延和抖动都为最小。为了适应复杂设计的需要,
Xilinx 的 FPGA 中集成的专用时钟资源与数字延迟锁相环(DLL)的数目不断增加,最
新的 Virtex II 器件最多可以提供 16 个全局时钟输入端口和 8 个数字时钟管理模
块(DCM)。
与全局时钟资源相关的原语
常用的与全局时钟资源相关的 Xilinx 器件原语包括:IBUFG、IBUFGDS、BUFG、
BUFGP、BUFGCE、BUFGMUX、BUFGDLL 和 DCM 等,如图 1 所示。
1. IBUFG 即输入全局缓冲,是与专用全局
时钟输入管脚相连接的首级全局缓冲。所有从
全局时钟管脚输入的信号必须经过 IBUF
元,否则在布局布线时会报错。IBUFG 支持
AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、
LVDS、LVPECL、LVTTL、PCI、PCIX 和 SSTL 等
多种格式的 IO 标准。
G 单
2. IBUFGDS 是 IBUFG 的差分形式,当信号
从一对差分全局时钟管脚输入时,必须使用
IBUFGDS 作为全局时钟输入缓冲。IBUFG 支持 BLVDS、LDT、LVDSEXT、LVDS、LVPECL
和 ULVDS 等多种格式的 IO 标准。
3. BUFG 是全局缓冲,它的输入是 IBUFG 的输出,BUFG 的输出到达 FPGA 内部的
IOB、CLB、选择性块 RAM 的时钟延迟和抖动最小。
1