Xilinx FPGA的功耗優(yōu)化設計

發(fā)布時(shí)間:2010-4-8 16:51    發(fā)布者:嵌入式公社
關(guān)鍵詞: FPGA , Xilinx , 功耗 , 設計
對于FPGA來(lái)說(shuō),設計人員可以充分利用其可編程能力以及相關(guān)的工具來(lái)準確估算功耗,然后再通過(guò)優(yōu)化技術(shù)來(lái)使FPGA設計以及相應的PCB板在功率方面效率更高。

靜態(tài)和動(dòng)態(tài)功耗及其變化

在90nm工藝時(shí),電流泄漏問(wèn)題對ASIC和FPGA都變得相當嚴重。在65nm工藝下,這一問(wèn)題更具挑戰性。為獲得更高的晶體管性能,必須降低閾值電壓,但同時(shí)也加大了電流泄漏。Xilinx公司在降低電流泄漏方面做了許多努力,盡管如此,源于泄漏的靜態(tài)功耗在最差和典型工藝條件下的變化仍然有2:1。泄漏功耗受內核電壓(VCCINT)的影響很大,大約與其立方成比例,哪怕VCCINT僅上升5%,靜態(tài)功耗就會(huì )提高約 15%。最后,泄漏電流還與結(或芯片)溫密切相關(guān)。

FPGA中靜態(tài)功耗的其它來(lái)源是工作電路的直流電流,但在很大程度上,這部分電流隨工藝和溫度的變化不大。例如I/O電源(如HSTL、SSTL和LVDS等I/O標準的端接電壓)以及LVDS等電流驅動(dòng)型I/O的直流電流。有些FPGA模擬模塊也帶來(lái)靜態(tài)功耗,但同樣與工藝和溫度的關(guān)系不大。例如,Xilinx FPGA中用來(lái)控制時(shí)鐘的數字時(shí)鐘管理器(DCM);Xilinx Virtex-5 FPGA中的鎖相環(huán)(PLL);以及Xilinx FPGA中用于輸入和輸出信息可編程延遲的單元IODELAY。

動(dòng)態(tài)功耗是指FPGA內核或I/O的開(kāi)關(guān)活動(dòng)引起的功耗。為計算動(dòng)態(tài)功耗,必須知道開(kāi)關(guān)晶體管和連線(xiàn)的數量、電容和開(kāi)關(guān)頻率。FPGA中,晶體管在金屬連線(xiàn)間實(shí)現邏輯和可編程互連。電容則包括晶體管寄生電容和金屬互連線(xiàn)電容。

動(dòng)態(tài)功率的公式:PDYNAMIC=nCV2f,其中,n=開(kāi)關(guān)結點(diǎn)的數量,C=電容,V=電壓擺幅,f=開(kāi)關(guān)頻率。

更緊湊的邏輯封裝(通過(guò)內部FPGA架構改變)可以減少開(kāi)關(guān)晶體管的數量。采用更小尺寸的晶體管可以縮短晶體管之間的連線(xiàn)長(cháng)度,從而降低動(dòng)態(tài)功率。因此,Virtex-5 FPGA中的65nm晶體管柵極電容更小、互連線(xiàn)長(cháng)度也更短。兩者結合起來(lái)可將結點(diǎn)的電容減小約15%至20%,這可進(jìn)一步降低動(dòng)態(tài)功率。

電壓對于動(dòng)態(tài)功率也有影響。從90nm轉向65nm工藝,僅僅通過(guò)將VCCINT從1.2V降至1V,Virtex-5 FPGA設計的動(dòng)態(tài)功率就降低了約30%。再加上結構增強帶來(lái)的功率降低,總的動(dòng)態(tài)功耗比90nm技術(shù)時(shí)降低達40%至50%。

(注:動(dòng)態(tài)功率與VCCINT的平方成正比,但對于FPGA內核來(lái)說(shuō)基本上與溫度和工藝無(wú)關(guān)。)

