FPGA的低功耗設計
芯片對功耗的苛刻要求源于產(chǎn)品對功耗的要求。集成電路的迅速發(fā)展以及人們對消費類電子產(chǎn)品——特別是便攜式(移動)電子產(chǎn)品——的需求日新月異,使得設計者對電池供電的系統(tǒng)已不能只考慮優(yōu)化速度和面積,而必須注意越來越重要的第三個方面——功耗,這樣才能延長電池的壽命和電子產(chǎn)品的運行時間。很多設計抉擇可以影響系統(tǒng)的功耗,包括從器件選擇到基于使用頻率的狀態(tài)機值的選擇等。
本文引用地址:http://m.butianyuan.cn/article/260923.htm1 FPGA功耗的基本概念
(1) 功耗的組成
功耗一般由兩部分組成:靜態(tài)功耗和動態(tài)功耗。靜態(tài)功耗主要是晶體管的漏電流引起,由源極到漏極的漏電流以及柵極到襯底的漏電流組成;動態(tài)功耗主要由電容充放電引起,其主要的影響參數(shù)是電壓、節(jié)點電容和工作頻率,可以用式(1)表示[1]。
(2) 靜態(tài)功耗
靜態(tài)功耗主要是由漏電流引起。漏電流是芯片上電時,無論處于工作狀態(tài)還是處于靜止狀態(tài),都一直存在的電流,來源于晶體管的三個極,如圖1所示。它分為兩部分,一部分來自源極到漏極的泄漏電流ISD,另一部分來自柵極到襯底的泄漏電流IG。漏電流與晶體管的溝道長度和柵氧化物的厚度成反比[2]。
圖1 靜態(tài)功耗的組成
源極到漏極的泄漏電流是泄漏的主要原因。MOS管在關斷的時候,溝道阻抗非常大,但是只要芯片供電就必然會存在從源極到漏極的泄漏電流。隨著半導體工藝更加先進,晶體管尺寸不斷減小,溝道長度也逐漸減小,使得溝道阻抗變小,從而泄漏電流變得越來越大,而且源極到漏極的漏電流隨溫度增加呈指數(shù)增長。
(3) 動態(tài)功耗
動態(tài)功耗主要由電容充放電引起,它與3個參數(shù)有關:節(jié)點電容、工作頻率和內(nèi)核電壓,它們與功耗成正比例關系。如式(1)所示,節(jié)點電容越大,工作頻率越高,內(nèi)核電壓越大,其動態(tài)功耗也就越高。而在 FPGA中動態(tài)功耗主要體現(xiàn)為存儲器、內(nèi)部邏輯、時鐘、I/O消耗的功耗。在一般的設計中,動態(tài)功耗占據(jù)了整個系統(tǒng)功耗的90%以上,所以降低動態(tài)功耗是降低整個系統(tǒng)功耗的關鍵因素。
(4) 降低功耗帶來的好處
① 低功耗的器件可以實現(xiàn)更低成本的電源供電系統(tǒng)。另外,更簡單的電源系統(tǒng)意味著更少的元件和更小的PCB面積,同樣可以降低成本[3]。
② 更低的功耗引起的結溫更小,因此可以防止熱失控,可以少用或不用散熱器,如散熱風扇、散熱片等。
③ 降低功耗可以降低結溫,而結溫的降低可以提高系統(tǒng)的可靠性。另外,較小的風扇或不使用風扇可以降低EMI[3]。
④ 延長器件的使用壽命。器件的工作溫度每降低10 ℃,使用壽命延長1倍。
所以對于FPGA而言,降低功耗的根本在于直接提高了整個系統(tǒng)的性能和質(zhì)量,并減小了體積,降低了成本,對產(chǎn)品有著非常大的促進作用。
(5) 如何降低FPGA功耗
FPGA主要的功耗是由靜態(tài)功耗和動態(tài)功耗組成,降低FPGA的功耗就是降低靜態(tài)功耗和動態(tài)功耗。
靜態(tài)功耗除了與工藝有關外,與溫度也有很大的關系。一方面需要半導體公司采用先進的低功耗工藝來設計芯片,降低泄漏電流(即選擇低功耗的器件);另一方面可以通過降低溫度、結構化的設計來降低靜態(tài)功耗。
FPGA動態(tài)功耗主要體現(xiàn)為存儲器、內(nèi)部邏輯、時鐘、I/O消耗的功耗。
① 選擇適當?shù)?I/O標準可以節(jié)省功耗。I/O功耗主要來自器件輸出引腳連接的外部負載電容、阻抗模式輸出驅(qū)動電路以及外部匹配網(wǎng)絡的充放電電流??蛇x擇較低的驅(qū)動強度或較低的電壓標準。當系統(tǒng)速度要求使用高功率 I/O標準時,可設置缺省狀態(tài)以降低功耗。有的I/O標準需要使用上拉電阻才能正常工作,因此如果該 I/O的缺省狀態(tài)為高電平而不是低電平,就可以節(jié)省通過該終結電阻的直流功耗。
② 當總線上的數(shù)據(jù)與寄存器相關時,經(jīng)常使用片選或時鐘使能邏輯來控制寄存器的使能,盡早對該邏輯進行“數(shù)據(jù)使能”,以阻止數(shù)據(jù)總線與時鐘使能寄存器組合邏輯之間不必要的轉(zhuǎn)換。另一種選擇是在電路板上,而不是芯片上,進行這種“數(shù)據(jù)使能”,以盡可能減小處理器時鐘周期。也就是使用 CPLD從處理器卸載簡單任務,以便使其更長時間地處于待機模式[4]。
③ 設計中所有吸收功耗的信號當中,時鐘是罪魁禍首。雖然時鐘可能運行在 100 MHz,但從該時鐘派生出的信號卻通常運行在主時鐘頻率的較小分量(通常為 12%~15%)。此外,時鐘的扇出一般也比較高。這兩個因素顯示,為了降低功耗,應當認真研究時鐘。 首先,如果設計的某個部分可以處于非活動狀態(tài),則可以考慮禁止時鐘樹翻轉(zhuǎn),而不是使用時鐘使能。時鐘使能將阻止寄存器不必要的翻轉(zhuǎn),但時鐘樹仍然會翻轉(zhuǎn),消耗功率[4]。其次,隔離時鐘以使用最少數(shù)量的信號區(qū)。不使用的時鐘樹信號區(qū)不會翻轉(zhuǎn),從而減輕該時鐘網(wǎng)絡的負載。合理的布局可以在不影響實際設計的情況下達到此目標。
④ 根據(jù)預測的下一狀態(tài)條件列舉狀態(tài)機,并選擇常態(tài)之間轉(zhuǎn)換位較少的狀態(tài)值,這樣就能盡可能減少狀態(tài)機網(wǎng)絡的轉(zhuǎn)換量(頻率)。確定常態(tài)轉(zhuǎn)換和選擇適當?shù)臓顟B(tài)值,是降低功耗且對設計影響較小的一種簡單方法。編碼形式越簡單(如1位有效編碼或格雷碼),使用的解碼邏輯也會越少[5]。
⑤ 要計算覆蓋整個產(chǎn)品生命周期或預期電池工作時間內(nèi)所有狀態(tài)下的功耗,要考慮上電、待機、空閑、動態(tài)和斷電等多種狀態(tài),要計算最壞情況下的靜態(tài)功耗。
在所有降低功耗的措施中,選擇合適的低功耗器件起決定性的作用,帶來的效果是立竿見影的,而且無需花費大量的時間、精力和成本采取額外的措施。所以,選擇一款低功耗的FPGA器件有助于提高產(chǎn)品性能,降低產(chǎn)品成本,提高產(chǎn)品的可靠性。下面介紹Actel公司的低功耗FPGA—— IGLOO。
2 低功耗FPGA——IGLOO
Actel公司的IGLOO源于ProASIC3系列,保持了ProASIC3原有的所有特性:單芯片、高安全性、高可靠性、高性能、低功耗、低成本等,并對低功耗的特性作了加強。IGLOO器件采用 Flash*Freeze技術,能夠輕易地進入和退出超低功耗模式,該模式下的功耗僅 5 μW,同時可保存 SRAM和寄存器中的數(shù)據(jù)。Flash*Freeze技術通過 I/O和時鐘管理簡化了功率管理,并無需關斷電壓、I/O或系統(tǒng)層面的時鐘,進入和退出 Flash*Freeze模式所需的時間少于1 μs。 Actel IGLOO系列以 Flash可重編程技術為基礎,支持安全的系統(tǒng)內(nèi)可編程功能,因此能在制造的最終階段或應用現(xiàn)場快速且容易地進行升級或設計更新[6]。
IGLOO能夠做到如此低的功耗,主要是由以下幾個原因決定。
(1) 獨特的Flash開關
IGLOO采用了低功耗的Flash開關,如圖2所示。 Flash開關只需要2個晶體管,而SRAM的開關至少需要4個以上的晶體管。更少的晶體管具有更小的容性負載、更小的漏電流,從而具有更低的功耗。另外,F(xiàn)lash技術的開關具有非易失性的特點,使得IGLOO無需配置芯片,從而較SRAM的FPGA少了上電的啟動電流和配置電流。一般SRAM的 FPGA啟動電流都需要幾百mA甚至幾A,配置電流也需要幾十mA,不適合用于電池供電的系統(tǒng)[6]。
圖2 Flash開關和SRAM開關的對比
(2) 更低的內(nèi)核電壓
IGLOO的內(nèi)核可以支持1.2 V或1.5 V供電,1.2 V的內(nèi)核電壓比1.5 V的內(nèi)核電壓可以節(jié)省36%的動態(tài)功耗??捎墒剑?)推導出來,動態(tài)功耗與內(nèi)核電壓的平方成正比,所以1.2 V的IGLOO系統(tǒng)比1.5 V內(nèi)核電壓的系統(tǒng)可以節(jié)省更多的功耗。
(3) 低功耗的Flash*Freeze模式
IGLOO具有一種獨特的Flash*Freeze模式。在這種模式下可以讓FPGA進入睡眠狀態(tài)。在這種模式下最低的功耗可達 2 μW(IGLOO的Nano系列),并且能夠保存RAM和寄存器的狀態(tài)。進入和退出這種模式只需要通過FPGA的Flash*Freeze引腳控制即可,進入和退出只需要1 μs,非常方便。
(4) 具有低功耗布局布線工具
Actel提供免費的開發(fā)環(huán)境——Libero,并充分考慮了低功耗的設計,在軟件中增加了功耗驅(qū)動的布局布線。在該方式的驅(qū)動下,軟件自動以最低功耗的方式來布局并走線,類似于PCB繪制時的布局與走線。其中影響最大的是時鐘的走線,因為在大部分的設計中時鐘對功耗起了關鍵性的影響。經(jīng)過功耗驅(qū)動的布局布線以后,時鐘走線變得更有規(guī)則,連線也盡量短,從而大大降低了功耗,通過該方式最多可以節(jié)省30%的功耗。
另外,在Libero軟件內(nèi)部集成的Modelsim仿真軟件中,提供了功率估算工具。它用于分析實際器件利用率,并結合實際的適配后仿真數(shù)據(jù),給出實際功耗數(shù)據(jù),可以在完全不接觸芯片的情況下分析設計改變對總功耗的影響。
3 小結
通過上面的分析,了解了FPGA功率損耗的相關原理和影響功耗的相關因素。設計者通過優(yōu)化自己的設計和注意某些具體情況,可以在FPGA設計中實現(xiàn)低功耗。通過一款具體的FPGA產(chǎn)品了解其低功耗的解決方式,為設計提供了指導。FPGA均可在相應的操作環(huán)境下進行仿真,從而了解功耗的具體使用情況,針對相應的情況進行修改。另外,還可采用優(yōu)化的算法來減少多余和無意義的開關活動,來實現(xiàn)低功耗的解決方案。
評論