能耗給設(shè)計帶來的限制可能比任何一個其他因素都來的多。隨著一個新的概念的不斷發(fā)展,平衡新功能和能耗效率成為一個首要問題。
以此對大部分的功能做出限制是不可能的,所以能耗的管理就成為一個設(shè)計成功關(guān)鍵因素。
控制,并降低電子設(shè)計的能耗將使整個產(chǎn)品的開發(fā)流程受益。這樣可以將一個不合適的產(chǎn)品改進以適應(yīng)市場,但是這也需要在成本和制造上做出變化。舉例來說,一個低能耗的設(shè)計使用更小的電源,更少的元件,和一個更小的外殼。這樣可以減低設(shè)計的復(fù)雜程度,并最終降低產(chǎn)品的成本。
在此之外,一個擁有低能耗的設(shè)計會有一個更簡單和低成本的熱解決方案。減少熱源,通過空氣流動的來降低溫度都對產(chǎn)品有很多的好處。對產(chǎn)品工作溫度的有效控制也對產(chǎn)品的耐用性有很大的貢獻。產(chǎn)品的工作溫度直接影響性能和產(chǎn)品壽命,所以電源管理對于高性能產(chǎn)品來說就很重要。但是這一切只有在原型機的階段才能實現(xiàn)。
讓電子產(chǎn)品的設(shè)計符合電源要求需要各個方面配合。系統(tǒng)工程師,軟件工程師,嵌入式工程師,和板級布線工程師都需要通盤考慮來達到目前對電源的要求。新技術(shù)和流程給工程師帶來了新的挑戰(zhàn),而我們也要因此而做出改變。
新的困境
當(dāng)產(chǎn)品尺寸在不斷縮小,便攜式產(chǎn)品到處都是的時候,電源管理就成為一個新的老問題。薄型電源電池,小尺寸外殼的復(fù)雜性,和對高性能的需求都對電源管理來說是一個很大的挑戰(zhàn)。
而類似FPGA的可編程器件的加入則更增加了管理的復(fù)雜性。可編程器件正在重新定電源的能耗。和可以預(yù)測的傳統(tǒng)的設(shè)備能耗相比,F(xiàn)PGA的能耗不能僅僅從簡單的數(shù)據(jù)來推測。FPGA的能耗和內(nèi)部的程序的尺寸和種類有很大的關(guān)系。
在嵌入式FPGA設(shè)備理管理電源的難度和設(shè)備本身一樣的復(fù)雜。因為FPGA的能耗很大程度上取決于內(nèi)部的程序,能耗僅可被可以計算嵌入式自身能耗的工具來預(yù)測?;蛘呔褪堑鹊皆蜋C的階段,通過真實的電源消耗來計算,以此來修改設(shè)計以達到性能和能耗的平衡。但是這樣的延遲計算使得傳統(tǒng)的設(shè)計流程無法支持目前的需求。
不管怎樣,F(xiàn)PGA提供許多了靈活的設(shè)計方式,并在性能上和ASIC拉近了差距,對現(xiàn)代的很多產(chǎn)品設(shè)計是很有吸引力的。但是能耗的不確定性和分析仍然是一個大問題。拉近看一下影響FPGA設(shè)備能耗的原因可以解釋管理的復(fù)雜程度和預(yù)測的難度。
FPGA電源分析
當(dāng)FPGA設(shè)備在打開時候的電流消耗高峰以及當(dāng)FPGA設(shè)備從休眠模式被喚醒以后會產(chǎn)生一個明顯的波動。這需要在設(shè)計中被考慮到,并且和低功耗模式一起的本很好的平衡。當(dāng)模式被改變或者設(shè)備被關(guān)閉的時候,設(shè)備會被重新編程以適應(yīng)恢復(fù)運行時所產(chǎn)生的能耗高峰。
增加控制功能以讓所有的嵌入式硬件關(guān)閉固然可以節(jié)約大量的能耗,但是在實際應(yīng)用中這樣的節(jié)約需要用電源分析工具來進行預(yù)測。
到目前位置,F(xiàn)PGA能耗控制中最大的變數(shù)是動態(tài)電源,也就是來自實時操作的影響。
從時鐘信號到I/O輸出,動態(tài)電源受到FPGA可編程內(nèi)容的影響。而可編程內(nèi)容則在產(chǎn)品的開發(fā)過程中不斷的在變化。當(dāng)設(shè)備CMOS組的電容根據(jù)邏輯層面的變化而被充電時,能量就被消耗了
從設(shè)計角度來將動態(tài)電源消耗是一個包含頻率,電容和電壓的整體,降低時鐘頻率和電壓將會提高能耗效率。采用多處理器,并行低能耗處理,系列數(shù)據(jù)通道,適應(yīng)性時鐘頻率都將降低能耗。動態(tài)能耗配置的目的是為了創(chuàng)建優(yōu)化的電源模式,F(xiàn)PGA將被自動的重新編程以達到最佳的能耗狀態(tài)。但是,需要由能耗預(yù)測工具來證實添加這樣的復(fù)雜性是值得的。
相對來說,F(xiàn)PGA靜態(tài)能耗是比較穩(wěn)定和容易被預(yù)測的。但是當(dāng)工藝流程到了90nm的程度,另一個最大的障礙出現(xiàn)了。CMOS的尺寸縮小,和通道的縮短和更細的門導(dǎo)致電流容易溢出。FPGA的靜態(tài)能耗就隨著工藝流程的進步而逐漸增大,但是也會因為使用低電壓而相對減少。這對未來FPGA的設(shè)計是一個挑戰(zhàn),尤其是當(dāng)設(shè)計師希望在便攜式設(shè)備中越來越多的使用FPGA的時候會變得更明顯。
FPGA內(nèi)部主要能耗單位的關(guān)系是復(fù)雜而互相影響的。例如,時鐘頻率的提高造成動態(tài)電源能耗的增加,會導(dǎo)致設(shè)備溫度的上升,最終會引起管腳的溢出和更高靜態(tài)能耗。這不像熱力逃逸,但是會成為FPGA能耗預(yù)測問題的一個不可避免的因素。
可用工具
管理嵌入式FPGA的能耗就像管理設(shè)備一樣的特別。因為FPGA的能耗大部分有可編程的內(nèi)容所決定,能耗的數(shù)值需要由嵌入式設(shè)計本身來完成。
為了配合這樣的流程,F(xiàn)PGA設(shè)備的廠商會提供含有能耗預(yù)測的開發(fā)工具。這些工具將FPGA的許多參數(shù)和利用設(shè)計來分析并預(yù)測大致的能耗,并且還在不斷的改進中。在分析的早期,工程師需要輸入基本的信息例如時鐘頻率和功能模塊的數(shù)量等。更多的分析結(jié)果可以根據(jù)用戶的設(shè)計細節(jié)來推測。
這樣的方法僅可以提供一個關(guān)于嵌入式設(shè)備能耗的一些節(jié)本訊息,但是當(dāng)設(shè)計被修改后,整個流程需要被重新運行。因為目前不支持不同廠商的FPGA設(shè)備,評估能耗效率的流程并不是那么容易,而且也不能真實的優(yōu)化FPGA能耗來達到產(chǎn)品設(shè)計的要求。
目前管理FPGA電源的方式就像一個預(yù)測,然后被原型階段的測試所確認。為了解決能耗問題改變FPGA種類的方式并不可取,因為這樣的風(fēng)險太大了。重新工程設(shè)計所需要的時間會導(dǎo)致設(shè)計計劃的延誤,因為這已經(jīng)是一個硬件改變的案例了。
如果用戶在很大程度上依賴目前的工具來計算能耗,硬件和嵌入式的設(shè)計就必須在設(shè)計開始的時候就進行定義。在開發(fā)過程中進行調(diào)整的機會并不多。任何潛在的問題都最好被研究并利用FPGA電源管理工具進行處理。
實時的電源分析和優(yōu)化
在不影響產(chǎn)品設(shè)計的前提下,使能耗設(shè)計達到電源的要求需要電源分析工具和應(yīng)用其他一切可能的方法。需要在開發(fā)過程中提供很多的信息,使得在原型階段之前就完成最主要的產(chǎn)品設(shè)計。
從最終產(chǎn)品的角度來看,F(xiàn)PGA的能耗就只是問題的一部分了。電源分析和測試需要擴展到外設(shè)電路和支持設(shè)備,以達到能耗優(yōu)化的目的。
一種實時的方法可以讓FPGA設(shè)計達到設(shè)計的要求并完成優(yōu)化工作。在開始的時候,設(shè)想FPGA開發(fā)板擁有通過一系列的感應(yīng)器實時進行電源監(jiān)控的能力,并將獲得的數(shù)據(jù)反饋會設(shè)計軟件。
電源監(jiān)視可以集成到開發(fā)板的一個集成界面中去。FPGA和所有連接的外設(shè)板的讀數(shù)可以被顯示出來。
這樣,電源的實時情況就可以被監(jiān)視,圖表化并被記錄。因為節(jié)點模式包括重新編程產(chǎn)生的高峰所產(chǎn)生的能耗可以被精確估計,嵌入式硬件和軟件的功能就可以被廣泛的開發(fā)了。關(guān)于能耗的預(yù)測則進入了量化的階段。
下一步就是讓最終產(chǎn)品和開發(fā)板以及設(shè)計軟件進行整合。這樣的整合需要開發(fā)板具有可插拔和很容易交換的FPGA卡板,而且每一個變化的數(shù)據(jù)都會回復(fù)到設(shè)計軟件。設(shè)計軟件可以根據(jù)一系列的系統(tǒng)驅(qū)動來支持很多不同的FPGA設(shè)備,用預(yù)先驗證的IP組合來支持所有它們。
如果設(shè)計軟件還包括嵌入式設(shè)計的高度抽象捕捉功能,例如原理圖或者圖形流程的界面,就可以讓和嵌入式的互動變得更為容易。嵌入式設(shè)計可以被容易的完成或者被修改,當(dāng)FPGA設(shè)計被改變后電源能耗的變化可以被高級開發(fā)板即時的記錄。
該開發(fā)板還可以涵蓋擁有“智能電源探測器”的子板,記錄所有的硬件實施,以便從功能和電源有效性的角度進行分析。
更進一步來說,如果目標(biāo)產(chǎn)品就是開發(fā)板,從開發(fā)到原型的時間就會大幅的縮短,對于能耗分析預(yù)測工具的要求也就不是那么多了。這樣,設(shè)計的開發(fā)板就可以代替原型,并且在產(chǎn)品開發(fā)的過程中精確的執(zhí)行能耗控制。
這樣的方法可以讓用戶有效的開發(fā)最終產(chǎn)品,并可以應(yīng)用在適合的即買即用或?qū)iT定制的板子上。這樣的系統(tǒng)不再需要依靠傳統(tǒng)的能耗預(yù)測工具提供精確的數(shù)值,相反可以讓用戶可以很方便的在不同的FPGA設(shè)備上遷移自己的設(shè)計,并將嵌入式的功能發(fā)揮出來。
為未來做準備
H在目前的設(shè)計理激發(fā)FPGA的所有特性,特別是在那些電池供電的設(shè)備中,意味著對FPGA電源控制的完全理解和控制。
FPGA廠商為了迎合市場對低功耗的需求,推出了基于flash的非波動設(shè)備,和有效能耗架構(gòu)和高級節(jié)電模式。但是不管怎么樣,基于FPGA的設(shè)計總會在能耗的有效性和功能之間有所取舍。所以選擇一個合適的工具來平衡這樣的取舍就顯得至關(guān)重要。
為了今天和明天的設(shè)計,關(guān)鍵是要解決如何有效的通過快速的原型建立來解決能耗有效性的平衡問題。用戶不能僅僅依靠能耗的預(yù)測工具,而要引入先進的設(shè)計系統(tǒng)和在硬件上進行實時的開發(fā)。這樣工程師就可以充分的探索創(chuàng)新的設(shè)計來最大限度的激發(fā)FPGA的所有特性,并用于開發(fā)新一代的節(jié)能產(chǎn)品。
評論