當今復(fù)雜的 FPGA 含有眾多用于實現(xiàn)各種電路與系統(tǒng)的功能塊,諸如邏輯陣列、存儲器、DSP 模塊、處理器、用于時序生成的鎖相環(huán) (PLL) 和延遲鎖定環(huán) (DLL)、標準 I/O、高速數(shù)字收發(fā)器以及并行接口(PCI、DDR 等)。這些不同的功能塊通常由多個時鐘驅(qū)動,FPGA 一般會綜合采用外部振蕩器以及內(nèi)部 PLL 與 DLL來生成時鐘。系統(tǒng)設(shè)計人員必須決定如何綜合使用外部與內(nèi)部資源來實現(xiàn)最佳的時鐘樹設(shè)計。而可編程時鐘振蕩器用作 FPGA 系統(tǒng)的時序參考,可提供一系列優(yōu)勢。其中首要優(yōu)勢是為了實現(xiàn)時鐘樹優(yōu)化而進行高分辨率頻率選擇時所帶來的設(shè)計靈活性。另一個巨大優(yōu)勢是具有可以減少電磁干擾 (EMI) 的擴頻調(diào)制功能。
內(nèi)在可編程的硅 MEMS 時鐘振蕩器架構(gòu)能夠幫助采用 FPGA 的系統(tǒng)設(shè)計人員解決許多難題。這種微型機電系統(tǒng)架構(gòu)能夠輕松整合一些其它功能,如:用于消減 EMI 的擴頻時鐘、用于消除抖動的數(shù)控振蕩器以及高速應(yīng)用中的失效保護功能。
頻率選擇
一般系統(tǒng)需要一系列時鐘頻率。其中一些是標準頻率,這種標準化可能是出于對行業(yè)規(guī)范強制要求的考慮(如:PCI Express要求的 100MHz 頻率),也可能是由于得到了廣泛的應(yīng)用(如:用于 SATA 的 75 MHz 或用于 PCITM 的 33.333 MHz)。上述頻率與 I/O 接口關(guān)聯(lián)在一起,以確保實現(xiàn)互操作性,因為接口兩側(cè)可能不屬于同一系統(tǒng)。與此相對,用戶可選擇用于驅(qū)動處理器、DSP和狀態(tài)機引擎的時鐘頻率,以優(yōu)化速度、功率或資源占用。
在進行速度優(yōu)化時, 應(yīng)以最高時鐘頻率來驅(qū)動處理引擎,以使每秒運算次數(shù)達到最高。但是,時鐘周期抖動必須足夠低,以確保最小時鐘周期大于設(shè)計的臨界時序路徑,否則有可能出現(xiàn)邏輯錯誤。頻率選擇的常用方法是采用內(nèi)部 FPGA PLL 對來自標準外部參考振蕩器的高頻時鐘進行綜合。此方法只有在內(nèi)部 PLL 具有高頻分辨率和低抖動時才有效。
某些 FPGA 集成了內(nèi)部低噪聲分數(shù)PLL,可滿足所有這些要求。在這種情況下,可以采用簡單的外部振蕩器參考。不過,許多情況下 FPGA 會采用帶有環(huán)形 VCO 和整數(shù)反饋分頻器的 PLL 來綜合不同頻率。這種 PLL 小巧靈活,比較容易設(shè)計和控制,而且功耗極低。不過,使用此類內(nèi)部 PLL 時很難同時實現(xiàn)高分辨率與低抖動。
圖 1 為整數(shù) PLL 的一般架構(gòu)。對PLL 輸出頻率的編程需綜合采用預(yù)分頻器 (P)、反饋分頻器 (M) 和后分頻器 (N)來完成,如下式所示:
PLL 反饋環(huán)路形成一個限帶控制系統(tǒng)。輸出周期抖動主要取決于參考時鐘相位噪聲 (PNin ) 和內(nèi)部 VCO 相位噪聲(PNVCO),如下式所示:
輸入?yún)⒖紩r鐘相位噪聲和 VCO 相位噪聲與輸出相位噪聲息息相關(guān),分別通過低通濾波器和高通濾波器響應(yīng)來體現(xiàn),如表達式中的 Hin 和 HVCO。HVCO 與 Hin 的截止頻率直接相關(guān)。圖 2 說明了典型二階 PLL 中 Hin 與 HVCO 的相互關(guān)系。最高 PLL 帶寬取決于相位檢測器的更新速率。大部分實際 PLL 的最高實際帶寬極限如下式所示:
例如,如果 PLL 輸入頻率是 40MHz并且 P=40,則最高實際 PLL 帶寬是100kHz。