眾所周知,隨著芯片越來(lái)越大,功能越來(lái)越豐富,以及移動(dòng)市場(chǎng)的切實(shí)需求,低功耗的芯片設(shè)計(jì),越來(lái)越受到推崇。這里,結(jié)合多年的低功耗設(shè)計(jì)經(jīng)驗(yàn),把一些理念和方法,分享給各位。
通過(guò)一些理論書籍,大家都知道功耗的來(lái)源主要分為兩種,一種是動(dòng)態(tài),一種是靜態(tài)。
先來(lái)看一下,動(dòng)態(tài)功耗的計(jì)算公式為,
dynamic power = switching power + internal power
switching power 計(jì)算公式為:
由此可知,動(dòng)態(tài)功耗和頻率、關(guān)斷時(shí)的負(fù)載電容以及電壓的平方成正比,換言之,可以通過(guò),改變頻率、負(fù)載電容以及電壓來(lái)改變動(dòng)態(tài)功耗。
internal power 計(jì)算公式為
這里的tsc指的是NMOS/PMOS internal短路的時(shí)間。Ipeak指的是整個(gè)短路電流和導(dǎo)通電流的總和。
在實(shí)際的std-cell library里,工具使用了一個(gè)簡(jiǎn)化的查找表方式來(lái)處理internal-power,示例如下
P = func(input_transition, input_pin_condition, output_capacitance)
漏電功耗(leakage power)的計(jì)算模型
對(duì)應(yīng)的漏電電流計(jì)算公式是:
這里的Vth, CoxW/L都是工藝相關(guān),不可以調(diào)整,Vgs就是VDD,Vt指的是閾值電壓??梢钥吹?,閾值電壓越高漏電功耗就越低,但是由于工藝復(fù)雜的增加,閾值電壓越高的器件,對(duì)應(yīng)的翻轉(zhuǎn)速度就會(huì)變慢,導(dǎo)致影響性能
基于以上的理論,可以推導(dǎo)出下表:
下邊就一起來(lái)看一下,目前的設(shè)計(jì)領(lǐng)域里邊流行的那些降低功耗的技術(shù)手段吧。
clock gating
這個(gè)是一個(gè)在綜合器里非常常用,也很通用的手段??偠灾?,clock gating不但可以優(yōu)化動(dòng)態(tài)功耗,同時(shí)還可以優(yōu)化面積(具有漏電功耗提高的可能),這里也有一些別的數(shù)據(jù)作為參考
… reports an area reduction of 20% and a power savings of 34% to 43% depending on the operating mode
綜合工具在自動(dòng)插入clock gating的時(shí)候,把原有的data上的通用邏輯加以整合,掛到了clock 的EN控制端,這樣就可以大幅度的節(jié)省面積,尤其是在多位寬的總線。反言之,在非常窄的總線上,clock-gating在面積和功耗上不一定會(huì)有效果,譬如小于三位的總線。
工藝演進(jìn)
隨著晶體管的尺寸越來(lái)越小,三極管導(dǎo)通所需要的電壓也就越來(lái)越小了,從上邊的表哥里邊可以看到,降低電壓,可以有效改變動(dòng)態(tài)功耗的處境。
從40/28nm的0.99v到現(xiàn)在7nm的0.7v,通過(guò)改變工藝都可以有效降低動(dòng)態(tài)功耗。相反,對(duì)于相同尺寸的die,工藝的提高預(yù)示著可以放置更多的管子。
芯片的功耗隨著工藝的提高,呈現(xiàn)出整體放大的趨勢(shì),尤其是漏電功耗,如下圖
先進(jìn)工藝的性能和速度大幅度提高,追擊先進(jìn)工藝是大勢(shì)所趨,但是相應(yīng)的,現(xiàn)代芯片的功耗挑戰(zhàn),會(huì)比以往來(lái)得更猛烈。
power gating (可關(guān)斷電源)
電壓降低了,動(dòng)態(tài)功耗確實(shí)可以變小,但是Vdd和Vth的差值會(huì)變得更小,Vth (閾值電壓:MOS導(dǎo)通時(shí)所需要的的電壓)更不可能一直毫無(wú)代價(jià)降低,所以,在實(shí)際的實(shí)現(xiàn)中,使用Switchable Power domain的方式,來(lái)整體關(guān)斷某個(gè)或者某個(gè)區(qū)域、層級(jí)的器件,從而來(lái)降低整體靜態(tài)功耗。這個(gè)實(shí)現(xiàn)電源控制的器件,就叫做power gating。
原理很簡(jiǎn)單,就是在當(dāng)前的std-cell的PG rail上面加一個(gè)開(kāi)關(guān),通過(guò)外界信號(hào)來(lái)控制,從而達(dá)到可以std-cell電源的目的
仔細(xì)想一下,這種結(jié)構(gòu)可以所在std-cell的內(nèi)部,也可以做在power rail上,前者通常被叫做fine gating,后者會(huì)被稱作coarse gating。第一種的設(shè)計(jì)效果更好,甚至可以具體到某一個(gè)std-cell的電源開(kāi)關(guān)控制,但是std-cell面積會(huì)變大。第二種,顯而易見(jiàn),如果使用在rail上,精細(xì)度會(huì)變差,但是,面積會(huì)很有優(yōu)勢(shì),具體的實(shí)現(xiàn)方法也會(huì)簡(jiǎn)化。具體的比較如下表:
結(jié)合實(shí)際,在正常的使用中,并非所有的std-cell都需要單獨(dú)控制,大部分都是一個(gè)功能模塊的整體調(diào)配,所以現(xiàn)在很多設(shè)計(jì)里邊都會(huì)使用coarse gating而非fine gating的實(shí)現(xiàn)方法(如果真的使用fine gating,不知道后端實(shí)現(xiàn)工程師會(huì)不會(huì)咬人)
模塊關(guān)斷的方法可以大幅度降低leakage,但是也會(huì)帶來(lái)一些新的挑戰(zhàn),主要是后端實(shí)現(xiàn)的時(shí)候:isolation,power switch 以及PG route都會(huì)有很大的變化。
除此之外,前端的low power仿真也需要格外注意,如果某些scenario沒(méi)有考慮好,核心模塊在不期望的時(shí)候被關(guān)斷,那么會(huì)引起系統(tǒng)性問(wèn)題的。具體加下表:
動(dòng)態(tài)電壓和頻率調(diào)節(jié)(Dynamic Voltage and Frequency Scaling)和自適應(yīng)電壓調(diào)節(jié)Adaptive Voltage Scaling (AVS)
在當(dāng)下,為了節(jié)省功耗,各位工程師也是拼了。在后端實(shí)現(xiàn)的不斷調(diào)整和改變的同時(shí),前端的TX們也沒(méi)有閑著。DVFS就是一個(gè)基于設(shè)計(jì),功能原理的有效降低功耗的一個(gè)典型方案。
在芯片的實(shí)際使用中,真實(shí)的使用場(chǎng)景會(huì)比較復(fù)雜,就拿手機(jī)而言,譬如
用戶待機(jī)的時(shí)候,只需要網(wǎng)絡(luò)連接可能就足夠了
聽(tīng)歌的時(shí)候可能是不需要屏幕的支持
用戶在拍照的時(shí)候網(wǎng)絡(luò)的功能需求也不是很強(qiáng)烈
當(dāng)你玩游戲的時(shí)候,CPU可能就要調(diào)度所有的硬件來(lái)支持游戲的流程運(yùn)行,
通過(guò)不同的場(chǎng)景,芯片基于用戶需求來(lái)適當(dāng)?shù)恼{(diào)度各個(gè)功能的使用和性能調(diào)節(jié)
這個(gè)示例是一個(gè)UART的構(gòu)造框圖,基于這樣的一個(gè)邏輯架構(gòu),規(guī)劃出不同的使用場(chǎng)景,從而可以展現(xiàn)出不同場(chǎng)景下面所需要的電壓和頻率。
最后可以定義出一個(gè)類似上邊的一個(gè)表格,在系統(tǒng)判斷出不同的使用場(chǎng)景后,就會(huì)配置出不同的電壓和頻率值,從而達(dá)到不同場(chǎng)景下的功耗優(yōu)化的可能,這也就是常說(shuō)的DVFS,類似于一種對(duì)于預(yù)定義場(chǎng)景的一種查找表的操作。
AVS是在DVFS上邊更為先進(jìn)的一種調(diào)整方式,框圖如下:
和DVFS的簡(jiǎn)單查找表不同,這里會(huì)在系統(tǒng)里邊集成一個(gè)PM(Performance Monitor),對(duì)于系統(tǒng)的運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)控,通過(guò)判斷,動(dòng)態(tài)的調(diào)整電壓和頻率,這里可以引入一些自學(xué)習(xí)的功能,從而根據(jù)不同用戶的使用習(xí)慣,來(lái)提供更為細(xì)致的自定制服務(wù)??梢栽O(shè)想,愈發(fā)細(xì)致的個(gè)性化服務(wù),加之自學(xué)習(xí)的預(yù)判功能,都可以進(jìn)一步的提高電源功耗的優(yōu)化。
Vt cell的應(yīng)用
從上一篇文章可以看到,不同Vt下的cell特性是不同的,現(xiàn)在的工藝都會(huì)提供不同傾向的Vt庫(kù),見(jiàn)下表
可以看到,合理使用不同的Vt cell可以滿足不同PPA的需求,在使用過(guò)程中,應(yīng)該優(yōu)先使用SVT的cell,而后是LVT,最后萬(wàn)不得已的時(shí)候再使用ULVT(ULVT的leakage可不是一般的大啊,一般會(huì)達(dá)到SVT的四到五倍的量級(jí))
工具可以完美支持mix-Vt的設(shè)計(jì)。工具的策略是,在功耗優(yōu)化的過(guò)程中,根據(jù)用戶設(shè)定的Vt等價(jià)置換規(guī)則,在不影響timing的情況下,選擇leakage小的cell,這樣在兼顧性能的時(shí)候可以滿足power的需求。
由于,后端實(shí)現(xiàn)的時(shí)候,通常由三個(gè)階段需要用到這個(gè)技術(shù)手段,這里給出一個(gè)通常的應(yīng)用場(chǎng)景供大家參考
秘籍:一定要做最后一步,效果會(huì)非常顯著,可以有效地提高leakage power。
版圖優(yōu)化
在版圖實(shí)現(xiàn)當(dāng)中,后端實(shí)現(xiàn)的工具是非常靈活的,低功耗的設(shè)計(jì)當(dāng)中,經(jīng)常會(huì)使用到power-domain和voltage-area這些技術(shù)來(lái)優(yōu)化power,簡(jiǎn)單的講,通過(guò)UPF,在設(shè)計(jì)里邊定義一些switch-off power和always domain,在某些功能不使用的時(shí)候,就把SW domain關(guān)掉,這個(gè)時(shí)候,SW里的power-gating cell的輸出會(huì)呈現(xiàn)出一個(gè)無(wú)線接近電源(footer power-gating)或者地(header power-gating)的狀態(tài),從而理論上確保了SW domain的leakage是零(但是,這是指理論的,由于power gating cell本身會(huì)有漏電的問(wèn)題,所以零的漏電只是理論上的)。
這里可以引申出一系列的思路,版圖工程師可以盡可能的讓更多的cell放到SW domain,從而在實(shí)際使用的情境下,可以拿到更好的功耗??匆幌逻@個(gè)例子:
一條路徑,從SW1出發(fā)到達(dá)SW2,中間一共有四級(jí),其中SW里邊有一個(gè)buffer和一個(gè)isolation,AO里邊,有兩個(gè)buffer ,從power上講,在SW1和SW2同時(shí)關(guān)斷的時(shí)候,這兩個(gè)AO的buffer,不會(huì)有任何的動(dòng)態(tài)功耗(dynamic power),這是因?yàn)镾W1的isolation的輸出已經(jīng)被鉗位(clamp)到無(wú)效態(tài)(一個(gè)常值),但是這兩個(gè)buffer的leakage power是不能省略的,所以下圖的floorplan,從power優(yōu)化上來(lái)講一定是個(gè)更好的選擇
可以看到,中間的級(jí)數(shù)沒(méi)有發(fā)生改變,但是之前的buffer1和buffer2,都已經(jīng)被放置到了SW domain了,這樣,在SW關(guān)斷的時(shí)候,這兩個(gè)buffer的leakage power就是零(理論上)。這里只是一個(gè)連接和兩個(gè)buffer的示例,實(shí)際中VA之間的連接非常復(fù)雜,通過(guò)版圖的優(yōu)化調(diào)整,可以讓出更多的leakage power。
低功耗設(shè)計(jì)是一套完整的理論體系,從原理、代碼、UPF、綜合、版圖等等,每個(gè)步驟的一點(diǎn)點(diǎn)提高,都會(huì)帶來(lái)不同程度的優(yōu)化,勿以優(yōu)化小而不為,點(diǎn)點(diǎn)滴滴的進(jìn)步就會(huì)造就更加節(jié)能的芯片實(shí)現(xiàn)。
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
459文章
52471瀏覽量
440411 -
NMOS
+關(guān)注
關(guān)注
3文章
364瀏覽量
35639 -
低功耗
+關(guān)注
關(guān)注
11文章
2804瀏覽量
104901 -
動(dòng)態(tài)功耗
+關(guān)注
關(guān)注
0文章
12瀏覽量
11612 -
負(fù)載電容
+關(guān)注
關(guān)注
0文章
145瀏覽量
10809
原文標(biāo)題:淺談芯片低功耗的設(shè)計(jì)實(shí)現(xiàn)
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

超小藍(lán)牙模組,遠(yuǎn)距離,低功耗#藍(lán)牙芯片 #低功耗藍(lán)牙 #物聯(lián)網(wǎng) #硬聲創(chuàng)作季
淺談CC2640超低功耗無(wú)線MCU
無(wú)線模塊如何實(shí)現(xiàn)低功耗
怎么實(shí)現(xiàn)低功耗單芯片高性能音頻CODEC的設(shè)計(jì)?
藍(lán)牙低功耗常見(jiàn)的應(yīng)用場(chǎng)景及架構(gòu)
怎樣實(shí)現(xiàn)芯片低功耗的設(shè)計(jì)?
低功耗硬件電路設(shè)計(jì)中電源芯片選型
時(shí)鐘芯片的低功耗設(shè)計(jì)研究

如何使用Freeze技術(shù)實(shí)現(xiàn)低功耗設(shè)計(jì)
低功耗藍(lán)牙芯片的應(yīng)用可顯著降低功耗和成本
淺談電源芯片選型之低功耗

STM32與FreeRTOS實(shí)現(xiàn)低功耗

評(píng)論