降低FPGA功耗的設計

發(fā)布時(shí)間:2010-7-24 10:37    發(fā)布者:lavida
關(guān)鍵詞: FPGA , 功耗 , 降低
新一代 FPGA的速度變得越來(lái)越快,密度變得越來(lái)越高,邏輯資源也越來(lái)越多。那么如何才能確保功耗不隨這些一起增加呢?很多設計抉擇可以影響系統的功耗,這些抉擇包括從顯見(jiàn)的器件選擇到細小的基于使用頻率的狀態(tài)機值的選擇等。
  
為了更好地理解本文將要討論的設計技巧為什么能夠節省功耗,我們先對功耗做一個(gè)簡(jiǎn)單介紹。
  
功耗包含兩個(gè)因素:動(dòng)態(tài)功耗和靜態(tài)功耗。動(dòng)態(tài)功耗是指對器件內的容性負載充放電所需的功耗。它很大程度上取決于 頻率、電壓和負載。這三個(gè)變量中的每個(gè)變量均在您的某種控制之下。
  
動(dòng)態(tài)功耗 = 電容×電壓2×頻率
  
靜態(tài)功耗是指由器件中所有晶體管的泄漏電流(源極到漏極以及柵極泄漏,常常集中為靜止電流)引起的功耗,以及任何其他恒定功耗需求之和。泄漏電流很大程度上取決于結溫和晶體管尺寸。
  
恒定功耗需求包括因終接(如上拉電阻)而造成的電流泄漏。沒(méi)有多少措施可以采用來(lái)影響泄漏,但恒定功耗可以得到控制。

盡早考慮功耗
  
您在設計的早期階段做出的功耗決定影響最大。決定采用什么元件對功耗具有重大意義,而在時(shí)鐘上插入一個(gè)BUFGMUX 則影響甚微。對功耗的考慮越早越好。   

恰當的元件
  
并不是所有元件都具有相同的靜止功耗。根據普遍規則,器件工藝技術(shù)尺寸越小,泄漏功耗越大。但并不是所有工藝技術(shù)都一樣。例如,對于 90 nm 技術(shù)來(lái)說(shuō),Virtex-4 器件與其他 90 nm FPGA 技術(shù)之間在靜止功耗方面存在顯著(zhù)差異, 然而,在靜止功耗隨工藝技術(shù)縮小而增加的同時(shí),動(dòng)態(tài)功耗卻隨之減小,這是由于較小的工藝有著(zhù)更低的電壓和電容?紤]好哪種功耗對你的設計影響更大——待機(靜止)功耗還是動(dòng)態(tài)功耗。
  
除通用切片邏輯單元外,所有Xilinx器件都具有專(zhuān)門(mén)邏輯。其形式有塊 RAM、18×18 乘法器、DSP48 塊、SRL16s,以及其他邏輯。這不僅在于專(zhuān)門(mén)邏輯具有更高的性能,還在于它們具有更低的密度,因而對于相同的操作可以消耗較少的功率。評估您的器件選項時(shí),請考慮專(zhuān)門(mén)邏輯的類(lèi)型和數量。
  
選擇適當的 I/O 標準也可以節省功耗。這些都是簡(jiǎn)單的決定,如選擇最低的驅動(dòng)強度或較低的電壓標準。當系統速度要求使用高功率 I/O 標準時(shí),計劃一個(gè)缺省狀態(tài)以降低功耗。有的 I/O 標準(如 GTL/+)需要使用一個(gè)上拉電阻才能正常工作。因此如果該 I/O 的缺省狀態(tài)為高電平而不是低電平,就可以節省通過(guò)該終接電阻的直流功耗。對于 GTL+,將50Ω終接電阻的適當缺省狀態(tài)設置為 1.5V,可使每個(gè) I/O 節省功耗 30 mA。   

數據使能   
  
