新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 低功耗FPGA電子系統(tǒng)優(yōu)化方法

低功耗FPGA電子系統(tǒng)優(yōu)化方法

作者: 時間:2010-02-08 來源:網(wǎng)絡(luò) 收藏
在各種電路設(shè)計中廣泛應(yīng)用,如何對系統(tǒng)進(jìn)行優(yōu)化成為一個重要的現(xiàn)實問題。從最早的功耗模型的建立[1],到較完善的FPGA功耗估算模型[2],再到現(xiàn)在功耗估算工具的出現(xiàn)[3],F(xiàn)PGA設(shè)計時對功耗的預(yù)估已經(jīng)越來越準(zhǔn)確,節(jié)約功耗的方法也越來越多樣。本文基于FPGA功耗的預(yù)估,提出將影響功耗的因素做為功耗函數(shù)的參數(shù),根據(jù)參數(shù)取樣并預(yù)估樣點功耗找到功耗函數(shù)的最小值,從而得到最佳參數(shù)以優(yōu)化系統(tǒng)設(shè)計并節(jié)約系統(tǒng)功耗的方法。設(shè)計了一個FPGA讀寫常用存儲器SRAM的系統(tǒng),選取了讀寫頻率與讀寫時間占空比這兩個參數(shù)來優(yōu)化系統(tǒng)功耗,通過對比預(yù)估值與實測值證明了該方法的正確性。
1 FPGA功耗估算工具
1.1 XPower介紹
  Xilinx公司的ISE Design Suite工具套件中提供了功耗仿真器XPower Analyzer,它可以對可編程邏輯器件的功耗進(jìn)行分析[3]。功耗來源分靜態(tài)功耗和動態(tài)功耗兩部分[1]。靜態(tài)功耗主要由晶體管的泄漏電流和FPGA偏置電流引起,它與工藝技術(shù)、晶體管特性、晶體管個數(shù)、采用的絕緣介質(zhì)等因素有關(guān),這些是由FPGA本身決定的,與電路活動無關(guān)。晶體管的泄漏電流主要由三部分組成:亞閾值漏電流、柵極漏電流和源漏極反偏漏電流,已經(jīng)有文獻(xiàn)對它們的值進(jìn)行精確建模[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è)計時不必重復(fù)這些設(shè)置;仿真輸出文件VCD(Value Change Dump)提供了線網(wǎng)翻轉(zhuǎn)率情況,它記錄了仿真時的信號變化情況,可以使功耗估算更接近實際情況[3]。NCD文件 、PCF文件和XML文件都根據(jù)FPGA邏輯設(shè)計代碼由ISE工具綜合實現(xiàn)后生成,VCD文件由ModelSim進(jìn)行時序仿真時生成。
  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文件,它記錄的仿真情況需要真實準(zhǔn)確。
  FPGA設(shè)計流程如圖1所示,可以看出其中XPower估算功耗環(huán)節(jié)的重要性,在功耗要求嚴(yán)格時,為了節(jié)約功耗常常需要修改設(shè)計文件。

本文引用地址:http://m.butianyuan.cn/article/191793.htm

1.2 XPower可靠性驗證
  為了測出FPGA工作時的實際功耗,設(shè)計了一個簡單系統(tǒng),直接用可調(diào)直流穩(wěn)壓電源對FPGA各電平供電。由于系統(tǒng)功耗較小,需要考慮供電電源線上的分壓損耗,應(yīng)在盡量靠近FPGA電源管腳處使用萬用表測量電壓,并盡可能將該電壓調(diào)節(jié)到與設(shè)計中選用的供電標(biāo)準(zhǔn)一致(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所示,橫坐標(biāo)為FPGA配置參數(shù),縱坐標(biāo)為功耗值。從結(jié)果看出,測量值曲線很好地符合了估算值曲線。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