FPGA架構(gòu)的功耗(圖)
配置電路和時(shí)鐘電路占待機(jī)功耗近1/2,這在很大程度上是偏置電流所致。因此,要降低芯片的總功耗,就必須采取針對所有主要功耗器件的多種解決方案。
低功耗設(shè)計(jì)
FPGA的設(shè)計(jì)中使用了多種功耗驅(qū)動(dòng)的設(shè)計(jì)技術(shù)。以Xilinx Virtex系列為例,因?yàn)榕渲么鎯?chǔ)單元可占到FPGA中晶體管數(shù)的1/3,所以在該系列中使用了一種低漏電流的“midox”晶體管來減少存儲(chǔ)單元的漏電流。為了減少靜態(tài)功耗,還全面采用了較長溝道和較高閾值的晶體管。動(dòng)態(tài)功耗問題則用低電容電路和定制模塊來解決。DSP模塊中乘法器的功耗不到FPGA架構(gòu)所構(gòu)建乘法器的20%。鑒于制造偏差可導(dǎo)致漏電流分布范圍很大,可篩選出低漏電流器件,以有效提供核心漏電功耗低于60%的器件。
除了融入FPGA設(shè)計(jì)之外,還有許多設(shè)計(jì)選擇方案影響到FPGA的功耗。下面分析部分這類選擇方案。
1 功耗估計(jì)
功耗估計(jì)是低功耗設(shè)計(jì)中的一個(gè)關(guān)鍵步驟。雖然確定FPGA功耗的最準(zhǔn)確方法是硬件測量,但功耗估計(jì)有助于確認(rèn)高功耗模塊,可用于在設(shè)計(jì)階段早期制定功耗預(yù)算。
如圖1所示,某些外部因素對功耗具有呈指數(shù)的影響;環(huán)境的微小變化即可造成預(yù)估功耗的重大變化。使用功耗估計(jì)工具雖難以達(dá)到精準(zhǔn),但仍然可以通過確認(rèn)高功耗模塊來為功耗優(yōu)化提供極好的指導(dǎo)。
2 電壓和溫度控制
如圖1所示,降低電壓和溫度均可顯著減少漏電流。電源電壓降低5% 就可降低功耗10%。通過改變電源配置,很容易調(diào)整電源電壓。目前的FPGA不支持大范圍電壓調(diào)整,推薦的電壓范圍通常是±5%。結(jié)溫可以用散熱器和氣流等冷卻方案來降低。溫度降低20℃可減少漏電功耗25%以上。降低溫度還可呈指數(shù)提高芯片的可靠性。研究表明,溫度降低20℃可使芯片總體壽命延長10倍。
3 懸掛和休眠模式
懸掛和休眠等模式可有效降低功耗。以Xilinx Spartan-3A FPGA為例,該器件提供兩種低功耗空閑狀態(tài)。在懸掛模式下,VCCAUX電源上的電路被禁用,以減少漏電功耗和消除偏置電流,這樣可降低靜態(tài)功耗40%以上。懸掛時(shí)仍保持芯片配置和電路狀態(tài)。將喚醒引腳置位即可退出懸掛模式。此過程用時(shí)不到1ms。
休眠模式允許關(guān)閉所有功率調(diào)節(jié)器,從而實(shí)現(xiàn)零功耗。若要重啟,必須重開電源并配置器件,此過程需要數(shù)十毫秒。切斷電源后,所有I/O均處于高阻抗?fàn)顟B(tài)。如有I/O需要在休眠模式下主動(dòng)激活,則必須保持對相應(yīng)I/O組供電,這會(huì)消耗少量待機(jī)功率。
4 I/O標(biāo)準(zhǔn)方案
不同I/O標(biāo)準(zhǔn)的功耗水平相差懸殊。在犧牲速度或邏輯利用率的情況下,選擇低功耗I/O標(biāo)準(zhǔn)可顯著降低功耗。例如,LVDS是功耗大戶,其每對輸入的電流為3mA,每對輸出的電流為9mA。因此,從功耗角度來看,應(yīng)該僅在系統(tǒng)技術(shù)規(guī)范要求或需要最高性能時(shí)才使用LVDS。
替代LVDS的一種功耗較低而性能較高的方案是HSTL或SSTL,但這二者仍要每輸入消耗3mA。如果可能,推薦換用LVCMOS輸入。此外,DCI標(biāo)準(zhǔn)是功耗大戶。當(dāng)連接到RLDRAM等存儲(chǔ)器件時(shí),請考慮在存儲(chǔ)器上使用ODT,而在FPGA上使用LVDCI,以減少功耗。
5 嵌入式模塊
用嵌入式模塊替代可編程架構(gòu)可顯著降低功耗。嵌入式模塊是定制設(shè)計(jì)的,因此其體積和開關(guān)電容都比可編程邏輯的小。這些模塊的功耗是等效可編程邏輯的1/5~1/12。如果設(shè)計(jì)縮小并可裝入較小的器件,則使用嵌入式模塊可以降低靜態(tài)功耗。一個(gè)潛在的缺點(diǎn)是,使用大型嵌入式模塊可能無法更有效地實(shí)現(xiàn)非常簡單的功能。
6 時(shí)鐘生成器
在時(shí)鐘生成中考慮功耗因素可以減少功耗。數(shù)字時(shí)鐘管理器廣泛用于生成不同頻率或相位的時(shí)鐘。然而,DCM消耗的功率占VCCAUX不可小覷的一部分;因此,應(yīng)盡可能限制使用DCM。通過使用多種輸出(如CLK2X、CLKDV 和CLKFX),一個(gè)DCM常??缮啥喾N時(shí)鐘。與為同一功能使用多個(gè)DCM相比,這是一種功耗較低的解決方案。
7 Block RAM的構(gòu)建
多個(gè)Block RAM常常可以組合起來構(gòu)成一個(gè)大型RAM。組合的方式可以對功耗意義重大。時(shí)序驅(qū)動(dòng)的方法是并行訪問所有RAM。例如,可以用4個(gè)2k×9 RAM構(gòu)成一個(gè)2k×36 RAM。這個(gè)較大RAM的訪問時(shí)間與單個(gè)Block RAM相同;然而,其每次訪問的功耗卻相當(dāng)于4個(gè)Block RAM的功耗之和。
一種低功耗的解決方案是用4個(gè)512×36b RAM 構(gòu)成同樣的2k×36b RAM。每次訪問都會(huì)預(yù)先解碼,以選擇訪問4個(gè)Block RAM之一。盡管預(yù)解碼延長了訪問時(shí)間,但較大RAM每次訪問的功耗卻與單個(gè)Block RAM大致相同。
低功耗研究
1 降低電壓
降低電壓是減少功耗的最有效方式之一,而且隨之而來的性能下降對許多并不要求最高性能的設(shè)計(jì)來說是可以接受的。不過,目前FPGA的工作電壓范圍很小,在某些電壓敏感型電路上還不能使用。
在Xilinx研究實(shí)驗(yàn)室,CLB電路被重新設(shè)計(jì)成能在降低許多的電壓下工作,以便在較低功耗情況下提供寬裕的性能權(quán)衡余地。例如,對于90nm工藝,電壓下降200mV可降低功耗40%,最高性能損失25%;電壓下降400mV可降低功耗70%,最高性能損失55%。
評論