1、平时用得最多的还是IBUFG+DCM(PLL)+BUFG方案,如下图所示。将时钟管脚输入的时钟作为IBUFG的输入,然后将IBUFG的输出作为DCM(PLL)的输入,将经DCM(PLL)频率变换后的输出再作为BUFG的输入这种方案使用方法最为灵活,对全局时钟的控制更加有效。通过DCM(PLL)模块不仅能对时钟进行同步、移相、分频、倍频等变换,而且可以使全局时钟的输出达到无抖动延迟(“0”skew)。
2、从BUFG输出的时钟,是不能直接连接普通I/O管脚输出的,会报错,若要将全局时钟输出,有两种方法:一是直接将BUFG的输入连接普通I/O管脚输出,或者将BUFG的输出经由ODDR2后再连接I/O管脚输出。需要注意的是,将CLOCK_DEDICATED_ROUTE属性设为FALSE虽然会将ERROR降为WARNING,但是这样时钟系统将不再是全局时钟系统,不建议这样做。
in signal->ibufg->DCM(PLL)->(输出片外时钟)->bufg->内部时钟信号