BUFG,IBUFG,BUFGP,IBUFGDS 等含义以及使用
目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对
时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一
般在 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 的时钟延迟和抖动最小。
4. BUFGCE 是带有时钟使能端的全局缓冲。它有一个输入 I、一个使能端 CE 和一个输出端
O。只有当 BUFGCE 的使能端 CE 有效(高电平)时,BUFGCE 才有输出。
5. BUFGMUX 是全局时钟选择缓冲,它有 I0 和 I1 两个输入,一个控制端 S,一个输出端
O。当 S 为低电平时输出时钟为 I0,反之为 I1。需要指出的是 BUFGMUX 的应用十分灵活,
I0 和 I1 两个输入时钟甚至可以为异步关系。
6. BUFGP 相当于 IBUG 加上 BUFG。
7. BUFGDLL 是全局缓冲延迟锁相环,相当于 BUFG 与 DLL 的结合。BUFGDLL 在早期设
计中经常使用,用以完成全局时钟的同步和驱动等功能。随着数字时钟管理单元 (DCM)的
日益完善,目前 BUFGDLL 的应用已经逐渐被 DCM 所取代。
8. DCM 即数字时钟管理单元,主要完成时钟的同步、移相、分频、倍频和去抖动等 。
DCM 与全局时钟有着密不可分的联系,为了达到最小的延迟和抖动,几乎所有的 DCM 应
用都要使用全局缓冲资源。DCM 可以用 Xilinx ISE 软件中的 Architecture Wizard 直接生成。
全局时钟资源的使用方法 全局时钟资源的使用方法(五种)
评论0