低功耗FPGA電子系統(tǒng)優(yōu)化方法
影響FPGA功耗的因素有溫度、電壓、翻轉率等,把FPGA的功耗P和影響它的因素x看成函數(shù)關系P(x),則減少功耗就是要尋找P(x)最小值。當x代表的物理量不同時,對應P(x)的單調性也不同:x代表翻轉率時,從公式(1)得知,翻轉率與動態(tài)功耗呈線性關系,P(x)是單調遞增的,降低翻轉率能有效減少動態(tài)功耗;x代表電壓和溫度時,根據(jù)文獻[5]給出的實驗結果表明,在一定x范圍內,P(x)單調遞增,降低溫度和電壓能顯著減少漏電流。電源電壓降低5%就可以降低靜態(tài)功耗10%,不過FPGA一般只能在標準電壓的±5%幅度內調整。在實際設計中,不需要對P(x)精確建模,只要大致確定P(x)的單調區(qū)間和單調性,就能找到功耗最小點。
通常會遇到一些對功耗影響復雜交錯的因素,它們對功耗的影響不容易判斷。假設有2個相互關聯(lián)的功耗影響因素x、y,P(x)、P(y)都是單調遞增或單調遞減的,但x和y不能同時向著P減少的方向變化,此時功耗P的最小值需要綜合考慮x和y的取值。在P(x,y)沒有建模的情況下,可以通過對(x,y)參數(shù)取樣后樣點的P值來簡單判斷P(x,y)最小值點,也就是選定(x1,y1)、(x2,y2)…(xn,yn)后,通過比較P(x1,y1)、P(x2,y2)…P(xn,yn)的大小得出最小值Pmin(xmin,ymin)。然后將(xmin,ymin)反饋到系統(tǒng)設計中,便得到功耗最省的系統(tǒng)。
圖3所示為一種系統(tǒng)功耗優(yōu)化方法,在系統(tǒng)設計時,先確定對功耗有影響的2個關聯(lián)參數(shù)x、y,在滿足系統(tǒng)要求的前提下,選定一系列(x,y)組合,在每個(x,y)樣點通過XPower估算FPGA的功耗,再結合從數(shù)據(jù)手冊或實驗里得到的外圍設備的功耗,可得到系統(tǒng)整體功耗值P(x,y),通過分析這些樣點上的系統(tǒng)功耗值大小,確定功耗最小點Pmin(xmin,ymin)。最后將這組參數(shù)(xmin,ymin)反饋到設計中,從而達到優(yōu)化系統(tǒng)設計的目的。本文引用地址:http://2s4d.com/article/191793.htm
3 系統(tǒng)功耗優(yōu)化實例
3.1 FPGA讀寫SRAM系統(tǒng)設計
FPGA讀寫SRAM的簡單系統(tǒng)如圖4所示。
為了與理論值比較,要求該系統(tǒng)功耗為可測的。通過控制線rst和CE的電平高低來控制FPGA和SRAM工作狀態(tài),通過測量電壓和電流可得到此時系統(tǒng)的功耗:當rst為低時,F(xiàn)PGA和SRAM都為空閑狀態(tài),測得的功耗為PFi+PSi(PFi為FPGA在idle狀態(tài)的功耗,PSi為SRAM在idle狀態(tài)的功耗,PFw為FPGA在work狀態(tài)的功耗,PSw為SRAM在work狀態(tài)的功耗,下同);當rst為高,CE為高時,F(xiàn)PGA為工作狀態(tài),SRAM為空閑狀態(tài),測得的功耗為PFw+PSi;當rst為高,CE為低時,F(xiàn)PGA和SRAM都為工作狀態(tài),測得的功耗為PFw+PSw。由SRAM數(shù)據(jù)手冊得知,PSi在?滋W量級[6]時可忽略不計,所以控制線與所測得功耗關系如表1所示。
選取讀寫頻率與讀寫時間占空比兩個因素分別做為功耗影響因素x、y,當系統(tǒng)數(shù)據(jù)線位寬為8 bit時,在滿足系統(tǒng)數(shù)據(jù)讀寫率為6 KB/s的前提下,只要x?y=6 K/s便能滿足,如(6 kHz,1)、(12 kHz,0.5)、(1 MHz,0.006)等。在理想狀態(tài)下,當整體翻轉率一樣時,功耗是一樣的,與讀寫頻率和讀寫時間占空比無關。但是實際中由于FPGA邏輯實現(xiàn)的差異,所以功耗會有差別,需要考慮x和y的取值來選擇一個功耗最小點。這里考慮的讀寫頻率x的范圍為0.5 MHz~9 MHz,故讀寫時間占空比y的范圍為6.7?10-4~0.012。
評論