總線(xiàn)上的數據與寄存器相關(guān)時(shí),經(jīng)常使用片選或時(shí)鐘使能邏輯來(lái)控制寄存器的使能。進(jìn)一步來(lái)說(shuō),盡早對該邏輯進(jìn)行“數據使能”,以阻止數據總線(xiàn)與時(shí)鐘使能寄存器組合邏輯之間不必要的轉換,如圖 1 所示。紅色波形表示原設計;綠色波形表示修改后的設計。  


  
另一種選擇是在電路板上而不是在芯片上進(jìn)行這種“數據使能”。以盡可能減小處理器時(shí)鐘周期。此概念是使用 CPLD 從處理器卸載簡(jiǎn)單任務(wù),以便使其更長(cháng)時(shí)間地處于待機模式。
  
讓我們來(lái)看一個(gè)在狀態(tài) 7 和狀態(tài) 8 之間頻繁進(jìn)行狀態(tài)轉換的狀態(tài)機。如果您為該狀態(tài)機選擇二進(jìn)制編碼,將意味著(zhù)對于每次狀態(tài) 7 和狀態(tài) 8 之間的狀態(tài)轉換,將有四位需要改變狀態(tài),如表 1 所示。如果狀態(tài)機采用格雷碼而不是二進(jìn)制碼來(lái)設計,則這兩個(gè)狀態(tài)之間的轉移所需的邏輯轉換的數量將降至僅一位。另外,如果將狀態(tài) 7 和 8 分別編碼為 0010 和 0011,也可以達到同樣的效果。  
  
時(shí)鐘管理

  
在一個(gè)設計的所有吸收功耗的信號當中,時(shí)鐘是罪魁禍首。雖然一個(gè)時(shí)鐘可能運行在 100 MHz,但從該時(shí)鐘派生出的信號卻通常運行在主時(shí)鐘頻率的較小分量(通常為 12% " 15%)。此外,時(shí)鐘的扇出一般也比較高——這兩個(gè)因素顯示,為了降低功耗,應當認真研究時(shí)鐘。
  
如果設計的某個(gè)部分可以處于非活動(dòng)狀態(tài),則可以考慮使用一個(gè) BUFG-MUX 來(lái)禁止時(shí)鐘樹(shù)翻轉,而不是使用時(shí)鐘使能。時(shí)鐘使能將阻止寄存器進(jìn)行不必要的翻轉,但時(shí)鐘樹(shù)仍然會(huì )翻轉,消耗功率。不過(guò)采用時(shí)鐘使能總比什么措施也沒(méi)有強。
  
隔離時(shí)鐘以使用最少數量的信號區。不使用的時(shí)鐘樹(shù)信號區不會(huì )翻轉,從而降低該時(shí)鐘網(wǎng)絡(luò )的負載。仔細布局可以在不影響實(shí)際設計的情況下達到此目標。
  
對 FPGA 顯然也可以使用同一概念。雖然 FPGA 不一定擁有待機模式,但使用一個(gè) CPLD 中途欄截總線(xiàn)數據并有選擇地將數據饋送到 FPGA 也可以省去不必要的輸入轉換。
  
CoolRunner-II CPLD 包含一種稱(chēng)為“數據門(mén)控”的功能,可以禁止引腳上的邏輯轉換到達 CPLD 的內部邏輯。該數據門(mén)控使能可通過(guò)片上邏輯或引腳來(lái)控制。   

狀態(tài)機設計
  
根據預測的下一狀態(tài)條件列舉狀態(tài)機,并選擇常態(tài)之間轉換位較少的狀態(tài)值。這樣,您就能夠盡可能減少狀態(tài)機網(wǎng)絡(luò )的轉換量(頻率)。確定常態(tài)轉換和選擇適當的狀態(tài)值,是降低功耗且對設計影響較小的一種簡(jiǎn)單方法。編碼形式越簡(jiǎn)單(一位有效編碼或格雷碼),使用的解碼邏輯也會(huì )越少。
本文地址:http://selenalain.com/thread-16558-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页