低功耗FPGA電子系統(tǒng)優(yōu)化方法
1 FPGA功耗估算工具
1.1 XPower介紹
Xilinx公司的ISE Design Suite工具套件中提供了功耗仿真器XPower Analyzer,它可以對可編程邏輯器件的功耗進行分析[3]。功耗來源分靜態(tài)功耗和動態(tài)功耗兩部分[1]。靜態(tài)功耗主要由晶體管的泄漏電流和FPGA偏置電流引起,它與工藝技術、晶體管特性、晶體管個數(shù)、采用的絕緣介質等因素有關,這些是由FPGA本身決定的,與電路活動無關。晶體管的泄漏電流主要由三部分組成:亞閾值漏電流、柵極漏電流和源漏極反偏漏電流,已經(jīng)有文獻對它們的值進行精確建模[4]。動態(tài)功耗是器件核心或I/O在開關狀態(tài)切換中消耗的能量[1]。
其中Dynamic Power為動態(tài)功耗;C為電容量;V為工作電壓;D為每個節(jié)點每秒翻轉次數(shù),f為系統(tǒng)時鐘頻率。
XPower給每個開關元件建立一個電容模型,根據(jù)輸入文件中的信息和特定器件的電容、靜態(tài)功耗等來估算FPGA的功耗。在輸入文件中,設計文件NCD(native circuit description)提供FPGA布局布線信息;物理約束文件PCF(physical constraint file)提供了設計的時鐘頻率、工作電壓等信息; 用戶設置文件XML用于保存XPower的設置,在下次打開同一設計時不必重復這些設置;仿真輸出文件VCD(Value Change Dump)提供了線網(wǎng)翻轉率情況,它記錄了仿真時的信號變化情況,可以使功耗估算更接近實際情況[3]。NCD文件 、PCF文件和XML文件都根據(jù)FPGA邏輯設計代碼由ISE工具綜合實現(xiàn)后生成,VCD文件由ModelSim進行時序仿真時生成。
XPower的主要輸出文件為PWR文件,即功耗報告文件,它分為靜態(tài)功耗和動態(tài)功耗兩部分。從不同的邏輯設計的功耗報告文件可以看出,對同一款芯片,靜態(tài)功耗值比較固定,F(xiàn)PGA的邏輯和工作頻率對它影響較小;動態(tài)功耗與FPGA邏輯使用的資源,如I/O、DCM、DSP模塊等相關,同時也與工作頻率以及寄存器和線網(wǎng)翻轉率相關。對靜態(tài)功耗與動態(tài)功耗都有影響的因素是電壓和環(huán)境溫度。所有可以影響到動態(tài)功耗的參數(shù)設置得越接近實際情況,XPower估算結果就越精確。所以XPower的參數(shù)設置很重要,特別是決定線網(wǎng)翻轉率的VCD文件,它記錄的仿真情況需要真實準確。
FPGA設計流程如圖1所示,可以看出其中XPower估算功耗環(huán)節(jié)的重要性,在功耗要求嚴格時,為了節(jié)約功耗常常需要修改設計文件。
1.2 XPower可靠性驗證
為了測出FPGA工作時的實際功耗,設計了一個簡單系統(tǒng),直接用可調直流穩(wěn)壓電源對FPGA各電平供電。由于系統(tǒng)功耗較小,需要考慮供電電源線上的分壓損耗,應在盡量靠近FPGA電源管腳處使用萬用表測量電壓,并盡可能將該電壓調節(jié)到與設計中選用的供電標準一致(VCCO為3.3 V,VCCINT為1.2 V,VCCAUX為2.5 V)。
將配置文件下載到FPGA運行后,通過測量FPGA運行時的電流和電源電壓得到FPGA實際功耗。在XPower中選擇該配置文件相應的輸入文件,并使生成VCD時序仿真文件的激勵與實際外界激勵一致,且設置XPower中溫度、頻率也與實測情況一致,可得FPGA在同樣的工作條件下的仿真功耗。
該實驗選用的FPGA為Xilinx Spartan 3e xc3s100eH,環(huán)境溫度為25 ℃,驅動時鐘頻率為18.432 MHz。通過改變FPGA邏輯的驅動時鐘數(shù)目、邏輯使用量、I/O數(shù)、信號數(shù)等,得到不同的FPGA邏輯配置文件。經(jīng)過實際測量和XPower估算,分別得到這些配置文件下的功耗測量數(shù)據(jù)和估算數(shù)據(jù)。如圖2所示,橫坐標為FPGA配置參數(shù),縱坐標為功耗值。從結果看出,測量值曲線很好地符合了估算值曲線。
評論