利用FPGA設計技術(shù)降低功耗

Xilinx公司提供了兩款功率分析工具。XPower Estimator (XPE)電子數據表工具可在設計人員使用物理實(shí)施工具前使用。在設計物理實(shí)施完成后,則可以采用第二款工具XPower Analyzer來(lái)檢查所做的改變對功耗的影響。

降低功耗的一種方法就是為設計選擇最適用的FPGA,然后利用其可編程能力進(jìn)一步優(yōu)化設計的功耗。正確的設計選擇會(huì )同時(shí)改善靜態(tài)和動(dòng)態(tài)功耗。

源于泄漏電流的靜態(tài)功率正比于邏輯資源的數量,也就是說(shuō)正比于構造特定FPGA所使用的晶體管數量。因此,如果減少所使用的FPGA資源,采用更小的器件實(shí)現設計,那么就可以降低靜態(tài)功耗。

可以采用多種方法來(lái)降低設計的規模,最基本的一種技巧就是邏輯功能分時(shí)。也就是說(shuō),如果兩組電路完成一組線(xiàn)性功能,并且彼此完全相同,那么就可以只用一組電路但將速率提高一倍來(lái)完成同樣的功能。這樣需要的邏輯資源就減少了一半。

另一種縮小邏輯規模的方法是利用Xilinx FPGA的部分重配置功能,當兩部分電路不同時(shí)工作時(shí),可以在某個(gè)時(shí)間段將某部分電路重新配置實(shí)現另一種電路功能。

同時(shí),還可以將功能移動(dòng)到不太受限制的資源,例如,將狀態(tài)機轉移到BRAM、或者將計數器轉移到DSP48模塊、寄存器轉移到移位寄存器邏輯,以及將BRAM轉移到查找表RAM(LUTRAM)。同時(shí)還可以保證不要讓設計的時(shí)序太緊張,因為那樣會(huì )需要更多的邏輯和寄存器。

此外,還應當充分發(fā)揮FPGA架構中集成的硬IP塊(BRAM、DSP、FIFO、Ethernet MAC、PCI Express)的優(yōu)點(diǎn)。

降低靜態(tài)功率的另一個(gè)方法是仔細審查設計,避免冗余的直流消耗源。設計中經(jīng)常會(huì )使用到具有多余或隱藏DCM或PLL的模塊,這種情況可能在模塊設計后忘記將多余的資源去除,或者在構建下一代產(chǎn)品時(shí)使用了一些遺留代碼。將DCM或PLL抽象到設計的頂層,這樣模塊之間就可以共享資源,從而可進(jìn)一步減小設計的規模并降低直流功率。

更好地使用存儲器模塊也可幫助降低FPGA設計的動(dòng)態(tài)功耗,從而進(jìn)一步降低總體功耗。由于動(dòng)態(tài)功耗是容抗(面積或長(cháng)度)和頻率的函數,因此應當檢查設計中訪(fǎng)問(wèn)塊存儲器的方式并確定能夠對容抗和頻率進(jìn)行優(yōu)化的區域。

Xilinx FPGA提供兩種類(lèi)型的存儲器陣列。18Kbit或36Kbit的BRAM是針對大存儲器模塊而優(yōu)化的。LUTRAM基于FPGA中的查找表,是針對細粒度存儲而優(yōu)化的。Xilinx Virtex-5 FPGA中,LUTRAM的單位是64bit。

在這兩種類(lèi)型中,BRAM通常功耗要大一些。啟用后的BRAM靜態(tài)功率是其功耗的最大部分,跳變帶來(lái)的功耗居于第二位。設計人員可以采取一些步驟來(lái)優(yōu)化BRAM的功耗。例如,可以?xún)H在讀或寫(xiě)周期才啟用BRAM。對于較小的存儲器模塊可以使用LUTRAM來(lái)代替BRAM,將 BRAM留給較大的存儲器模塊使用。此外,還可以嘗試將BRAM用于多個(gè)大型模塊。另一種技術(shù)是合理安排存儲器陣列來(lái)減少其占用的延遲面積、使性能最大化并盡量降低其功耗。圖1左側給出了一個(gè)針對速度和面積而優(yōu)化的2K x 36bit存儲陣列。

