Xilinx的FPGA中有两个底层单元DCM和PLL构成了时钟管理模块(CMT)。
DCM(Digit Clock Manager)基于DLL,但是它消除了零时钟偏移,消除时钟分配延迟。它由DFS,DPS,DSS,DLL四部分构成。
频率的大小改变通过改变CLKFX_MULTIPLAY和CLKFX_DIVIDE决定,输出频率=输入频率*CLKFX_MULTIPLAY除以CLKFX_DIVIDE。
相位偏移可由PHASE_SHIFT(PS)来确定,设置大小为-255~255。也可以使用将CLK2X的缓存改成CLK90,CLK180,CLK270即可。若要进行两个DCM的clk_in,那么需要添加缓冲器,还要自己例化一个IBUFG。
PLL是减少时钟震荡。
在使用FPGA的时候,统一使用Clock Wizard IP来实现。Creat New Source->IP->Finish->FPGA Feature and Design->Clocking->Clock Wizard就可以进行设置了。