優(yōu)化FPGA功耗的設(shè)計(jì)技術(shù)
無(wú)論從微觀到宏觀、從延長(zhǎng)電池壽命到減少全球變暖的溫室效應(yīng)等等,各種不同因素都在迅速推動(dòng)系統(tǒng)設(shè)計(jì)人員關(guān)注節(jié)能問(wèn)題。一項(xiàng)有關(guān)設(shè)計(jì)優(yōu)先考慮事項(xiàng)的最新調(diào)查指出,大部分工程師已把功耗排在首位,或者是將其緊跟在性能、密度和成本之后。
在功耗方面,FPGA帶來(lái)了獨(dú)特的挑戰(zhàn)。系統(tǒng)設(shè)計(jì)人員只要能夠透徹充分的了解這些挑戰(zhàn),以及應(yīng)對(duì)挑戰(zhàn)所需的新技術(shù)、新方法和新工具,就能夠發(fā)揮基于FPGA的便攜式系統(tǒng)的部署優(yōu)勢(shì)。隨著業(yè)界越來(lái)越多地采用FPGA,為更廣泛的應(yīng)用產(chǎn)品提供靈活性并加快其上市速度,這點(diǎn)便顯得愈加重要。
評(píng)估某個(gè)FPGA架構(gòu)是否適用于現(xiàn)今的功率敏感應(yīng)用,必須深入研究功率方程。要做到這一點(diǎn),我們可以在投入可行設(shè)計(jì)解決方案(劃分、時(shí)鐘和功率門(mén)控、電壓分軌等等)前, 對(duì)FPGA的功率特性及其影響進(jìn)行分析,并使用優(yōu)化工具來(lái)實(shí)現(xiàn)。
實(shí)現(xiàn)低功耗設(shè)計(jì)
根據(jù)所選FPGA技術(shù)類型的不同,電源可以看成是由靜態(tài)、動(dòng)態(tài)、上電(或浪涌)、配置以及不同低功耗模式等成分組成。
靜態(tài)和動(dòng)態(tài)電源是所有IC設(shè)計(jì)人員都熟知的問(wèn)題。靜態(tài)電源源于以下幾種形式的泄漏電流:亞閾值泄漏、結(jié)泄漏、柵致漏極泄漏(GIDL)和柵極泄漏。動(dòng)態(tài)電源則指器件工作期間的電源,與所用功能性資源(邏輯區(qū)塊、時(shí)鐘樹(shù)、嵌入式RAM、PLL等) 、I/O上的負(fù)載和阻抗終端、時(shí)鐘頻率、數(shù)據(jù)模式以及到達(dá)動(dòng)態(tài)特性、信號(hào)活動(dòng)或觸發(fā)率,以及信號(hào)靜態(tài)概率等因素有關(guān)。
在設(shè)計(jì)易失性SRAM FPGA解決方案時(shí),除靜態(tài)和動(dòng)態(tài)電源之外,設(shè)計(jì)人員還必須考慮到其它三種電源成分。在系統(tǒng)與器件功能性上電期間,浪涌電源和配置電源可能會(huì)意義重大,就如同睡眠(靜態(tài))模式下所需的電源一般。除此之外,由于SRAM FPGA是易失性的,它們必須通過(guò)一個(gè)外部設(shè)備驅(qū)動(dòng)程序(通常保存在PROM中)來(lái)啟動(dòng),這增加了系統(tǒng)的額外功耗和啟動(dòng)延時(shí)。
雖然SRAM FPGA供應(yīng)商不斷努力降低產(chǎn)品功耗,但市面上的這些器件仍然耗能過(guò)高,從而極大增加了總體的系統(tǒng)功耗,尤其是將幾個(gè)FPGA安裝于單個(gè)電路板上,或者是不同電路板的FPGA共用一個(gè)電源時(shí)。對(duì)于需要頻繁開(kāi)/關(guān)的系統(tǒng),這種影響則更大,所以估算電池壽命時(shí)必須將之考慮在內(nèi)。因此,在為基于SRAM的可編程器件確定電源大小或選擇電池時(shí),系統(tǒng)設(shè)計(jì)人員務(wù)必要考慮到配置和浪涌電源。另一方面,真正的FLASH FPGA是非易失性的,不會(huì)產(chǎn)生浪涌或配置電流,而且總體靜態(tài)功耗較低,這樣一來(lái),設(shè)計(jì)任務(wù)就比較簡(jiǎn)單,功耗亦大大減小(圖1)。
圖1:易失性SRAM FPGA與非易失性真正 FLASH FPGA的電流曲線比較
1. 電流
2. 時(shí)間(或頻率)
3. 易失性FPGA
4. 非易失性FPGA
5. 易失性FPGA的上電浪涌電流
6. 系統(tǒng)供電電壓
7. 靜態(tài)
8. 與頻率相關(guān)的動(dòng)態(tài)電源
9. 易失性FGPA的配置電源
在處理晶體管電流泄漏方面,F(xiàn)PGA廠商采取的另一個(gè)措施是建立兩級(jí)閾值電壓(VT) 單元。這種被稱為多VT(Multi-VT)的技術(shù)旨在盡可能少地采用大泄漏低VT器件,并盡可能多地采用低泄漏高VT器件,以便減少總體設(shè)計(jì)泄漏。過(guò)去,多VT 技術(shù)用于ASIC 和 ASSP產(chǎn)品,現(xiàn)在則開(kāi)始為FPGA供應(yīng)商所采用。
尺寸至關(guān)重要
在IC設(shè)計(jì)領(lǐng)域,鑒于成本和眾多其它原因,盡可能地減小芯片尺寸一直是業(yè)界關(guān)注的焦點(diǎn);現(xiàn)在功耗又成為另一個(gè)目標(biāo)。芯片越小,靜態(tài)電源消耗越低。在滿足應(yīng)用的功能性及其它要求的前提下,選擇盡可能小的芯片便更易于達(dá)到功耗目標(biāo)。
在選擇FPGA時(shí),還有一個(gè)因素也十分重要,就是必須盡可能對(duì) RAM、PLL和I/O 技術(shù)等資源的使用進(jìn)行優(yōu)化。在FPGA架構(gòu)的選擇中,還應(yīng)該考慮到FPGA的所有低功耗模式,以及其它動(dòng)態(tài)資源(如PLL、RC 振蕩器和 I/O組)的節(jié)能能力。例如,假設(shè)較低的參考電壓可節(jié)省系統(tǒng)功率,則選擇同時(shí)支持1.2V LVCMOS 和/或 1.5V LVCMOS標(biāo)準(zhǔn)的I/O產(chǎn)品,就可以既節(jié)省功耗又在必要時(shí)獲得更高的I/O電壓。
時(shí)鐘
FPGA的動(dòng)態(tài)電源主要消耗在邏輯資源和互連結(jié)構(gòu)等電容性元件的充放電活動(dòng)。某個(gè)資源元件i的動(dòng)態(tài)功耗可以利用下式建模:這里fi為開(kāi)關(guān)頻率, Ci為電容性負(fù)載,Vi為該資源的電壓擺幅。充分考慮動(dòng)態(tài)功率方程中的每一項(xiàng),便可以降低功耗。例如,在時(shí)鐘域可以決定設(shè)計(jì)的哪些部分需要快速時(shí)鐘或較慢時(shí)鐘。開(kāi)關(guān)頻率fi是動(dòng)態(tài)功率方程的成分之一。由快速時(shí)鐘驅(qū)動(dòng)的邏輯相比由慢速時(shí)鐘驅(qū)動(dòng)的邏輯,開(kāi)關(guān)更頻繁。設(shè)計(jì)人員知道邏輯的哪些部分需要快速時(shí)鐘,而哪些部分又可以運(yùn)行在較慢速度之下,因此可以按照時(shí)鐘所控制的功能予以劃分,從而節(jié)省功率。
一項(xiàng)設(shè)計(jì)的動(dòng)態(tài)功耗還隨布局布線而有很大變化。例如,如果兩個(gè)相連的功能性實(shí)體彼此靠得很近,兩者間的布線長(zhǎng)度可能縮短,因此會(huì)減小網(wǎng)絡(luò)的電容性負(fù)載,致使功率降低。如今的FPGA開(kāi)發(fā)軟件通常支持功率驅(qū)動(dòng)布線 (Power Driven Layout),可以自動(dòng)實(shí)現(xiàn)這項(xiàng)功能,并能夠降低25%或更多的總體動(dòng)態(tài)功耗(實(shí)際數(shù)字取決于設(shè)計(jì)中的時(shí)鐘和網(wǎng)絡(luò)數(shù)目)。