為FPGA應用設計良好的電源管理解決方案並非簡單的任務,而目前已經有許多相關的技術討論。本文一方面旨在找到正確解決方案,並選擇最合適的電源管理產品,另一方面則是提出如何最佳化實際解決方案,以用於FPGA之相關建議。

找到合適的電源解決方案

尋找為FPGA供電的最佳解決方案並不簡單。許多供應商以適合為FPGA供電的名義推銷某些產品,為FPGA供電的DC-DC轉換器選擇有何特定要求?其實並不多。一般而言,所有電源轉換器都可用來為FPGA供電。推薦某些產品通常是基於以下事實:許多FPGA應用需要多個電壓軌,例如用於FPGA核心和I/O,還可能需要額外的電壓軌來用於DDR記憶體。將多個DC-DC轉換器全部整合到單個穩壓器晶片中的電源管理IC(PMIC)常常是其首選。

一種為特定FPGA尋找優秀供電解決方案的流行方法,是使用許多FPGA供應商均提供的已有電源管理參考設計。這對於最佳化設計來說是一個很好的入門方式,但此類設計往往需要修改,因為FPGA系統通常需要額外的電壓軌和負載,這些也需要供電,且在參考設計上增加一些東西常常也是必要的。還有一件事需要考慮,那就是FPGA的輸入電源不是固定的,輸入電壓在很大程度上取決於實際的邏輯位準,以及FPGA所實現的設計。完成對電源管理參考設計的修改之後,它看起來將與最初的參考設計不同。可能有人會宣稱,最好的解決方案是根本不用電源管理參考設計,而是直接將所需的電壓軌和電流輸入到電源管理選型與最佳化工具中,例如ADI的LTpowerCAD等。

20181121TA31P1 圖1 透過 LTpowerCAD工具選擇合適的DC-DC轉換器為FPGA供電。

LTpowerCAD可用來為各個電壓軌提供電源解決方案。它還提供一系列參考設計,以讓設計人員快速入門,且該工具可以免費下載。一旦選擇了電源架構和各個電壓轉換器,就需要選擇合適的被動元件來設計電源。進行這件事時,需要牢記FPGA的特殊負載要求,它們分別是:

˙各項電流需求

˙電壓軌時序控制

˙電壓軌單調上升

˙快速電源瞬變

˙電壓精準度

各項電流需求

FPGA的實際電流消耗在很大程度上取決於使用情況。不同的時脈和不同的FPGA內容需要不同的功率,因此,在FPGA系統的設計過程中,典型FPGA設計的最終電源規格必然會發生變化。FPGA製造商提供的功率估算工具有助於計算解決方案所需的功率等級,在構建實際硬體之前,獲得這些資訊會非常有用。但是,為了利用此類功率估算工具獲得有意義的結果,FPGA的設計必須最終確定,或者至少接近最終完成。

在一般的情況下,工程師設計電源時考慮的是最大FPGA電流。如果最終發現實際FPGA設計需要的功率更少,設計人員就會縮減電源。

電壓軌時序控制

許多FPGA要求不同電源電壓軌以特定順序上電。核心電壓的供應往往需要早於I/O電壓的供應,否則一些FPGA會被損壞。為了避免這種情況,電源需要按正確的順序上電。使用標準DC-DC轉換器上的致能接腳,可以輕鬆實現簡單的上電時序控制。然而,元件關斷通常也需要時序控制,僅執行致能接腳時序控制,很難取得良好的結果。更好的解決辦法是使用具有進階整合時序控制功能的PMIC,例如ADP5014,圖2中以紅色表示的特殊電路模組支援調整上電和關斷時序。

20181121TA31P2 圖2 PMIC整合了對靈活控制上電/關斷時序的支援。

圖3顯示了利用此元件實現的時序控制。透過PMIC上的延遲(DL)接腳可以輕鬆調整上電和關斷時序的時間延遲。

20181121TA31P3 圖3 多個FPGA電源電壓的啟動和關斷順序。

