PLL和DLL:都是鎖相環,區別在哪里?
一般在altera公司的產品上出現PLL的多,而xilinux公司的產品則更多的是DLL,開始本人也以為是兩個公司的不同說法而已,后來在論壇上見到有人在問兩者的不同,細看下,原來真是兩個不一樣的家伙。DLL是基于數字抽樣方式,在輸入時鐘和反饋時鐘之間插入延遲,使輸入時鐘和反饋時鐘的上升沿一致來實現的。又稱數字鎖相環。
PLL使用了電壓控制延遲,用VCO來實現和DLL中類試的延遲功能。又稱模擬鎖相環。功能上都可以實現倍頻、分頻、占空比調整,但是PLL調節范圍更大,比如說:XILINX使用DLL,只能夠2、4倍頻;ALTERA的PLL可以實現的倍頻范圍就更大畢竟一個是模擬的、一個是數字的。兩者之間的對比:對于PLL,用的晶振存在不穩定性,而且會累加相位錯誤,而DLL在這點上做的好一些,抗噪聲的能力強些;但PLL在時鐘的綜合方面做得更好些。總的來說PLL的應用多,DLL則在jitter power precision等方面優于PLL。
目前大多數FPGA廠商都在FPGA內部集成了硬的DLL(Delay-Locked Loop)或者PLL(Phase-Locked Loop),用以完成時鐘的高精度、低抖動的倍頻、分頻、占空比調整移相等。目前高端FPGA產品集成的DLL和PLL資源越來越豐富,功能越來越復雜,精度越來越高(一般在ps的數量級)。Xilinx芯片主要集成的是DLL,而Altera芯片集成的是PLL。Xilinx芯片DLL的模塊名稱為CLKDLL,在高端FPGA中,CLKDLL的增強型模塊為DCM(Digital Clock Manager)。
Altera芯片的PLL模塊也分為增強型PLL(Enhanced PLL)和高速(Fast PLL)等。這些時鐘模塊的生成和配置方法一般分為兩種,一種是在HDL代碼和原理圖中直接實例化,另一種方法是在IP核生成器中配置相關參數,自動生成IP。Xilinx的IP核生成器叫Core Generator,另外在Xilinx ISE 5.x版本中通過Archetecture Wizard生成DCM模塊。Altera的IP核生成器叫做MegaWizard。另外可以通過在綜合、實現步驟的約束文件中編寫約束屬性完成時鐘模塊的約束。
評論