MMCM是混合模式時鍾管理器,它的官方解釋是:這是一個PLL,上面加上了DCM的一小部分以進行精細的相移(這就是它的混合模式的原因-PLL是模擬的,但是相移是數字的) 。
它是在PLL的基礎上加上了相位動態調整功能,因為PLL是模塊電路,而動態調相是數字電路,所以叫混合模式。MMCM是在Virtex-6中被約會的,而且Virtex-6中也只有MMCM
PLL輸出時鍾和輸入時鍾之間的相位關系是未知的,但MMCM是可以選擇對齊輸入輸出相位的。
同時PLL只有兩個輸出時鍾,而MMCM有6個。
在Xilinx的FPGA中,時鍾管理器稱為Clock Management,簡稱CMT。我們所用到的DCM / PLL / MMCM都包含在CMT中。
DCM是比較早的FPGA中使用的,某些Sparten-3和Virtex-4,后面的器件不再使用了。在Virtex-4中,CMT包括一個PLL和兩個DCM。DCM的核心是DLL,即延遲Locked Loop,它是一個數字模塊,可以產生不同相位的時鍾,分頻,倍頻,相位動態調整等,但精度有限。
PLL就是鎖相環,這個大家應該都熟悉,時鍾倍頻,分頻,調節相位等都是可以用PLL,而且PLL是一個模擬電路,它產生的頻率比DCM更加准備,jitter也更好,但PLL無法動態調整相位。
MMCM是混合模式時鍾管理器,它的官方解釋是:這是一個PLL,上面加上了DCM的一小部分以進行精細的相移(這就是它的混合模式的原因-PLL是模擬的,但是相移是數字的) 。它是在PLL的基礎上加上了相位動態調整功能,因為PLL是模塊電路,而動態調相是數字電路,所以叫混合模式。MMCM是在Virtex-6中被約會的,而且Virtex-6中也只有MMCM。
7s FPGA中,最高包含了24個CMT,每個CMT包含一個MMCM和一個PLL。Ultrascale中,一個CMT包含一個MMCM和兩個PLL。
MMCM相對PLL的優勢就是相位可動態調整,但PLL占用的面積更小。
http://xilinx.eetrend.com/blog/2019/100046618.html
參考輸入頻率:
MMCM最低10MHz,PLL最低要求70MHz!
參考:
Kintex UltraScale and Virtex UltraScale FPGAs Packaging and Pinouts Product Specification User Guide