SoC系統的低功耗設計
關(guān)鍵詞:VLSI SoC CMOS集成電路 低功耗設計
引言
從20世紀80年代初到90年代初的10年里,微電子領(lǐng)域的很多研究工作都集中到了數字系統速度的提高上,現如今的技術(shù)擁有的計算能力能夠使強大的個(gè)人工作站、復雜實(shí)時(shí)語(yǔ)音和圖像識別的多媒體計算機的實(shí)現成為可能。高速的計算能力對于百姓大眾來(lái)說(shuō)是觸指可及的,不像早些年代那樣只為少數人服務(wù)。另外,用戶(hù)希望在任何地方都能訪(fǎng)問(wèn)到這種計算能力,而不是被一個(gè)有線(xiàn)的物理網(wǎng)絡(luò )所束縛。便攜能力對產(chǎn)品的尺寸、重量和功耗加上嚴格的要求。由于傳統的鎳鉻電池每磅僅能提供20W.h的能量,因而功耗就變得尤為重要。電池技術(shù)正在改進(jìn),每5年最大能將電池的性能提高30%,然而其不可能在短期內顯著(zhù)地解決現在正遇到的功耗問(wèn)題。
雖然傳統可便攜數字應用的支柱技術(shù)已經(jīng)成功地用于低功耗、低性能的產(chǎn)品上,諸如電子手表、袖珍計算器等等,但是有很多低功耗、高性能可便攜的應用一直在增長(cháng)。例如,筆記本計算機就代表了計算機工業(yè)里增長(cháng)最快的部分。它們要求與桌上計算機一樣具有同樣的計算能力。同樣的要求在個(gè)人通信領(lǐng)域也正在迅速地發(fā)展,如采用了復雜語(yǔ)音編解碼算法和無(wú)線(xiàn)電調制解調器的帶袖珍通信終端的新一代數字蜂窩網(wǎng)。已提出的未來(lái)個(gè)人通信服務(wù)PCS(Personal Communication Services)應用對這些要求尤其明顯,通用可便攜多媒體服務(wù)是要支持完整的數字語(yǔ)音和圖像辨別處理的。在這些應用中,不僅語(yǔ)音,而且數據也要能在無(wú)線(xiàn)鏈路上傳輸。這就為實(shí)現任何人在任何地方的任何時(shí)間開(kāi)展任何想要的業(yè)務(wù)提供了可能。但是,花在對語(yǔ)音、圖像的壓縮和解壓上的功耗就必須附加在這些可便攜的終端上。確實(shí),可便攜能力已經(jīng)不再明顯地和低性能聯(lián)系在一起了;相反,高性能且可便攜的應用正在逐步得到實(shí)現。
當功率可以在非便攜環(huán)境中獲得時(shí),低功耗設計的總理也變得十分關(guān)鍵。直到現在,由于大的封裝、散熱片和風(fēng)扇能夠輕而易舉地散掉芯片和系統所產(chǎn)生的熱,其功耗還未引起多大的重視。然而,隨著(zhù)芯片和系統尺寸持續地增加,要提供充分的散熱能力就必須付出重要代價(jià),或使所提供的總體功能達到極限時(shí),設計高性能、低功耗數字系統方法的需求就會(huì )變得更為顯著(zhù)。幸好,現在已經(jīng)發(fā)展了許多技術(shù)來(lái)克服這些矛盾。
由于可以高度集成,并具有低功耗、輸入電流小、連接方便和具有比例性等性質(zhì),CMOS邏輯電路被認為是現今最通用的大規模集成電路技術(shù)。下面研究CMOS集成電路的功耗組成,概述實(shí)現集成電路――SoC(System on Chip)系統的低功耗設計的諸多方法。目的在于揭示當今電子系統結構復雜度、速度和其功耗的內在聯(lián)系,在及在數字電子系統設計方向上潛在的啟示。
1 CMOS集成電路功耗的物理源
要研究SoC的低功耗設計,首先要物理層次上弄清該集成電路的功耗組成,其次,才能從物理實(shí)現到系統實(shí)現上采用各種方法來(lái)節省功耗,達到低功耗設計的目的。圖1為典型CMOS數字電路的功耗物理組成。
(1)動(dòng)態(tài)功耗
動(dòng)態(tài)功耗是由電路中的電容引起的。設C為CMOS電路的電容,電容值為PMOS管從0狀態(tài)到H狀態(tài)所需的電壓與電量的比值。以一個(gè)反相器為例,當該電壓為Vdd時(shí),從0到H狀態(tài)變化(輸入端)所需要的能量是CVdd2。其中一半的能量存儲在電容之中,另一半的能量擴展在PMOS之中。對于輸出端來(lái)說(shuō),它從H到0過(guò)程中,不需要Vdd的充電,但是在NMOS下拉的過(guò)程中,會(huì )把電容存儲的另一半能量消耗掉。如果CMOS在每次時(shí)鐘變化時(shí)都變化一次,則所耗的功率就是CBdd2f,但并不是在每個(gè)時(shí)鐘跳變過(guò)程之中,所有的CMOS電容都會(huì )進(jìn)行一次轉換(除了時(shí)鐘緩沖器),所以最后要再加上一個(gè)概率因子a。電路活動(dòng)因子a代表的是,在平均時(shí)間內,一個(gè)節點(diǎn)之中,每個(gè)時(shí)鐘周期之內,這個(gè)節點(diǎn)所變化的幾率。最終得到的功耗表達式為:Psw=aCVdd2f。
(2)內部短路功耗
CMOS電路中,如果條件VtnVinVdd-|Vtp|(其中Vtn是NMOS的門(mén)限電壓,Vtp是PMOS的門(mén)限電壓)成立,這時(shí)在Vdd到地之間的NMOS和PMOS就會(huì )同時(shí)打開(kāi),產(chǎn)生短路電流。在門(mén)的輸入端上升或者下降的時(shí)間比其輸出端的上升或者下降時(shí)間快的時(shí)候,短路電流現象會(huì )更為明顯。為了減少平均的短路電路,應盡量保持輸入和輸出在同一個(gè)沿上。
一般來(lái)說(shuō),內部短路電流功耗不會(huì )超過(guò)動(dòng)態(tài)功耗的10%。而且,如果在一個(gè)節點(diǎn)上,VddVtn+|Vtp|的時(shí)候,短路電流會(huì )被消除掉。
(3)靜態(tài)漏電功耗
靜態(tài)漏電掉的是二極管在反向加電時(shí),晶體管內出現的漏電現象。在MOS管中,主要指的是從襯底的注入效應和亞門(mén)限效應。這些與工藝有關(guān),而且漏電所造成的功耗很小,不是考慮的重點(diǎn)。
表1為CMOS集成電路中主要的耗電類(lèi)型。
表1 CMOS集成電路中主要的耗電類(lèi)型
類(lèi) 型 | 公 式 | 比 率 |
動(dòng)態(tài)功耗(switching power) | Psw=aCVdd2f | 70%~90% |
內部短路功耗(internal short-circuit power) | Pint=IintVdd | 10%~30% |
靜態(tài)漏電功耗(static leakage power) | Pleak=IleakVdd | 1% |
總功耗(total power) | Ptotal=Psw+Pint+Pleak | 100% |
(4)小結
通過(guò)設計工藝技術(shù)的改善,Pint和Pleak能被減小到可以忽略的程度,因而Psw也就成為功耗的主要因素。后面所做的功耗優(yōu)化大部分是圍繞這一個(gè)公式來(lái)進(jìn)行的。對于SoC來(lái)說(shuō),所有的方法都是圍繞著(zhù)動(dòng)態(tài)功耗來(lái)做文章的,因為在電路信號變化時(shí),功耗消耗主要在電路中電容的充放電過(guò)程。如果從各個(gè)層次、各個(gè)方面盡量減少電路的充放電,將是我們關(guān)心的主題。
2 降低集成電路SoC功耗的方法
功耗對于一個(gè)便攜式SoC數字系統來(lái)說(shuō)尤為重要。事實(shí)上,很多便攜式SoC系統的設計,是先進(jìn)行功耗分析,由功耗分析的結果再來(lái)劃分設計結構??梢哉f(shuō),功耗將可能決定一切?,F在要做的是,根據功耗分析的結果,評判SoC結構,改進(jìn)設計,優(yōu)化方案。
SoC系統的功耗所涉及的內容十分廣泛,從物理實(shí)現到系統實(shí)現都可以采用各種方法來(lái)節省和優(yōu)化功耗。通過(guò)對國外大量文獻的查閱,我們得到了常用的實(shí)現低功耗設計的各種較為有效的方法,如表2所列。
表2 常用實(shí)現低功耗的各種方法
類(lèi) 型 | 采用方法 | 效 果 |
行為級(系統級) | Concurrency memor | 幾倍 |
軟件代碼 | 軟件優(yōu)化 | 32.3% |
功率管理 | Clock控制 | 10%~90% |
RTL級 | 結構變換 | 10%~15% |
綜合技術(shù) | 合成與分解邏輯 | 15% |
綜合技術(shù) | 映射 門(mén)級優(yōu)化 | 20% 20% |
布局 | 布局優(yōu)化 | 20% |
(1)系統級功耗管理
這一部分實(shí)際上是動(dòng)態(tài)功耗管理。主要做法是在沒(méi)有操作的時(shí)候(也就是在SoC處于空閑狀態(tài)的時(shí)候),使SoC運作于睡眠狀態(tài)(只有部分設備處于工作之中);在預設時(shí)間來(lái)臨的時(shí)候,會(huì )產(chǎn)生一個(gè)中斷。由這個(gè)中斷喚醒其它設備。實(shí)際上,這一部分需要硬件的支持,如判斷,周期性的開(kāi)、關(guān)門(mén)控時(shí)鐘(gate clock)等。
(2)軟件代碼優(yōu)化
軟件代碼優(yōu)化是針對ARM嵌入式處理器而言的。對于編譯器來(lái)說(shuō),所起的使用不到1%,而對于代碼的優(yōu)化則可以產(chǎn)生高達90%的功耗節省。Simunic等人曾分別做過(guò)用各種針對ARM處理器的編譯器進(jìn)行的試驗。比此的實(shí)驗結果發(fā)展,風(fēng)格比較好的代碼產(chǎn)生的效果遠比用ARM編譯器優(yōu)化的效果好。
(3)Clock控制
這是在A(yíng)SIC設計中行之有效的方法之一。如果SoC芯片在正常工作,有很大一部分模塊(它們可能是用于一些特殊用途中,如調試Debug、程序下載等)是乖于空閑狀態(tài)的,這些器件的空運作會(huì )產(chǎn)生相當大的功耗。這一部分應使用時(shí)鐘控制,即clock enable disable。
(4)RTL級代碼優(yōu)化
與軟件相似,不同的RTL(Register Transfer Level,寄存器傳輸級)代碼,也會(huì )產(chǎn)生不同的功耗,而且RTL代碼的影響比軟件代碼產(chǎn)生的影響可能還要大。因為,RTL代碼最終會(huì )實(shí)現為電路。電路的風(fēng)格和結構會(huì )對功耗產(chǎn)生相當重要的影響。
RTL級代碼優(yōu)化主要包括:
①對于CPU來(lái)說(shuō),有效的標準功耗管理有睡眠模式和部分未工作模塊掉電。
②硬件結構的優(yōu)化包括能降低工作電壓Vdd的并行處理、流水線(xiàn)處理以及二者的混合處理。
③降低寄存電容C的片內存儲器memory模塊劃分。
④降低活動(dòng)因子a的信號門(mén)控、減少glitch(毛刺)的傳播長(cháng)度、Glitch活動(dòng)最小化、FSM(有限狀態(tài)機)狀態(tài)譯碼的優(yōu)化等。
⑤由硬件實(shí)現的算法級的功耗優(yōu)化有:流水線(xiàn)和并行處理、Retiming(時(shí)序重定)、Unfolding(程序或算法的展開(kāi))、Folding(程序或算法的折疊)等等基本方法以及其組合。
(5)后端綜合與布線(xiàn)優(yōu)化
既然SoC的功耗與寄生電容的充放電有很大的關(guān)系,作為后端綜合與布線(xiàn),同樣也可采取一些措施來(lái)減少寄存器電容??梢?xún)?yōu)化電路,減少操作(電路的操作),選擇節能的單元庫,修改信號的相關(guān)關(guān)系,再次綜合減少毛刺的產(chǎn)生概率。
實(shí)際上,這一部分與使用的工具有關(guān)。與軟件部分有相同之處,后端綜合與布線(xiàn)同軟件的編譯差不多。軟件編譯的結果是產(chǎn)生可執行的機器代碼;而RTL的綜合與布線(xiàn)是把RTL代碼編譯成真實(shí)的電路。但是,后端綜合與布線(xiàn)優(yōu)化比較編譯優(yōu)化有更好的效果。這是因為一段RTL代碼所對應的電路是可以有多種形式的;同時(shí)現有些編譯器會(huì )根據設計者提供的波形,智能地修改電路(前提是最終電路的效果還是一樣的),編譯器就會(huì )進(jìn)行相關(guān)的優(yōu)化。但是后端綜合的優(yōu)化與RTL級代碼優(yōu)化和時(shí)鐘控制相比,同樣的RTL級與時(shí)鐘優(yōu)化所產(chǎn)生的影響要遠大于用編譯工具所產(chǎn)生的影響。
(6)功耗的精確計算
后端綜合與布線(xiàn)工具不但可以根據基本單元提供的功耗參數進(jìn)行優(yōu)化,還可以根據這些參數估算出整個(gè)SoC的功耗。正因為有這樣一些工具,使我們可以精確地知道我們所設計的是否達到設計要求。萬(wàn)一設計功耗不符合總體要求,則可能要求從系統級到物理綜合布線(xiàn)都要做出檢查與分析,做出可能的改進(jìn),盡可能地減少功耗以達到設計要求。
(7)小結
從上面的各種降低以及估算功耗的方法可以看出,SoC系統的拉耗優(yōu)化涉及到從物理實(shí)現到系統實(shí)現的方方面面,是芯片設計中一個(gè)十足的系統工程??梢哉f(shuō),功耗可以決定一切。
結語(yǔ)
本文首先分析了CMOS集成電路的功耗物理組成,得到了其主要功耗成分。其次,以該主要功耗成分數學(xué)表達式為指導,突出了SoC低功耗設計的各種級別層次的不同方法。不管是現在還是將來(lái),該領(lǐng)域的重要性將會(huì )日益顯著(zhù)。在下面的一些發(fā)展方向還將會(huì )有較大的發(fā)展:
①實(shí)現SoC系統設計的變換以及映射技術(shù)的進(jìn)一步探索。
②將各種低功耗設計手段按照各性質(zhì)最佳綜合起來(lái),以便使用基于人工智能的技術(shù)(如遺傳算法和啟發(fā)式算法等等)來(lái)研究。
③發(fā)展以實(shí)現低功耗為目的CPU指令程序的改寫(xiě)技術(shù),以將其擴展到復雜SoC系統的設計中。
④進(jìn)一步研究應用于SoC低功耗設計的編碼和信號表示技術(shù)。
⑤擴展功耗估算模型的數量以覆蓋所有的SoC系統模式,等等。
隨著(zhù)便攜式和移動(dòng)計算要求的進(jìn)一步增長(cháng),集成電路―SoC的低功耗設計將變成一個(gè)越來(lái)越重要且必須面臨的問(wèn)題。它對開(kāi)發(fā)新型電子產(chǎn)品,其意義重大。
評論