功耗的三個(gè)主要來源是啟動(dòng)、待機(jī)和動(dòng)態(tài)功耗。器件上電時(shí)產(chǎn)生的相關(guān)電流即是啟動(dòng)電流。
靜態(tài)功耗是指一個(gè)電路維持在一個(gè)或另一個(gè)邏輯狀態(tài)時(shí)所需的功率??梢酝ㄟ^觀察電路中每個(gè)電阻元件的電流I和壓降V來計(jì)算每個(gè)元件的功率VI,并求和得到總功率,這就是沒有負(fù)載的情況下的靜態(tài)功耗,也就是我們通常在數(shù)據(jù)手冊(cè)上看到的標(biāo)稱值。
FPGA設(shè)計(jì)中常用的一些可以降低功耗的方法:
1.狀態(tài)機(jī)編碼:大量的邏輯資源是由實(shí)現(xiàn)的有限狀態(tài)機(jī)的類型來定義的。One-hlt狀態(tài)機(jī)編碼創(chuàng)建每個(gè)狀態(tài)的一個(gè)觸發(fā)器的狀態(tài)機(jī),與Gray和二進(jìn)制狀態(tài)機(jī),較少利用one-hot狀態(tài)機(jī)可以獲得功效更好的設(shè)計(jì)。一些綜合器軟件能自動(dòng)對(duì)狀態(tài)機(jī)進(jìn)行編碼,但最有效的方法是直接在HDL代碼中定義狀態(tài)值。
2.保護(hù)賦值:賦值保護(hù)的關(guān)鍵在于:若最終的輸出不需要更新,則阻止輸入信號(hào)向下傳播到其它邏輯塊。對(duì)輸入信號(hào)的賦值保護(hù)可確保僅在適當(dāng)時(shí)改變輸出值,從而將不必要的輸出開關(guān)減至最少。
在大型組合邏輯(例如寬總線復(fù)用器)的輸入端加鎖存器,這能抑制無效的開關(guān)活動(dòng),因?yàn)閮H當(dāng)輸出需要更新時(shí)輸入才被鎖好。類似地,可利用控制寄存器來打開或關(guān)閉低級(jí)別的模塊(如子模塊中的狀態(tài)機(jī))。使大總線和子模塊保持在一個(gè)恒定狀態(tài)有助于減少不相關(guān)輸出開關(guān)的數(shù)量。
3.組合環(huán):在不注意的時(shí)候,設(shè)計(jì)師偶爾可能在FPGA設(shè)計(jì)中創(chuàng)建了組合環(huán)。當(dāng)一組相關(guān)的組合邏輯在特定的條件下不斷振蕩時(shí),就會(huì)形成這些組合環(huán)。振蕩器將消耗FPGA中的許多電流。因此,最好是評(píng)估振蕩器,或確保在重新評(píng)估之前任何反饋邏輯都由一個(gè)寄存器來進(jìn)行門控。
4.門控時(shí)鐘:對(duì)于暫時(shí)不使用的模塊,系統(tǒng)可以減慢或停止其時(shí)鐘。在任一給定時(shí)間,通過時(shí)鐘可以節(jié)省功耗。門控時(shí)鐘可以極大地節(jié)省功耗,因?yàn)橛性?a href="http://www.delux-kingway.cn/tags/時(shí)鐘緩沖器/" target="_blank">時(shí)鐘緩沖器的數(shù)目減少,翻轉(zhuǎn)觸發(fā)器的次數(shù)將減少,因而那些觸發(fā)器的輸出端將減少可能反轉(zhuǎn)。門控時(shí)鐘要求仔細(xì)地規(guī)劃和分割算法,但節(jié)省的功耗相當(dāng)可觀。
推薦閱讀:http://www.delux-kingway.cn/article/83/116/2016/20160531420946.html
-
FPGA
+關(guān)注
關(guān)注
1630文章
21802瀏覽量
606400 -
寄存器
+關(guān)注
關(guān)注
31文章
5372瀏覽量
121293 -
功耗
+關(guān)注
關(guān)注
1文章
828瀏覽量
32104
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
FPGA低功耗設(shè)計(jì)
降低電路漏電功耗的低功耗設(shè)計(jì)方法
![<b class='flag-5'>降低</b>電路漏電<b class='flag-5'>功耗</b>的<b class='flag-5'>低功耗</b>設(shè)計(jì)<b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/C6/A6/o4YBAF9hxWaAayGdAATfsJgfjtw357.png)
FPGA低功耗設(shè)計(jì)小貼士
FPGA設(shè)計(jì)技巧,如何能有效降低靜態(tài)功耗?
FPGA設(shè)計(jì)怎么降低功耗
如何利用FPGA滿足電信應(yīng)用中的降低功耗要求?
如何降低FPGA設(shè)計(jì)的功耗?
FPGA設(shè)計(jì)中常用的低功耗技術(shù)是什么?
FPGA的低功耗該怎么設(shè)計(jì)?
FPGA中靜態(tài)功耗的分布及降低靜態(tài)功耗措施
實(shí)現(xiàn)降低FPGA設(shè)計(jì)的動(dòng)態(tài)功耗的解決方案
具有低功耗意識(shí)的FPGA設(shè)計(jì)方法
![具有<b class='flag-5'>低功耗</b>意識(shí)的<b class='flag-5'>FPGA</b>設(shè)計(jì)<b class='flag-5'>方法</b>](https://file1.elecfans.com//web2/M00/A5/60/wKgZomUMOCWAW_2dAACB1Kjuzbc072.jpg)
評(píng)論