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

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

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

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

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

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

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

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