我們利用四個(gè)2K x 9bit模塊并行構成這一存儲陣列,并在需要新值時(shí)啟用(Enable)所有四個(gè)模塊。另一方法是采用四個(gè)512 x 36bit模塊來(lái)安排2K x 36bit,但利用低兩位地址解碼來(lái)選擇訪(fǎng)問(wèn)哪個(gè)512 x 36bit模塊。在后一種情況下,某個(gè)時(shí)間僅訪(fǎng)問(wèn)一個(gè)存儲器塊,功耗將比第一種方法降低75%。

圖1右側顯示的是Xilinx公司的塊存儲器生成器(Block Memory Generator),利用它可以生成任意大小的存儲器陣列并可以針對速度或功率對其進(jìn)行優(yōu)化。圖2則給出了具體應用中的Xilinx Power Estimator,比較了在給定的使能速率下N個(gè)模塊同時(shí)啟動(dòng)與N/4模塊啟動(dòng)時(shí)的功耗情況。結果顯示動(dòng)態(tài)功率降低了75%。


圖1 速度和面積與功率優(yōu)化存儲器陣列(左)
以及Xilinx Block Memory Generator與功率面積選擇(右)

Xilinx工具可幫助選擇適合的存儲器陣列?紤]某個(gè)設計中需要兩組存儲器區域。一種情況下需要運行在300MHz的16組64 x 32bit存儲器結構(總位數為32K),另一種情況下需要16組512 x 36bit 存儲器架構 (總位數為294K)。

看一下16組64 x 32bit存儲器結構的功率比較,XPE工具顯示出小存儲器陣列最好用LUTRAM來(lái)實(shí)現,這樣比用BRAM節約85%的功耗(如圖3)。這是因為如果采用BRAM的話(huà),只能用16個(gè)18K位的模塊來(lái)實(shí)現16個(gè)極。64 x 32bit)的存儲器,有很多空間被浪費了。而第二種情況16組18K位陣列的功率比較,XPE顯示情況正好相反,應當采用大一些的存儲器陣列來(lái)實(shí)現(圖 4)。這種情況下,采用BRAM比采用LUTRAM可以節約28%的功耗,這是因為如果采用LUTRAM就需要啟用更多的小粒度對象并增加更多的互連。

Xilinx FPGA的時(shí)鐘門(mén)控功能

Xilinx FPGA的時(shí)鐘門(mén)控功能提供了一些非常有意思的用途。例如,可以利用BUFGMUX時(shí)鐘緩沖器將FPGA內的某個(gè)全局時(shí)鐘關(guān)閉,或者動(dòng)態(tài)選擇較慢的時(shí)鐘。還可以使用BUFGCE時(shí)鐘緩沖器進(jìn)行按時(shí)鐘周期(cycle-by-cycle)的門(mén)控,與ASIC設計中使用的時(shí)鐘門(mén)控技術(shù)類(lèi)似。設計中可以同時(shí)使用這兩種功能。

在某些設計中,一些模塊并非始終使用,但對于功耗影響卻很大,此時(shí)這些方法非常有用?梢詴r(shí)鐘周期為基礎或者按多個(gè)時(shí)鐘周期的組合開(kāi)啟或關(guān)閉可能有成千上萬(wàn)個(gè)負載的大型時(shí)鐘域。


圖2 XPE功率優(yōu)化陣列結果


圖3 利用塊RAM 或 LUTRAM實(shí)現小存儲器陣列的功率估算


圖4 利用LUTRAM和塊RAM實(shí)現大存儲器陣列的功率估算

在電路板一級降低功耗

