BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用
本例是在FMC9361收发回环测试中应用到的,显示IBUFDS差分时钟信号转为单端时钟信号,用了高性能模式,输出单端时钟信号data_clk_s1,紧跟着又经过了一个BUFG模块,用于全局缓冲,降低时钟信号的抖动;
目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 FPGA 全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM(Block Select RAM)的时延和抖动都为最小。为了适应复杂设计的需要,Xilinx的FPGA中集成的专用时钟资源与数字延迟锁相环(DLL)的数目不断增加,最新的 Virtex II器件最多可以提供16个全局时钟输入端口和8个数字时钟管理模块(DCM)。
示例
IBUFDS #(
.DIFF_TERM("TRUE"), // Differential Termination
.IBUF_LOW_PWR("FALSE"), // Low power="TRUE", Highest performance="FALSE"
.IOSTANDARD("DEFAULT") // Specify the input I/O standard
) IBUFDS_inst (
.O(data_clk_s1), // Buffer output
.I(rf1_rx_clk_in_p), // Diff_p buffer input (connect directly to top-level port)
.IB(rf1_rx_clk_in_n) // Diff_n buffer input (connect directly to top-level port)
);
BUFG BUFG1(.I(data_clk_s1),.O(data_clk1));
一、与全局时钟资源相关的Xilinx器件原语
常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE