《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 低功耗FPGA電子系統(tǒng)優(yōu)化方法
低功耗FPGA電子系統(tǒng)優(yōu)化方法
萬 娟,武 杰,孔 陽,謝明璞
(中國科學技術(shù)大學 近代物理系快電子學實驗室,安徽 合肥230026)
摘要: 首先與實測系統(tǒng)功耗進行對比,驗證了Xilinx公司ISE軟件包中FPGA功耗估算工具XPower的準確性。然后對FPGA設(shè)計中影響系統(tǒng)功耗的幾個相互關(guān)聯(lián)的參數(shù)進行取樣,通過軟件估算不同樣點下的系統(tǒng)功耗,找到功耗最低的取樣點,得到最佳設(shè)計參數(shù),從而達到優(yōu)化系統(tǒng)設(shè)計的目的。實驗中通過這種方法,在一個FPGA讀寫SRAM的系統(tǒng)中,在單位時間讀寫操作數(shù)固定的條件下,選取了讀寫頻率與讀寫時間占空比這兩個參數(shù)來優(yōu)化系統(tǒng)功耗。最終測試數(shù)據(jù)證明了該方法的正確性。
Abstract:
Key words :

摘  要: 首先與實測系統(tǒng)功耗進行對比,驗證了Xilinx公司ISE軟件包中FPGA功耗估算工具XPower的準確性。然后對FPGA設(shè)計中影響系統(tǒng)功耗的幾個相互關(guān)聯(lián)的參數(shù)進行取樣,通過軟件估算不同樣點下的系統(tǒng)功耗,找到功耗最低的取樣點,得到最佳設(shè)計參數(shù),從而達到優(yōu)化系統(tǒng)設(shè)計的目的。實驗中通過這種方法,在一個FPGA讀寫SRAM的系統(tǒng)中,在單位時間讀寫操作數(shù)固定的條件下,選取了讀寫頻率與讀寫時間占空比這兩個參數(shù)來優(yōu)化系統(tǒng)功耗。最終測試數(shù)據(jù)證明了該方法的正確性。
關(guān)鍵詞: XPower;現(xiàn)場可編程門陣列低功耗;SRAM

  FPGA在各種電路設(shè)計中廣泛應(yīng)用,如何對FPGA系統(tǒng)進行低功耗優(yōu)化成為一個重要的現(xiàn)實問題。從最早的FPGA功耗模型的建立[1],到較完善的FPGA功耗估算模型[2],再到現(xiàn)在功耗估算工具的出現(xiàn)[3],F(xiàn)PGA設(shè)計時對功耗的預估已經(jīng)越來越準確,節(jié)約功耗的方法也越來越多樣。本文基于FPGA功耗的預估,提出將影響功耗的因素做為功耗函數(shù)的參數(shù),根據(jù)參數(shù)取樣并預估樣點功耗找到功耗函數(shù)的最小值,從而得到最佳參數(shù)以優(yōu)化系統(tǒng)設(shè)計并節(jié)約系統(tǒng)功耗的方法。設(shè)計了一個FPGA讀寫常用存儲器SRAM的系統(tǒng),選取了讀寫頻率與讀寫時間占空比這兩個參數(shù)來優(yōu)化系統(tǒng)功耗,通過對比預估值與實測值證明了該方法的正確性。
1 FPGA功耗估算工具
1.1 XPower介紹
  Xilinx公司的ISE Design Suite工具套件中提供了功耗仿真器XPower Analyzer,它可以對可編程邏輯器件的功耗進行分析[3]。功耗來源分靜態(tài)功耗和動態(tài)功耗兩部分[1]。靜態(tài)功耗主要由晶體管的泄漏電流和FPGA偏置電流引起,它與工藝技術(shù)、晶體管特性、晶體管個數(shù)、采用的絕緣介質(zhì)等因素有關(guān),這些是由FPGA本身決定的,與電路活動無關(guān)。晶體管的泄漏電流主要由三部分組成:亞閾值漏電流、柵極漏電流和源漏極反偏漏電流,已經(jīng)有文獻對它們的值進行精確建模[4]。動態(tài)功耗是器件核心或I/O在開關(guān)狀態(tài)切換中消耗的能量[1]。

  其中Dynamic Power為動態(tài)功耗;C為電容量;V為工作電壓;D為每個節(jié)點每秒翻轉(zhuǎn)次數(shù),f為系統(tǒng)時鐘頻率。
  XPower給每個開關(guān)元件建立一個電容模型,根據(jù)輸入文件中的信息和特定器件的電容、靜態(tài)功耗等來估算FPGA的功耗。在輸入文件中,設(shè)計文件NCD(native circuit description)提供FPGA布局布線信息;物理約束文件PCF(physical constraint file)提供了設(shè)計的時鐘頻率、工作電壓等信息; 用戶設(shè)置文件XML用于保存XPower的設(shè)置,在下次打開同一設(shè)計時不必重復這些設(shè)置;仿真輸出文件VCD(Value Change Dump)提供了線網(wǎng)翻轉(zhuǎn)率情況,它記錄了仿真時的信號變化情況,可以使功耗估算更接近實際情況[3]。NCD文件 、PCF文件和XML文件都根據(jù)FPGA邏輯設(shè)計代碼由ISE工具綜合實現(xiàn)后生成,VCD文件由ModelSim進行時序仿真時生成。
  XPower的主要輸出文件為PWR文件,即功耗報告文件,它分為靜態(tài)功耗和動態(tài)功耗兩部分。從不同的邏輯設(shè)計的功耗報告文件可以看出,對同一款芯片,靜態(tài)功耗值比較固定,F(xiàn)PGA的邏輯和工作頻率對它影響較小;動態(tài)功耗與FPGA邏輯使用的資源,如I/O、DCM、DSP模塊等相關(guān),同時也與工作頻率以及寄存器和線網(wǎng)翻轉(zhuǎn)率相關(guān)。對靜態(tài)功耗與動態(tài)功耗都有影響的因素是電壓和環(huán)境溫度。所有可以影響到動態(tài)功耗的參數(shù)設(shè)置得越接近實際情況,XPower估算結(jié)果就越精確。所以XPower的參數(shù)設(shè)置很重要,特別是決定線網(wǎng)翻轉(zhuǎn)率的VCD文件,它記錄的仿真情況需要真實準確。
  FPGA設(shè)計流程如圖1所示,可以看出其中XPower估算功耗環(huán)節(jié)的重要性,在功耗要求嚴格時,為了節(jié)約功耗常常需要修改設(shè)計文件。

1.2 XPower可靠性驗證
  為了測出FPGA工作時的實際功耗,設(shè)計了一個簡單系統(tǒng),直接用可調(diào)直流穩(wěn)壓電源對FPGA各電平供電。由于系統(tǒng)功耗較小,需要考慮供電電源線上的分壓損耗,應(yīng)在盡量靠近FPGA電源管腳處使用萬用表測量電壓,并盡可能將該電壓調(diào)節(jié)到與設(shè)計中選用的供電標準一致(VCCO為3.3 V,VCCINT為1.2 V,VCCAUX為2.5 V)。
  將配置文件下載到FPGA運行后,通過測量FPGA運行時的電流和電源電壓得到FPGA實際功耗。在XPower中選擇該配置文件相應(yīng)的輸入文件,并使生成VCD時序仿真文件的激勵與實際外界激勵一致,且設(shè)置XPower中溫度、頻率也與實測情況一致,可得FPGA在同樣的工作條件下的仿真功耗。
  該實驗選用的FPGA為Xilinx Spartan 3e xc3s100eH,環(huán)境溫度為25 ℃,驅(qū)動時鐘頻率為18.432 MHz。通過改變FPGA邏輯的驅(qū)動時鐘數(shù)目、邏輯使用量、I/O數(shù)、信號數(shù)等,得到不同的FPGA邏輯配置文件。經(jīng)過實際測量和XPower估算,分別得到這些配置文件下的功耗測量數(shù)據(jù)和估算數(shù)據(jù)。如圖2所示,橫坐標為FPGA配置參數(shù),縱坐標為功耗值。從結(jié)果看出,測量值曲線很好地符合了估算值曲線。

2 優(yōu)化系統(tǒng)功耗的設(shè)計方法
  影響FPGA功耗的因素有溫度、電壓、翻轉(zhuǎn)率等,把FPGA的功耗P和影響它的因素x看成函數(shù)關(guān)系P(x),則減少功耗就是要尋找P(x)最小值。當x代表的物理量不同時,對應(yīng)P(x)的單調(diào)性也不同:x代表翻轉(zhuǎn)率時,從公式(1)得知,翻轉(zhuǎn)率與動態(tài)功耗呈線性關(guān)系,P(x)是單調(diào)遞增的,降低翻轉(zhuǎn)率能有效減少動態(tài)功耗;x代表電壓和溫度時,根據(jù)文獻[5]給出的實驗結(jié)果表明,在一定x范圍內(nèi),P(x)單調(diào)遞增,降低溫度和電壓能顯著減少漏電流。電源電壓降低5%就可以降低靜態(tài)功耗10%,不過FPGA一般只能在標準電壓的±5%幅度內(nèi)調(diào)整。在實際設(shè)計中,不需要對P(x)精確建模,只要大致確定P(x)的單調(diào)區(qū)間和單調(diào)性,就能找到功耗最小點。
  通常會遇到一些對功耗影響復雜交錯的因素,它們對功耗的影響不容易判斷。假設(shè)有2個相互關(guān)聯(lián)的功耗影響因素x、y,P(x)、P(y)都是單調(diào)遞增或單調(diào)遞減的,但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)設(shè)計中,便得到功耗最省的系統(tǒng)。
  圖3所示為一種系統(tǒng)功耗優(yōu)化方法,在系統(tǒng)設(shè)計時,先確定對功耗有影響的2個關(guān)聯(lián)參數(shù)x、y,在滿足系統(tǒng)要求的前提下,選定一系列(x,y)組合,在每個(x,y)樣點通過XPower估算FPGA的功耗,再結(jié)合從數(shù)據(jù)手冊或?qū)嶒灷锏玫降耐鈬O(shè)備的功耗,可得到系統(tǒng)整體功耗值P(x,y),通過分析這些樣點上的系統(tǒng)功耗值大小,確定功耗最小點Pmin(xmin,ymin)。最后將這組參數(shù)(xmin,ymin)反饋到設(shè)計中,從而達到優(yōu)化系統(tǒng)設(shè)計的目的。

3 系統(tǒng)功耗優(yōu)化實例
3.1 FPGA讀寫SRAM系統(tǒng)設(shè)計
  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]時可忽略不計,所以控制線與所測得功耗關(guān)系如表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)下,當整體翻轉(zhuǎn)率一樣時,功耗是一樣的,與讀寫頻率和讀寫時間占空比無關(guān)。但是實際中由于FPGA邏輯實現(xiàn)的差異,所以功耗會有差別,需要考慮x和y的取值來選擇一個功耗最小點。這里考慮的讀寫頻率x的范圍為0.5 MHz~9 MHz,故讀寫時間占空比y的范圍為6.7·10-4~0.012。
3.2 功耗估算與功耗測量結(jié)果
  圖5(a)為PFw、PFi的估算值,圖5(b)為測量值,其中黑線為PFw,灰線為PFi。圖6為測得的PSw值。由于y為讀寫時間占空比,所以(1-y)為系統(tǒng)空閑時間占空比,故系統(tǒng)平均功耗P為:
   P=(PFw+PSw)·y+PFi(1-y)  (2)
 又:y=6 kHz/x MHz       (3)
   由(2)、(3)式和圖5、圖6中的數(shù)據(jù),可得P關(guān)于x的曲線圖,如圖7所示。

  通過對比估算值與實測值發(fā)現(xiàn),估算值與實測值曲線基本吻合,它們的最小點都出現(xiàn)在x為9 MHz處。
  由以上結(jié)果可知,當讀寫頻率與讀寫時間占空比不同時,系統(tǒng)整體功耗是有差距的。系統(tǒng)采用(9 MHz,6.7×10-4)的參數(shù)是最省功耗的,即系統(tǒng)每秒鐘以9 MHz頻率工作6.7×10-4 s,其余時間空閑,比系統(tǒng)用其他讀寫頻率和讀寫時間占空比的平均功耗要小。在所取樣點中,最小功耗值比樣點中的平均功耗值節(jié)約了10%左右的功耗,可見此方法在現(xiàn)實設(shè)計中可以很好地對系統(tǒng)功耗進行優(yōu)化。
   對電子系統(tǒng)來說,減少功耗可以帶來很多好處,除了簡化系統(tǒng)的散熱處理及系統(tǒng)集成方面的工序、節(jié)約成本外,還能提高系統(tǒng)可靠性、降低熱噪聲干擾等。對便攜式儀器、野外工作儀器等電池供電的系統(tǒng)來說,還能延長電池壽命,減少更換電池的麻煩。
參考文獻
[1] POON K K W,YAN A,WILTON SJE.A flexible power   model for FPGAs[C].12th international conference on fieldprogrammable logic and applications,2002,(9).Lecture Notes    in Comp.Sc.2438,Springer-Verlag:48-58.
[2] LI Fei,CHEN De Ming,HE Lei,et al.Architecture evaluation for power-efficient FPGAs[C].ACM intl.Symp.on FPGA.   Los Angels:ACM,2003:175-184.
[3] Xilinx.Xilinx XPower estimator user guide[EB/OL].http://    www.xilinx.com/products/design_resources/power_central/ ug440.pdf,2007-06-05.
[4] Saibal Mukhopadhyay,Arijit Raychowdhury,Kaushik Roy.  Accurate estimation of total leakage current in scaled   CMOS logic circuits based on compact current modeling[J].  Annual ACM IEEE design automation conference poceedings  of the 40th conference on design automation,2003:169-174.
[5] Tuan T,Trimberger S.FPGA架構(gòu)的功耗[J].今日電子,2007(9):86-89.
[6] Cypress Semiconductor Corporation.CY62167DV30[EB/OL]. http://www.cypress.com/?rID=13630,2004-06-21.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 日本免费一级视频 | 欧美性生活网址 | 波多野结衣免费线在线 | 乱人伦99久久 | 欧美综合在线观看 | 北条麻妃初尝试黑人在线观看 | 亚洲欧美日韩在线一区二区三区 | 日本中文字幕网站 | 中文字字幕码一二三区 | 亚洲福利视频网 | 日韩伦理一区 | 农村妇女又色黄一级毛片 | 2019中文字幕视频 | 性猛交xxxxx按摩中国 | 欧美日韩亚洲精品国产色 | 中文字幕一区2区 | 国产成人综合久久综合 | 免费观看黄色视屏 | 性生大片一级毛片免费观看 | 亚洲欧美一区二区三区图片 | 亚洲日韩中文字幕一区 | 一级一片在线播放在线观看 | 一级黄色片视频 | 一级做a爱过程免费视频时看 | 午夜影视网 | 精品亚洲视频在线 | 国产二区视频在线观看 | 免费一看一级毛片人 | 精品国产一区二区三区不卡在线 | 伊人久久五月天 | 久久综合九色婷婷97 | 亚洲精品国产成人专区 | 91在线 | 亚洲 | jizzjizz老师太多水日本 | 韩国黄色影院 | 国产三级全黄在线观看 | 亚洲欧洲中文 | 最近中文字幕2019高清免费 | www色视频在线观看 www精品一区二区三区四区 | 无收费看污网站 | 国产精品日韩欧美 |