鉅大LARGE | 點擊量:753次 | 2020年03月31日
FPGA電源的“護理和喂養(yǎng)”:成功的道與因
現(xiàn)代FPGA是有史以來最復(fù)雜的集成電路之一,它們采用最先進的晶體管技術(shù)和頂尖的架構(gòu),以實現(xiàn)令人難以置信的靈活性和最高的性能。隨著時間的推移和技術(shù)的進步,這種復(fù)雜性決定了,在用FPGA設(shè)計和實現(xiàn)系統(tǒng)時,需要做出某些妥協(xié)。這一點在電源中最為明顯,F(xiàn)PGA每次更新?lián)Q代,電源都要提高精度、靈活性、可控性、效率和故障感知能力,還要減小體積。
可能有些讀者會質(zhì)疑本文的標題,乍一看,說FPGA的護理和喂養(yǎng)(careandfeeding)似乎完全不合適。然而,對于這種反對意見的答案很簡單:英語是一個有趣的語言。雖然人們對于careandfeeding這一說法何時開始流行莫衷一是,但人們都知道,這個說法起源于簡單的農(nóng)業(yè)時代,目前已經(jīng)被人們普遍使用(濫用),指任何脆弱或不穩(wěn)定的東西。在本文中,這一說法可謂一針見血。雖然對于FPGA是否需要喂養(yǎng),人們充滿爭議,但我們可以肯定的是,F(xiàn)PGA的確需要護理!
FPGA電源要求(解讀數(shù)據(jù)手冊)
工程師應(yīng)該將大部分時間用于編程他們不希望花費時間和精力去考慮如何設(shè)計合適的電源。實際上,最佳供電方案就是采用一種既能滿足項目當前需求,又能達到項目升級發(fā)展需求的,強大、靈活且行之有效的設(shè)計方案。在此,我們將仔細考察一些重要的電源規(guī)格及其含義。
電壓精度
內(nèi)核電源電壓是平衡FPGA功耗和性能的、最重要的關(guān)鍵要素之一。規(guī)格文檔給出了一系列可接受的電壓,但總的電壓范圍并不是問題的全部。與所有事物一樣,需要進行權(quán)衡和優(yōu)化。
表1是當下流行的AlteraArria10FPGA的內(nèi)核電壓規(guī)格示例。雖然這些數(shù)字是Arria10特有的數(shù)據(jù),但它們代表了其他FPGA內(nèi)核電壓要求。電壓范圍為標稱電壓另加3.3%的容差。在此電壓窗口內(nèi),F(xiàn)PGA會正常運行,但問題的全貌要復(fù)雜得多。
表1.AlteraArria10內(nèi)核電壓規(guī)格
注意標有SmartVID的行,其電壓范圍為0.82V至0.93V。這表示,當FPGA通過SmartVID2接口(詳見后文)請求自身的內(nèi)核電壓時,F(xiàn)PGA可以接受的各種電壓。該SmartVID規(guī)格表明了有關(guān)FPGA的一個基本事實:FPGA可以在不同電壓下運行,具體取決于其特定的制造容差以及采用的特定邏輯設(shè)計。FPGA的靜態(tài)電壓可能各不相同。電源必須具備響應(yīng)和適應(yīng)能力。
設(shè)計目標是產(chǎn)生恰好能滿足編程功能需求的性能水平,不消耗不必要的功率。根據(jù)半導(dǎo)體的物理特性以及Altera、Xilinx(圖1)和其他公司公布的數(shù)據(jù)可知,動態(tài)和靜態(tài)功率會隨著內(nèi)核VDD的增加而顯著提高,因此我們的目標是確保,給FPGA提供的電壓剛好達到其時序要求即可。功耗過大無助于提高性能。實際上,功耗過多會使情況變得更糟,因為晶體管泄漏電流隨著溫度的升高而增加,從而消耗更多不必要的功率。由于這些原因,當務(wù)之急是優(yōu)化設(shè)計和工作點的電壓。
圖1.XilinxVirtexV功率與內(nèi)核VCC。
這種優(yōu)化過程需要非常精確的電源才能獲得成功。必須將調(diào)節(jié)器誤差納入誤差預(yù)算,并從可用于優(yōu)化的可用電壓范圍中減去。如果內(nèi)核電壓降至要求電壓以下,則FPGA可能因時序錯誤而發(fā)生故障。如果內(nèi)核電壓漂移至最大規(guī)格值以上,結(jié)果可能會損壞FPGA,或者可能會在邏輯中形成保持時間故障。為了防止所有這些情況,必須考慮電源容差范圍,并且指令電壓必須保持在規(guī)格限值以內(nèi)。
問題是大多數(shù)電源調(diào)節(jié)器都不夠準確。調(diào)節(jié)電壓可能是指令電壓容差范圍內(nèi)的任何電壓,可能隨負載條件、溫度和老化而漂移。保證2%容差的電源可以在4%的電壓窗口內(nèi)任意調(diào)節(jié)電壓。為了補償電壓可能比下限值低2%的問題,必須將指令電壓提高到比時序要求2%的水平。如果調(diào)節(jié)器然后漂移到比指令電壓高2%的水平,它將在比該工作點所需的最小電壓高4%的水平運行。這仍然符合FPGA的指定電壓要求,但卻浪費了大量功率(圖2)。
圖2.電源調(diào)節(jié)器容差權(quán)衡。
解決辦法是選擇能支持更嚴格的電壓容差的電源調(diào)節(jié)器。容差為0.5%的調(diào)節(jié)器可以在要求工作頻率下,在更接近最小規(guī)格要求的范圍內(nèi)工作,并且保證與所需電壓的偏離幅度小于1%。這種情況下,F(xiàn)PGA會正常工作,并且其功耗將達到該工作條件下的最低水平。
LTC388x系列電源控制器可在較寬的可配置電壓范圍內(nèi),保證調(diào)節(jié)輸出電壓容差優(yōu)于0.5%。LTC297x系列電源系統(tǒng)管理器可保證調(diào)整后的電壓調(diào)節(jié)器容差優(yōu)于0.25%。在這些精度條件下,對于FPGA,顯然都能使其功耗與性能之間達到最佳平衡。
熱管理
就電源精度而言,一個更微妙的意義體現(xiàn)在熱預(yù)算當中。由于靜態(tài)功耗遠遠沒有達到可以忽略不計的程度,因此FPGA即使在無所事事的情況下也會升溫。溫度升高會導(dǎo)致更多的靜態(tài)功耗,從而進一步提高工作溫度(圖3)。向電源添加不必要的電壓只會使該問題變得更加糟糕。不準確的電源需要工作電壓保護段,確保有足夠的電壓來完成此項工作。由容差、系統(tǒng)組件變化和工作溫度的變化引起的電源電壓不確定性可能產(chǎn)生明顯高于所需最小值的電壓。當施加到FPGA時,這種額外的電壓可能導(dǎo)致熱效應(yīng),甚至可能在高處理負載下導(dǎo)致熱失控。
圖3.電源電流與工作溫度的關(guān)系。
補救措施是選擇一種非常精確的電源,該電源僅產(chǎn)生恰當且不超過必要的電壓,這正是ADI電源系統(tǒng)管理(PSM)器件所擅長的。
SmartVID
SmartVID是Altera公司出品的一種技術(shù),該技術(shù)用于按照FPGA本身的要求,為每個FPGA提供最佳電壓。FPGA內(nèi)部有一個寄存器,其中包含一個因器件而異的電壓(已在出廠中編程),可保證FPGA高效運行。FPGA內(nèi)部編譯的一項IP功能可以讀取該寄存器,并通過外部總線向電源發(fā)出請求,要求提供這個精確的電壓(圖4)。一旦達到電壓要求,它就會在運行期間保持靜止。
圖4.AlteraSmartVID結(jié)構(gòu)。
SmartVID應(yīng)用對電源的要求包括特定的總線協(xié)議、電壓精度和速度。總線協(xié)議是FPGA用于將其所需電壓傳送到功率調(diào)節(jié)器的幾種方法之一。在可用的方法中,PMBus最為靈活,因為它可以滿足最廣泛的電源管理IC的需求。SmartVIDIP使用兩個PMBus指令:VOUT_MODE和VOUT_COMMAND,用于命令符合PMBus標準的功率調(diào)節(jié)器達到正確的電壓。
調(diào)節(jié)器的電壓精度和速度要求包括自主引導(dǎo)電壓(在PMBus激活之前),能每10毫秒接受一個新電壓指令,在電壓調(diào)整階段每10毫秒能步進10mV,并且能在10毫秒的步進時間內(nèi)穩(wěn)定在目標電壓30mV(~3%)范圍內(nèi),最終升至指令電壓并在FPGA工作期間保持靜止。
雖然Altera使用的是SmartVID技術(shù),但業(yè)界使用的其他類似技術(shù)也可以完成相同的任務(wù)。一種最簡單的方法是在工廠測試每塊電路板,并在電源的非易失性存儲器中編程一個精確的電壓,優(yōu)化該特定電路板的性能。使用該技術(shù)時,不需要進一步干預(yù),電源就能在正確的電壓下工作。這是搭載EEPROM的電源管理器或控制器的優(yōu)點之一。
LTC388x系列電源控制器可滿足AlteraSmartVID的所有要求。此外,LTM4675/LTM4676/LTM4677Module調(diào)節(jié)器可以輕松滿足這些要求,而且通過單一緊湊的形式提供了完整的解決方案。
時序收斂
任何邏輯模塊的計算速度均取決于其電源電壓。在限值范圍內(nèi),電壓越高,性能越快。我們已經(jīng)看到,為什么不能采用簡單的辦法,即在最高電壓下運行,保證獲得最佳速度。另一方面,我們必須使工作電壓足夠高,能滿足應(yīng)用需求,如圖5所示。
圖5.FPGA工作頻率與VDD之間的平衡關(guān)系。
圖5的一個重要啟示是,當特定設(shè)計達不到其邏輯時序要求并處于故障區(qū)域時可以采取哪些措施。通常,在將設(shè)計轉(zhuǎn)化成硬件之前,很難準確定義正常工作與故障之間的界限,也無法預(yù)先確定它將在哪個特定電壓下超過時序要求。唯一的選擇是提前確定一個遠高于最小值的電壓,以浪費功率為代價來保證功能;或者設(shè)計一種靈活的電源,以在測試時適應(yīng)硬件需求,甚至在采用SmartVID技術(shù)的情況下,能在加電時適應(yīng)硬件需求。適應(yīng)未知需求的能力使得ADIPSM器件的精度更具價值,因為FPGA設(shè)計師可以在實際設(shè)計階段和任何開發(fā)階段在功耗與性能之間進行權(quán)衡。
上一篇:如何選擇鐵氧體電感的封裝尺寸?
下一篇:解析超級電容的工作原理有哪些?