PCB設計師、機械工程師和系統架構師在電路板一級可以考慮通過(guò)幾個(gè)方面來(lái)降低FPGA的功耗,FPGA的內核電壓和結溫對于功耗的不同方面都有很強的影響。

控制VCCINT內核電壓是板級降低功耗的一種方法。源于泄漏的靜態(tài)功耗以及動(dòng)態(tài)功耗都高度依賴(lài)于FPGA的內核電壓。因此,減少泄漏的一種方法就是將內核電壓設置在接近額定值(1V)的地方,而不是工作在Virtex-5電壓范圍的高端(1.05V = +5%)。

采用現代開(kāi)關(guān)穩壓器,可以獲得±1.5%的電壓穩定度,而不是標準的±5%規格。保持內核電壓在1V(而不是最大值 1.05V),可將泄漏導致的靜態(tài)功耗降低15%,同時(shí)動(dòng)態(tài)功耗降低10%。

降低FPGA結溫的一種簡(jiǎn)單明顯的方法是利用散熱更好的PCB或散熱器。然后,FPGA設計人員只要能夠降低功耗的改變都是值得鼓勵的。在結溫100℃左右時(shí),15℃的溫度降低可以將源于泄漏導致的靜態(tài)功耗降低20%。

通過(guò)監控FPGA中的溫度和電壓也可以降低功耗。Virtex-5 FPGA中包含了一個(gè)稱(chēng)為System Monitor的模擬模塊,可以監控外部和內部模擬電壓以及芯片內部溫度。System Monitor基于一個(gè)10位的A/D變換器,能夠在-40℃至+125℃范圍內提供準確可靠的測量結果。A/D變換器將片上傳感器的輸出數字化,可以利用它來(lái)監控多達17路外部模擬輸入,從而監控系統性能與外部環(huán)境。模塊內包括了可配置的閾值和告警電平,并且可以在可配置的寄存器內存儲測量結果,因此可方便地接口到用戶(hù)邏輯或微處理器。

此外,I/O功率成為在功耗和性能平衡過(guò)程中需要考慮的另一重要因素,通過(guò)更為優(yōu)化的I/O選擇可以進(jìn)一步降低總體功耗。對于輸出來(lái)說(shuō),驅動(dòng)力量最大的標準所消費的功率也最大,因此功率隨輸出使能速率和跳變速率線(xiàn)性變化。然而,LVDS是個(gè)例外,因為它采用了獨立于跳變速率的基于固定電流源。對于輸入來(lái)說(shuō),參考標準消費功率也較大,因為它們需要實(shí)現差分接收器并且需要可選擇的內部端接。兩者都需要消費直流功率。

由于端接通常需要消費大量功率,因此使用時(shí)需謹慎考慮功率和性能的平衡。采用外部接口或不需要端接的方案會(huì )大大降低功耗。

總結

Xilinx公司一直致力于在ISE套件工具中集成功率優(yōu)化技術(shù),同時(shí),還可以將ISE配置為功率優(yōu)化綜合引擎來(lái)自動(dòng)定位源代碼中的小陣列并將其綜合進(jìn)LUTRAM中。

最近,Xilinx公司還推出了一個(gè)優(yōu)化布局器,能夠將功能進(jìn)行分組,從而最小化布線(xiàn)距離和容抗。稱(chēng)為PlanAhead 的一組相關(guān)工具能夠將邏輯資源分組并從物理上在FPGA內進(jìn)行粗略的面積估算和位置定位,這樣就可以減少電容并加快布線(xiàn)速度。

Xilinx預期FPGA的動(dòng)態(tài)和靜態(tài)功率將會(huì )繼續面臨挑戰,所以將繼續致力于優(yōu)化FPGA的功率管理工具和設計方法,同時(shí)也將不斷努力在芯片層面上解決功耗問(wèn)題。

作者:Xilinx公司技術(shù)營(yíng)銷(xiāo)首席工程師 Matt Klein
來(lái)源:《世界電子元器件》,2009年4月
本文地址:http://selenalain.com/thread-10262-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页