如果使用多個單獨的電源,增加時序控制晶片便可實現所需的上電/關斷順序。一個例子是LTC2924,它既能控制DC-DC轉換器的致能接腳來打開和關閉電源,也能驅動高階N通道MOSFET來將FPGA與某個電壓軌連接和斷開。

電壓軌單調上升

除了電壓時序之外,啟動過程中還可能要求電壓單調上升,這意味著電壓僅線性上升,如圖4中的電壓A所示,此圖中的電壓B是電壓非單調上升的例子。在啟動過程中,當電壓上升到一定電平時負載開始拉大電流,就會發生這種情況,防止這種情況的一種辦法,是延長電源的軟啟動時間,並選擇能夠快速提供大量電流的電源轉換器。

20181121TA31P4 圖4 電壓A單調上升,電壓B非單調上升。

快速電源瞬變

FPGA的另一個特點是它會非常迅速地開始汲取大量電流,這會在電源上造成很高的負載瞬變。出於這個原因,許多FPGA需要大量的輸入電壓去耦,陶瓷電容非常靠近地用在元件的VCORE和GND接腳之間,高達1mF的值非常常見。如此高電容有助於降低對電源提供非常高峰值電流的需求,但是,許多開關穩壓器和LDO規定了最大輸出電容,FPGA的輸入電容要求可能超過電源允許的最大輸出電容。

電源不喜歡非常大的輸出電容,因為在啟動期間,開關穩壓器的輸出電容看來像短路。對此問題有一個解決辦法,較長的軟啟動時間可以讓大電容組上的電壓穩定地升高,電源不會進入短路限流模式。

20181121TA31P5 圖5 很多FPGA的輸入電容要求。

一些電源轉換器不喜歡過大輸出電容的另一個原因是該電容值會成為調節迴路的一部分。整合迴路補償的轉換器不允許輸出電容過大,以防止穩壓器的環路不穩定,在高階回饋電阻上使用前饋電容常常可以影響控制迴路,如圖6所示。

針對電源的負載瞬變和啟動行為,開發工具鏈(包括LTpowerCAD,尤其是LTspice)非常有幫助。該工具可以達到良好的建模和模擬,從而有效實現FPGA的大輸入電容與電源的輸出電容的去耦,圖6即展示了這一個概念。雖然負載端(POL)電源的位置往往靠近負載,但在電源和FPGA輸入電容之間常常存在一些PCB佈線。當電路板上有多個彼此相鄰的FPGA輸入電容時,離電源最遠的那些電容對電源傳遞函數的影響較小,因為它們之間不僅存在一些電阻,還存在寄生佈線電感。這些寄生電感允許FPGA的輸入電容大於電源輸出電容的最大限值,即使所有電容都連接到電路板上的同一節點也無妨。在LTspice中,可以將寄生佈線電感添加到原理圖中,並且可以模擬這些影響,當電路建模中包含足夠的寄生元件時,模擬結果接近實際結果。

20181121TA31P6 圖6 當沒有迴路補償接腳可用時,利用前饋電容可以調節控制迴路。

電壓精準度

FPGA電源的電壓精準度通常要求非常高,3%的變化容差帶相當常見。例如,為使0.85V的Stratix V核心電壓軌保持在3%的電壓精準度視窗內,要求全部容差帶僅為25.5mV,這個小視窗包括負載瞬變後的電壓變化,以及直流精準度。同樣,對於此類嚴格要求,包括LTpowerCAD和LTspice在內的可用電源工具鏈在電源設計過程中非常重要。

20181121TA31P7 圖7 電源輸出電容與FPGA輸入電容之間的寄生去耦。

最後一點建議,是關於FPGA輸入電容的選擇。為了快速提供大電流,通常選擇陶瓷電容。此類電容很適合這種用途,但需要小心選擇,使其真實電容值不隨直流偏置電壓而下降。一些陶瓷電容,尤其是Y5U型,當直流偏置電壓接近其最大額定直流電壓時,其真實電容值會降低到只有標稱值的20%。