低功耗FPGA設計技術

2021-10-05 05:48:41 字數 2130 閱讀 9059

對設計中給定的驅動器,動態功耗由下式計算

p=cl×vdd2×f

cl是電容負載,vdd是電源電壓,f是開關頻率。

總功耗是每個驅動器功耗之總和。

在vdd固定的情況下,降低內部功耗就要降低平均邏輯開關頻率,減少每個時鐘沿處的邏輯開關總數、減少連線網路,特別是高頻訊號連線網路中的電容值。對低功率設計,需要從系統至工藝的每個設計級別中採取相應預防措施,級別越高,效果越好。

減少開關動作可在設計流程中的各個級別加以控制。當然,在設計週期最初階段的結構確定影響最大。設計者應統盤考慮時鐘門控、匯流排時分復用、減少毛刺、使用功率低的資料通路元件、減少高開關訊號的邏輯電平等。下面敘述某些常用的技巧。

這是最廣泛使用的方法,即在器件末使用時截斷時鐘來降低功耗。然而正確地截斷時鐘十分重要。門控訊號與門控邏輯應正確地設計,以消除時鐘線上的任何毛刺。再者,門控邏輯會增加時鐘的延時,影響建立時間與保持時間。由於抗熔斷是一種極快速的技術,引入的延時很小且容易控制。在使用時鐘門控時,使用者應仔細地安置門控邏輯,將時鐘網路的延時降低到最小限度。典型的門控邏輯如圖3所示。

這是一種在塊輸出不用時防止輸入訊號使塊開關工作的技巧。例如考慮乙個乘法器,它的輸出僅在某些特定條件下才使用。在此場合可增添乙個鎖存器,這樣每當輸出不用時,乘法器的輸入將阻止不必要的開關動作帶入乘法器(圖4)。乙個鎖存器只需乙個組合單元,並不占用過多晶元面積。

高密度設計的布局必須留有空地並相當地展開,才可完成,這便導致連線長,每個線上開關多,這些因素產生不良的時序結果並增加了功耗。此外,塊中的邏輯趨向於分類集結在一起,匯流排跨越不同塊時需走過較長的距離。在乙個設計中採用時分復用寬匯流排技術,可減少匯流排的數量,有利於時序和功耗。再者,在dsp設計中,資料是相關的,這表明大多數資料位並未改變狀態。攜帶相關資料的匯流排應盡量復用在一起,進一步減少mux、demux邏輯中的開關活動(圖5)。

毛刺是訊號趨於穩定前不必要的開關動作。每個時鐘沿改變了暫存器間組合邏輯的輸入。對每個節點而言,不同的輸入路徑有不同的延時,它將多次改變狀態。**節點上的毛刺與該節點的邏輯深度,也就是節點至最初輸入的邏輯門個數有關。**到達節點的邏輯錐體越深、越寬,毛刺也越多。降低邏輯深度,減少邏輯錐體的開關輸入可減少這類毛剌。流水線、時序驅動合成以及邏輯單元的合理對映能減少邏輯級的數量。

流水線是又一種技巧,它在很長組合路徑的中點引入暫存器。暫存器會增加等待時間,卻能增加速度,減少邏輯級。引入附加暫存器增加了一定的功耗,然而能極大地減少毛剌。例如,乙個用actgen生成的流水線16×16位不帶符號乘法器所消耗的功率比未使用流水線的同樣器件少。

重新安排「if-else」表示式,使用者可將毛刺或快變化訊號移至邏輯錐體的後部。這樣既減少開關動作的傳播,又降低了功耗。在合成時,合成工具總是試圖降低高開關概率輸入訊號的邏輯級,當輸入具有同等開關概率時,最好採用平衡樹來合成邏輯。

不同的資料通路元件對功耗產生不同的影響。例如,脈動進製具有少扇出,從而減少了邏輯面積,降低了功耗;然而它又使用了深開關傳播,因此就有乙個利弊權衡,折衷考慮。解碼器通常是重負荷的,向它提供乙個使能訊號可在解碼器不使用時防止輸出的不必要開關動作。對計數器,gray計數器具有最低開關率,應經常使用。對內部儲存器定址,也應使用gray定址。

狀態機在傳統上是按二進位制編碼的。然而採用gray編碼,相鄰狀態可減少瞬變的次數。有時不可能在所有狀態中使用gray編碼,則應在狀態向量中增加觸發器的數量以減少開關的次數。另一種方法是使用one-hot編碼,雖然該編碼使用的觸發器較多,即可減少組合邏輯的使用,在帶多個輸出且每個輸出是幾個狀態的函式的狀態機中更是如此。根據狀態機的形式,設計者可在gray、one-hot或二進位制間進行選擇。

雖然並不經常推薦使用非同步邏輯,有時它也能降低功耗。乙個例子是前文已提及的時鐘門控。時鐘大約消耗30%的總動態功率。在ex、sx/sx-a系列中,每個序列元件具有連線時鐘的時鐘選擇邏輯、乙個硬連時鐘(hclk)或常規連線資源。對每個已使用的觸發器,它的時鐘選擇邏輯以時鐘速率開關。減少時鐘輸入開關有助於降低功耗。例如乙個非同步二進位制計數器的功耗僅為同步計數器的一半。當然,非同步邏輯會帶來諸如競爭狀態,保持時間出錯的時序問題。因此使用非同步邏輯時特別推薦執行極小-極大條件下的時序模擬法。

雖然時鐘速率是固定的,有時也可採用低速並行而不是高速序列的方案。上文已提及,每個觸發器都有相應的時鐘選擇邏輯,時鐘切耗佔總功耗的很大一部分。任何旨在減少時鐘開關動作的措施都有助於降低功耗。由於actel的模組和連線結構具有低功率特片,使用附加邏輯模組來補償較低時鐘速率還是能節省功率的。

低功耗設計技術(下)

毛刺glitch 由組合電路中的訊號抖動導致 減少毛刺的方法 1 在合適的位置加上buffer 通過eda工具實現 2 加入觸發器同步 減少電晶體的數量就可以減少開關次數 表示式化簡,複合門,傳輸門 要考慮的功耗 平均功耗,最大功耗,待機功耗,關斷模式下的功耗,記憶體維持功耗,睡眠模式功耗 器件 電...

低功耗FPGA的研究

fpga的優勢 l fpga的優勢是可程式設計,設計好之後有什麼新修改,可以隨時新增進去 有什麼不需要 過時了,可以刪除。這樣,設計者的壓力和風險就降低很多。l fpga的計算效率比mcu高很多。l 比asic更快的市場投放週期。l 乙個解決方案裡元器件經常更換廠商,因此元器件之間的介面也在變。這時...

低功耗設計技術(上)

低功耗設計的原因 發熱,輻射,電池容量,環境,電遷移在高電流下導致的金屬短路斷路問題,熱載流子效應,ir drop,雜訊幅度 積體電路設計流程及對應的低功耗技術 系統 架構設計 軟硬體分離,架構的比較與選定,並行或流水線設計,單元模組的選定 rtl設計 門控時鐘,運算元隔離,記憶體分割 綜合 低功耗...