芯片設計進階之路——門級優(yōu)化和多閾值電壓
低功耗深入理解(三)
在《芯片設計進階之路——門控時鐘》里面介紹了門控時鐘。我們知道現在工具對門控時鐘的支持已經十分成熟了,基本不需要我們設計上做任何改變,就能自動實現。
還有兩種對設計影響小,而且比較成熟的低功耗技術是:
門級電路功耗優(yōu)化
多閾值電壓設計
這兩種技術和門控時鐘一樣,已經被EDA工具支持的很好,基本不需要我們在設計上額外做任何工作,就能很好的實現。我們只需要了解他們的概念和基本原理就行了。
1 門級電路的功耗優(yōu)化(Gate Level Power Optimization)
門級電路的功耗優(yōu)化(Gate Level Power Optimization,簡稱GLPO)是從已經映射的門級網表開始,對設計進行功耗的優(yōu)化以滿足功耗的約束,同時設計保持其性能,即滿足設計規(guī)則和時序的要求。功耗優(yōu)化前的設計是已經映射到工藝庫的電路,如下圖所示:

門級電路的功耗優(yōu)化包括了設計總功耗,動態(tài)功耗以及漏電功耗的優(yōu)化。對設計做優(yōu)化時,優(yōu)化的優(yōu)先次序如下:

從上到下,優(yōu)先級逐漸降低。優(yōu)化時,所產生的電路首先要滿足設計規(guī)則的要求,然后滿足延遲(時序)約束的要求,在滿足時序性能要求的基礎上,進行總功耗的優(yōu)化,再進行動態(tài)功耗的優(yōu)化和漏電功耗的優(yōu)化,最后對面積進行優(yōu)化。
優(yōu)化時先滿足更高級優(yōu)先權的約束。進行低級優(yōu)先權約束的優(yōu)化不能以犧牲更高優(yōu)先權的約束為代價。功耗的優(yōu)化不能降低設計的時序。為了有效地進行功耗優(yōu)化,需要設計中有正的時間冗余(timing slacks)。功耗的減少以時序路徑的正時間冗余作為交換,即功耗優(yōu)化時會減少時序路徑上的正的時間冗余。因此,設計中正的時間冗余越多,就越有潛力降低功耗。
比如下面的例子:

在上圖中,與門輸出具有特別高的翻轉率。因為它后面有一個NOR門,所以可以將兩個門重新映射到一個AND-OR門加上一個反相器,這樣高翻轉的Net就變成了AND-OR內部的信號線了?,F在就不需在AND門后接一個大電容來支持高翻轉的輸出,有效降低了動態(tài)功耗。
再看一個例子:

在上圖中,左邊多輸入與門中,高翻轉率的信號映射到了高功率輸入引腳,低翻轉信號映射到了低功率引腳。對于多輸入門,不同引腳的輸入電容可能差異很大——因此功率可能存在顯著差異。通過重新映射,使高翻轉信號映射到低功率輸入端,可以降低動態(tài)功耗。
與時鐘門控一樣,門級功耗優(yōu)化由EDA工具來實現,并且對于RTL設計人員是透明的。我們只需要了解這個概念,知道有這個優(yōu)化就足夠了。
2 多閾值電壓設計(Multi-Threshold Logic)
多閾值電壓指的是在工藝庫中,同一種功能的門會有多種閾值電壓的cell,這樣在不同的邏輯里就能通過選擇不同的閾值電壓來降低靜態(tài)功耗。
多閾值電壓是用來降低靜態(tài)功耗,也就是漏電功耗的。為什么多閾值電壓技術可以降低漏電功耗呢?
這是基于下面兩個結論:
1. 閾值電壓VT越高,泄露功耗越小;
2. 閾值電壓VT越高,門延時越大;
如下圖所示:

一個更直觀的圖如下:(一個90nm庫的數據)

可以看到,泄露功耗隨著VT提高,呈指數級減少,有時LVT和HVT可以相差100倍。但是器件延時隨VT增加卻不是指數級的,但是還是VT越高,延時越大。
泄露功耗主要來源于亞閾值漏電流(Sub-threshold Leakage)引起的功耗(詳細描述可以參考之前的文章)。一個比較好的計算公式如下:

W/L是晶體管的尺寸,Vth是熱相關常量;Cox/Vth/W/L都是工藝相關,不可以調整。VGS就是VDD;
VT是閾值電壓;可以看到,閾值電壓越高,漏電功耗就越低。但是閾值電壓越高,對應的翻轉速度就會越慢,延時就會越大,性能就越差。
一般綜合時,會先用HVT的cell去綜合,然后在critical path上如果有timing不過,再用LVT去修。但是一般會限制LVT的數量,防止泄露功耗太大。因為亞閾值泄漏電流隨溫度呈指數增長(Vth)。即使在室溫下的泄漏是可以接受的,在最壞的情況下,溫度會超過芯片的設計目標。
后記
門控時鐘,門級優(yōu)化和多閾值電壓技術已經是很常見,普遍使用的低功耗技術?,F在工具和Flow已經能夠很好的支持。但是作為設計人員,還是需要了解其基本原理,文中的描述已經足夠大多數人的需求了。