FPGA設計中功耗的分析與仿真
FPGA的應用越來越廣泛,隨著制造工藝水平的不斷提升,越來越高的器件密度以及性能使得功耗因數(shù)在FPGA設計中越來越重要。器件中元件模塊的種類和數(shù)量對FPGA設計中功耗的動態(tài)范圍影響較大,對FPGA的電源功耗進行了分析,并介紹了如何利用Altera公司的PowerPlay Early Power Estimator這一工具在設計前期盡可能準確地估計功耗并通過估計功耗對硬件設計進行優(yōu)化選擇。
本文引用地址:http://butianyuan.cn/article/201610/308375.htm0 引 言
當前FPGA應用越來越廣泛,在高性能FPGA設計中,越來越高的器件密度以及性能使得功耗因數(shù)更加重要。大規(guī)模器件在實現(xiàn)更多的系統(tǒng)功能,以更高的速度運行并完成更高級的功能的同時,功耗必然會更大。開發(fā)者在面對此類設計時會在功耗方面遇到很多挑戰(zhàn)。對通過芯片重新編程就能夠修改的FPGA設計,在設計過程中盡早完成電源供電和散熱方案的設計有利于加速整個系統(tǒng)的實現(xiàn)。設計中系統(tǒng)組件應保持在一定的功耗預算范圍內,如果超出預算則需要重新設計供電電源及散熱方案,這會延長設計周期。同時較大的電源和散熱硬件會增加成本,降低功耗也就降低了系統(tǒng)總成本。并且當設計中需要的風扇和散熱硬件越多,系統(tǒng)故障的概率就越大,這將影響系統(tǒng)的可靠性。綜上所述,做好早期功率估算具有重大意義。
1 FPGA器件功耗分析
當前,隨著FPGA器件的封裝尺寸越來越小,密度越來越大,同時系統(tǒng)對器件的性能和可靠性要求不斷提高,功耗預算對電源方案,散熱方案及系統(tǒng)故障影響的問題已不容忽視。
1.1 功耗的組成
功耗一般由兩部分組成:靜態(tài)功耗和動態(tài)功耗。靜態(tài)功耗也稱為待機功耗,是指邏輯門沒有開關活動時的功率消耗,主要是由晶體管的漏電流引起,由源極到漏極的漏電流以及柵極到襯底的漏電流組成,圖1中靜態(tài)部分顯示了器件的靜態(tài)功耗。圖中最后階段顯示的是器件正常工作時的功耗,工作功耗同時包括靜態(tài)功耗,I/O以及動態(tài)功耗。動態(tài)功耗是指邏輯門開關活動時的功率消耗,主要由電容充放電引起,其主要的影響參數(shù)是電壓、節(jié)點電容、工作頻率和資源使用情況,不同設計時期的動態(tài)功耗和相應的總功耗會有很大的差別。在傳統(tǒng)器件中動態(tài)功耗占據主要地位,但在新的28 nm工藝的器件中,靜態(tài)功耗的比重增長很大,基本和動態(tài)功耗處于同等地位。同時根據FPGA設計面向對象的不同,功耗的比重也會有差別。當設計面向算法時,動態(tài)功耗將占較多比重,當設計面向控制功能時,靜態(tài)功耗將占較多的比重。
圖1 器件功耗監(jiān)測圖
1.2 靜態(tài)功耗
靜態(tài)功耗的產生主要取決于所選的FPGA產品,一般不會隨著設計資源的使用情況而變化,但是靜態(tài)功耗也會受到器件所選擇的工作模式、I/O的使用、工作溫度以及所選器件電源的影響。使用邏輯單元較多的器件含有較多的晶體管,因此其靜態(tài)功耗會高一些,所以設計者應查看所選器件的數(shù)據資料,詳細了解其靜態(tài)功耗。在不同溫度環(huán)境中,靜態(tài)功耗也會隨著溫度的升高而增大,此時高效的散熱解決方案能有效地解決這一問題。因此在設計電源時,應針對選擇的器件和工作環(huán)境,選擇適合的靜態(tài)功耗規(guī)范。
1.3 動態(tài)功耗
不同的設計有不同的動態(tài)功耗,當開發(fā)低功耗FPGA設計時,動態(tài)功耗是更可控的功耗分量,如下式:
影響動態(tài)功耗的因素包括:器件中晶體管電容充電,工作電壓,晶體管開關的瞬間短路電流功耗,設計的工作頻率,以及被稱為電路活動的每一時鐘周期觸發(fā)器開關的次數(shù)。設計人員根據設計要求決定工作電壓,工作頻率以及信號活動。信號活動包括觸發(fā)率和靜態(tài)概率。信號觸發(fā)率是精確估算動態(tài)功耗的關鍵因素,隨著觸發(fā)率的增加,動態(tài)功耗也線性增大。而靜態(tài)概率主要影響靜態(tài)功耗。
1.4 低功耗的優(yōu)點
低功耗器件的優(yōu)點主要有以下幾項:首先可以選用低成本的電源系統(tǒng),進而可以使用更少的元件和更小的PCB板面積,為設計節(jié)約了成本。其次低功耗器件引起的結溫更小,因此可以防止熱失控,可以少用或不用散熱器,而且結溫的降低可以提高系統(tǒng)的可靠性。最后低功耗可以延長器件的使用壽命,器件的工作溫度每降低10 ℃,使用壽命延長1倍。因此,在FPGA設計中,降低功耗直接提高了整個系統(tǒng)的性能和質量并降低了成本,對系統(tǒng)的開發(fā)有積極作用。
通過對FPGA功耗的相關組成和影響功耗相關因素的分析,設計者通過優(yōu)化設計,可以在FPGA設計中實現(xiàn)低功耗。通過一款具體的FPGA產品了解其低功耗的解決方式,可以為設計者提供指導。FPGA均可在相應的操作環(huán)境下進行仿真,從而了解功耗的具體使用情況,針對相應的情況進行修改。
2 對功耗進行仿真建模
設計的早期,盡可能快地估算系統(tǒng)功耗使用情況,有助于開發(fā)人員加快產品設計進度,方便快捷精確的功耗估算工具是開發(fā)人員最好的助手。Altera公司推出了PowerPlay Early Power Estimator(EPE)這一小巧實用的工具,在基于表格的頁面分析環(huán)境中對功耗分析進行仿真建模,用EPE報告的信息可以選擇電源供電的設計,滿足設計要求。
2.1 EPE的用戶界面
EPE的主工作表如圖2所示,表中給出了當前設計的功耗概覽,列舉了器件基本信息、總功耗、熱分析和電源大小等信息。同時底部顯示了包括Logic標簽、RAM標簽、I/O標簽、DSP標簽、PLL標簽、Report標簽等。
圖2 EPE主工作表
2.2 EPE的使用方法
EPE的使用方法非常方便,設計人員在各個頁面輸入相應的器件的基本信息(包括器件型號、內核電壓、環(huán)境溫度、散熱解決方案特性等)、資源利用率、觸發(fā)率、時鐘頻率等信息。然后點擊View Report或Report標簽就可以查看功耗估算結果報告,報告會給出器件的散熱分析,每一類器件資源的功耗使用情況,以及每一電源的功耗使用情況等,便于設計人員設計相應的電源模塊。在主工作表底部選擇相應的資源標簽可以轉到相應資源區(qū)域的詳細信息,可以對設計中每一模塊的資源使用情況進行統(tǒng)計分析。EPE估計功耗使用情況的準確性依賴于設計者提供的參數(shù)信息,例如準確的觸發(fā)率、時鐘頻率、含有信號活動信息的仿真建模情況、邏輯單元數(shù)量等資源使用情況以及工作的環(huán)境情況等。提供的信息越精確,功耗估算的結果就越精確。
2.3 EPE中的重要參數(shù)——觸發(fā)率
在使用EPE估計功耗時,一些關鍵的參數(shù)值對功耗估計的結果影響較大,特別是觸發(fā)率的數(shù)值。要將功耗和觸發(fā)率聯(lián)系起來,可以認為在狀態(tài)改變的時間間隔期間,信號的每一次轉變需要一定數(shù)量的能量去改變內部電路的狀態(tài)。觸發(fā)率被定義為每秒鐘信號轉換的平均次數(shù),以百分比表示。在觸發(fā)器中,如果系統(tǒng)最大時鐘頻率為100 MHz,所有觸發(fā)的觸發(fā)器的平均輸出頻率為10 MHz,那么所有觸發(fā)器的平均觸發(fā)率為20%。由于這種類型的觸發(fā)器都是在信號活動的時鐘邊沿(上升沿)觸發(fā),100%的觸發(fā)率則表示一個觸發(fā)器的翻轉頻率為50 MHz。設計者應模擬每個模塊中的所有觸發(fā)器輸出的時鐘,并計算觸發(fā)器輸出相對于時鐘變化的概率。FPGA器件中不同模塊的觸發(fā)率數(shù)值不同,在數(shù)據路徑邏輯中,觸發(fā)率的范圍從6%12%。隨機邏輯中,如編解碼的觸發(fā)率大概在50%,而控制邏輯的觸發(fā)率最高可接近100%。以上都是作為估計觸發(fā)率數(shù)值的一般準則,而真實設計部分的觸發(fā)率完全取決于設計和數(shù)據集。例如,重置信號是一個控制信號,它可能有一個非常低的觸發(fā)率。在功能仿真中需要準確的計算所有模塊的平均觸發(fā)率。圖3給出了計算平均觸發(fā)率的一個例子。
圖3 平均觸發(fā)率的計算方法
圖4的報告結果給出了三種平均觸發(fā)率對功耗的影響結果,從左到右平均觸發(fā)率的值依次為7%,12.5%,30%。隨著觸發(fā)率的提高,靜態(tài)功耗基本沒有變化而動態(tài)功耗以及相應的總功耗會線性提高。設計者可以根據自身設計需求(面向算法或是控制)和平均觸發(fā)率的計算結果,合理設置觸發(fā)率數(shù)值大小。
圖4 觸發(fā)率對功耗的影響
3 結語
功耗的早期估計對于FPGA系統(tǒng)設計十分重要是基于兩點考慮:系統(tǒng)電源的大小和散熱。充分理解FPGA的工作功耗、靜態(tài)功耗、動態(tài)功耗、內核與I/O資源情況將影響降低功耗的策略。如何使用簡單易用的工具,針對設計中目標器件的類型和設計的特性,高效準確的完成早期功率估計將有助于設計者加速整個系統(tǒng)的設計實現(xiàn)。
評論