在早期的IC設(shè)計中,關(guān)注的參數(shù)主要是性能(timing)和面積(area)。EDA工具在滿足性能要求的情況下,最小化面積。此時,功耗是一個不怎么被關(guān)心的問題。
因為CMOS工藝在相對較低的時鐘頻率下具有相當(dāng)?shù)偷墓模╇娏骺珊雎圆挥嫛kS著晶體管密度和時鐘頻率的提高,CMOS工藝的靜態(tài)功耗也大幅增加。同時,電源電壓和閾值電壓的降低導(dǎo)致漏電流增加。
這些因素使得功耗成為影響性能和面積的關(guān)鍵參數(shù),功耗問題變得和性能/面積一樣重要了。
高功耗帶來的問題
功耗過高會帶來多方面的負(fù)面影響。
導(dǎo)致芯片溫度升高,需要使用更貴的陶瓷封裝和散熱系統(tǒng)。
溫度過高還會降低芯片的可靠性和壽命。
縮短便攜式設(shè)備的電池續(xù)航時間。隨著功能的增加,電池技術(shù)已經(jīng)跟不上功耗的需求。
增加大規(guī)模使用電子設(shè)備的供電成本和環(huán)境負(fù)擔(dān)。即使微小的功耗降低也可以為用戶節(jié)省大量的費用和資源。
動態(tài)功耗和靜態(tài)功耗
IC設(shè)計中要考慮動態(tài)功耗和靜態(tài)功耗。
動態(tài)功耗是晶體管開關(guān)時消耗的功耗,與時鐘頻率和開關(guān)活動有關(guān)。
靜態(tài)功耗是晶體管泄漏電流造成的功耗,與時鐘頻率或開關(guān)活動無關(guān)。
動態(tài)功耗由開關(guān)功耗和短路功耗組成。開關(guān)功耗是電路負(fù)載電容充放電時消耗的功耗。短路功耗是電路邏輯狀態(tài)變化時流過PMOS管-NMOS管的短路電流消耗的功耗。下圖展示了開關(guān)功耗的原因。
反相器輸出從0變?yōu)?時,通過PMOS管對負(fù)載電容充電;從1變?yōu)?時,通過NMOS管對負(fù)載電容放電。因此,動態(tài)功耗與電源電壓、電容負(fù)載、時鐘頻率和開關(guān)活動有關(guān)。
在早期CMOS技術(shù)中,泄漏電流很小。但是,隨著晶體管尺寸和閾值電壓減小,泄漏功耗增大,有時甚至達(dá)到動態(tài)功耗水平。晶體管只要接通電源,就會產(chǎn)生泄漏電流。減慢或停止時鐘不能降低泄漏功耗。只有降低或關(guān)閉電源電壓才能減少或消除泄漏功耗。
低功耗設(shè)計方法
降低功耗是數(shù)字IC設(shè)計中的一個重要目標(biāo)。為此,可以從RTL級別和門級別采用不同的設(shè)計策略。時鐘門控(clock gating)是一種常用的方法,可以在寄存器保持不變的時候停止其時鐘信號,從而減少動態(tài)功耗。其他的方法,例如動態(tài)電壓和頻率調(diào)節(jié),雖然可以根據(jù)工作負(fù)載調(diào)整電壓和頻率,但實施難度較大。
隨著工藝技術(shù)的進步,功耗問題變得越來越突出,需要開發(fā)更多的方法來滿足設(shè)計的功耗要求。
1、降低電源電壓
降低電源電壓是一種最基本的降低功耗的方法。因為功耗與電源電壓的平方成正比,如圖所示
如果電源電壓降低50%,則功耗可以降低75%。CMOS技術(shù)為了降低功耗,不斷降低電源電壓。從20世紀(jì)80年代雙極TTL電路的5V供電開始,到目前的先進工藝,電源電壓已經(jīng)降到約1 V左右。但是降低電源電壓也會影響開關(guān)速度和抗噪聲能力,并且增加泄漏電流和接口難度等問題。
2、時鐘門控
時鐘門控是一種有效的降低動態(tài)功耗的方法,它可以在寄存器保持相同邏輯值的時候停止其時鐘信號,從而避免不必要的開關(guān)活動。時鐘門控的實現(xiàn)如圖所示:
時鐘門控適用于在多個時鐘周期內(nèi)需要保持相同邏輯值的寄存器。關(guān)閉時鐘可以節(jié)省每個時鐘周期重新觸發(fā)寄存器所消耗的功耗。時鐘門控的主要挑戰(zhàn)是找到合適的位置,并在合適的時機生成時鐘門控信號。?時鐘門控是一種成熟的降低功耗技術(shù),已經(jīng)被廣泛使用了很多年。Power Compiler等綜合工具可以在時鐘路徑上自動插入時鐘門控單元。時鐘門控實現(xiàn)起來相對簡單,因為它只需要修改網(wǎng)表。
3、多閾值標(biāo)準(zhǔn)單元庫
一些CMOS標(biāo)準(zhǔn)單元工藝庫提供了具有不同閾值(Vt)的標(biāo)準(zhǔn)單元。這樣,標(biāo)準(zhǔn)單元庫可以提供具有不同閾值電壓的標(biāo)準(zhǔn)單元來實現(xiàn)相同的邏輯功能。例如,該庫可以提供兩個反相器單元:一個使用低閾值(Low-Vt)晶體管,另一個使用高閾值(High-Vt)晶體管。
低閾值單元具有更高的速度和更大的泄漏電流。
高閾值單元具有較小的泄漏電流,但速度較慢。
綜合工具可以根據(jù)速度和功耗之間的trade-off選擇合適類型的標(biāo)準(zhǔn)單元。
例如,它可以在關(guān)鍵路徑上使用低閾值單元,在非關(guān)鍵路徑上使用高閾值單元。
4、多電壓設(shè)計
芯片的不同部分可能具有不同的速度要求。例如,CPU和RAM模塊可能需要比外圍模塊更快。如前所述,較低的電源電壓可以降低功耗,但也會降低速度,如圖所示。?
在單個芯片上提供兩個或更多電源電壓會帶來一些復(fù)雜性,并且電源網(wǎng)格必須將每個電壓源分別分配給適當(dāng)?shù)哪K。如果邏輯信號從一個電壓域進入另一個電壓域,則需要一個電平轉(zhuǎn)換器(level-shifter)單元產(chǎn)生具有合適的電壓擺幅的信號。在上圖所示的示例中,電平轉(zhuǎn)換器將1.0V的信號轉(zhuǎn)換為1.5V的信號。電平轉(zhuǎn)換器本身需要兩個與輸入和輸出電源電壓相匹配的電源。??
電源開關(guān)是一種降低功耗的技術(shù),它可以在芯片的一部分不需要工作時將其斷電。
例如,在手機芯片中,當(dāng)手機處于待機模式時,可以關(guān)閉語音處理模塊。當(dāng)用戶撥打或接聽電話時,語音處理模塊必須從斷電狀態(tài)“喚醒”。
電源開關(guān)可以顯著降低總體功耗,因為它既降低了靜態(tài)功耗又降低了動態(tài)功耗。但它也帶來了一些其他挑戰(zhàn),包括需要電源控制、電源開關(guān)網(wǎng)絡(luò)、隔離單元(isolation cells)和保留寄存器(retention registers)等。
電源控制是一個邏輯塊,用于確定何時斷電和上電。打開和關(guān)閉電源需要一定的時間和功耗成本,因此電源控制器應(yīng)確定合適的斷電時間。可以被斷電的模塊必須連接到由大量串聯(lián)晶體管組成的,在always-on的電源軌道和電源引腳之間的電源開關(guān)網(wǎng)絡(luò)。電源開關(guān)網(wǎng)絡(luò)分布在模塊的周圍或內(nèi)部。
當(dāng)打開時,它將電源連接到模塊中的邏輯門。
當(dāng)關(guān)閉時,它將模塊中的邏輯門與電源斷開。
采用多閾值CMOS(MTCMOS)工藝的高閾值晶體管作為電源開關(guān)是因為它們可以最大限度地減少泄漏功耗,并且它們的開關(guān)速度不是非常關(guān)鍵。PMOS開關(guān)可以放置在VDD和模塊的電源引腳之間,NMOS開關(guān)可以放置在VSS和模塊接地引腳之間,如圖所示。
要合理地選擇開關(guān)的數(shù)量、驅(qū)動強度和位置,以保證在模塊工作時達(dá)到可接受的電壓降(IR Drop)。??
上圖所示的電源開關(guān)策略稱為粗粒度策略,因為整個模塊共用一個或多個并聯(lián)的電源開關(guān)。在細(xì)粒度策略中,每個庫單元都有自己的獨立的電源開關(guān)。細(xì)粒度策略可以進一步降低功耗,但也需要更多的面積。
在信號從斷電模塊傳輸?shù)絘lways-on模塊時,需要使用隔離單元(isolation cells)。隔離單元可以在斷電模塊斷電時向always-on模塊提供一個固定的邏輯值,從而避免可能產(chǎn)生的泄漏電流。隔離單元的一個簡單實現(xiàn)如圖所示。
當(dāng)左邊的模塊上電時,信號Iso為低電平,輸出信號通過隔離單元不變(除了延遲)。當(dāng)左邊的模塊關(guān)閉時,Iso為高電平,輸出信號保持恒定的邏輯0。其他類型的隔離單元可以保持邏輯1或者斷電時的信號值。在模塊斷電期間,隔離單元本身必須有always-on的電源。??
電源開關(guān)可以與多電壓技術(shù)結(jié)合使用。不同的模塊可以在不同電壓下工作,并且也可以分別斷電。在這種情況下,不同模塊之間的接口單元必須同時具備電平轉(zhuǎn)換和隔離功能。這種類型的單元稱為使能電平轉(zhuǎn)換器(enable level shifter)。該單元必須有兩個獨立的電源,就像普通的電平轉(zhuǎn)換器一樣。
當(dāng)模塊被斷電后再上電時,通常需要模塊恢復(fù)到斷電前的狀態(tài)。有幾種方法可以實現(xiàn)這一目標(biāo)。例如,斷電前可以將模塊內(nèi)的寄存器內(nèi)容復(fù)制到模塊外的RAM中,然后在上電后再復(fù)制回來。
另一種方法是在斷電模塊中使用保留寄存器。斷電前,保留寄存器可以將數(shù)據(jù)保存到影子寄存器(shadow register)中,在斷電期間保留數(shù)據(jù)。上電后,它可以將數(shù)據(jù)從影子寄存器恢復(fù)到主寄存器中。影子寄存器有always-on的電源,但它使用高閾值晶體管,以最大限度地減少斷電期間的泄漏功耗。主寄存器使用快速但漏電的低閾值晶體管。保留寄存器的一個實現(xiàn)如圖所示。
SAVE信號在斷電和恢復(fù)之前將寄存器數(shù)據(jù)保存到影子寄存器中,RESTORE信號在上電后恢復(fù)數(shù)據(jù)。保留寄存器使用電平敏感的控制信號,而不是邊沿敏感的SAVE和RESTORE信號。??
保留寄存器占用比普通寄存器更大的面積,并且除了模塊其余部分使用的電源外,它還需要一個always-on的電源。
6、動態(tài)電壓和頻率調(diào)節(jié)
在多電壓技術(shù)的基礎(chǔ)上,可以根據(jù)芯片的實時工作負(fù)載動態(tài)地調(diào)整電壓和頻率,從而優(yōu)化功耗。例如,在筆記本電腦中,處理器芯片在執(zhí)行簡單的電子表格計算時可以使用較低的電壓和頻率,從而節(jié)省功耗;而在進行3-D圖像渲染時,則可以使用較高的電壓和頻率,以提高性能。這種根據(jù)工作負(fù)載要求變化供電電壓和工作頻率的技術(shù)稱為動態(tài)電壓和頻率調(diào)節(jié)。
芯片電源可以設(shè)計為具有多個離散的或連續(xù)的電壓等級。動態(tài)電壓調(diào)節(jié)需要有多級電源和邏輯模塊來確定給定任務(wù)所需的最佳電壓等級。
由于存在多種可能的電壓等級和頻率組合,設(shè)計、實現(xiàn)、驗證和測試都非常具有挑戰(zhàn)性。
動態(tài)電壓調(diào)節(jié)可以與電源開關(guān)技術(shù)相結(jié)合。設(shè)計中的模塊可以在不同的電壓等級下工作,以滿足不同的性能要求,或者在不使用時完全斷電。
審核編輯:劉清
評論