低功耗芯片設(shè)計(jì)是本世紀(jì)以來最重要的新興設(shè)計(jì)方法??梢哉f沒有低功耗設(shè)計(jì),就沒有今天的智能手機(jī),移動(dòng)設(shè)備,物聯(lián)網(wǎng),及高性能計(jì)算等產(chǎn)業(yè)。隨著芯片圖形尺寸越來越小,低功耗設(shè)計(jì)在現(xiàn)在及未來的芯片中會(huì)起到越來越重要的作用。低功耗技術(shù)也貫穿整個(gè)SOC設(shè)計(jì)的流程,可以預(yù)見的是低功耗設(shè)計(jì)也將越來越重要,所以深入理解低功耗技術(shù)是我們芯片設(shè)計(jì)進(jìn)階的必經(jīng)之路。
1. 低功耗設(shè)計(jì)的目的
1.1 低功耗設(shè)計(jì)技術(shù)的產(chǎn)生
回顧芯片設(shè)計(jì)發(fā)展的三個(gè)階段,我們可以發(fā)現(xiàn),不同的技術(shù)是為了解決特定問題而產(chǎn)生的:
第一個(gè)為解決設(shè)計(jì)復(fù)雜度的階段: 80年代開發(fā)的邏輯綜合工具極大得提高了設(shè)計(jì)效率;
第二個(gè)為提高設(shè)計(jì)規(guī)模和頻率的階段: 90年代IP復(fù)用讓大規(guī)模SOC能快速推出市場(chǎng),同時(shí)時(shí)鐘頻率從幾十MHz提高到了GHz。芯片設(shè)計(jì)也是圍繞著時(shí)鐘頻率與時(shí)序進(jìn)行,例如像時(shí)序驅(qū)動(dòng)的邏輯綜合及布局布線等。
第三個(gè)為低功耗設(shè)計(jì)階段 。 進(jìn)入二十一世紀(jì)后,人們逐漸認(rèn)識(shí)到單純靠增加時(shí)鐘頻率再也不能提高性能了。 相反的,功耗的增加帶來了一系列問題。例如芯片溫度增高引起的散熱及電路性能下降,電源及信號(hào)噪聲管理等。本世紀(jì)初以來移動(dòng)設(shè)備特別是手機(jī)的興起更是引發(fā)了低功耗芯片設(shè)計(jì)的浪潮。
如果不加入低功耗技術(shù),那么功耗發(fā)展的趨勢(shì)大概如下表所示(可能不是很準(zhǔn)確,只是給大家一個(gè)直觀的印象):
可以看到,總功耗大概是翻倍的增加。英特爾曾在1999年給出了其處理器功率密度隨著時(shí)間的變化如下圖所示。
可以看到,按照當(dāng)時(shí)的發(fā)展趨勢(shì)(摩爾定律),晶體管的尺寸逐年縮小,芯片上的功率密度將很快達(dá)到甚至超過核反應(yīng)堆甚至火箭噴口的功率密度,這是一個(gè)不可控的狀態(tài)。因此,當(dāng)時(shí)的業(yè)界共識(shí)是35納米就是工藝的極限了。
但是事實(shí)上,現(xiàn)在的工藝水平已經(jīng)到了7nm;5nm甚至3nm已經(jīng)在開發(fā)中了。這里面低功耗設(shè)計(jì)功不可沒,可以說低功耗設(shè)計(jì)在給摩爾定律續(xù)命,也成就了現(xiàn)在半導(dǎo)體的繁榮。
1.2 低功耗設(shè)計(jì)的目的
功耗(Power)和能量(Energy)是兩個(gè)完全不同的概念,但是生活中很多人會(huì)把他們混淆起來。我們作為芯片工程師,一定不能犯這種低級(jí)錯(cuò)誤,否則就貽笑大方了。
功耗是一個(gè)瞬時(shí)的概念,而能量是一個(gè)時(shí)間內(nèi)的消耗。
能量=功耗*時(shí)間
概念可以自己去查。用一個(gè)簡(jiǎn)單的圖表示如下:
稍微分析一下就可以知道,比如手機(jī),能量越大(也就是電池越大),使用時(shí)間越長(zhǎng)。同時(shí)如果功率越小,就顯得越不耗電,使用時(shí)間就越長(zhǎng)。
所以低功耗時(shí)間的最直接的目的就是:
- 提高電池供電的電子產(chǎn)品的使用時(shí)間。
這個(gè)是大家最直觀的感受。比如手機(jī),現(xiàn)在“充電五分鐘,通話兩小時(shí)”已經(jīng)是標(biāo)配了。如果是“充電兩小時(shí),通話五分鐘”那場(chǎng)景不忍直視了。
還有,電動(dòng)汽車,現(xiàn)在的電池容量和續(xù)航里程已經(jīng)是直接的競(jìng)爭(zhēng)指標(biāo)了。
記得最深刻的是,當(dāng)年高通驍龍820就是功耗沒做好,輸給了麒麟920,給了華為麒麟崛起的機(jī)會(huì)。現(xiàn)在華為手機(jī)電池耐用已經(jīng)深入人心了。可以看到,低功耗技術(shù)直接決定商業(yè)競(jìng)爭(zhēng)的成敗,這是“幾千億的大生意”啊(手動(dòng)狗頭)!
- 提高設(shè)備的可靠性
隨著設(shè)備消耗能量,會(huì)產(chǎn)生熱量。功耗越大,產(chǎn)生熱量越快。如果不能及時(shí)散熱,那么設(shè)備溫度就會(huì)升高。溫度升高可能導(dǎo)致設(shè)備不能正常工作甚至損壞。所以有些芯片會(huì)在溫度升高時(shí)候,把頻率降低,本來能跑2GHz的CPU,溫度高了就只能跑1G,這個(gè)以前在用手機(jī)玩游戲的時(shí)候體驗(yàn)比較明顯。
- 降低成本
功耗越大,產(chǎn)生熱量越快,對(duì)封裝,散熱系統(tǒng)等要求越高。比如,低功耗的只需要塑料封裝就能保證正常功能,高功耗的就可能需要陶瓷封裝,成本自然就高很多。再比如,低功耗的可能自然散熱就能保證正常功能,高功耗的可能需要水冷,加銅片等等,這些都會(huì)導(dǎo)致成本上升。
成本的高低直接決定商業(yè)的成敗,可能你能做出功能很強(qiáng)的產(chǎn)品,但是如果做出來沒人買的起,或者同等功能下,別的公司成品低很多,那也是一個(gè)失敗的產(chǎn)品。
低功耗對(duì)芯片的影響還有很多方面。可以說現(xiàn)在低功耗技術(shù)在芯片設(shè)計(jì)中已經(jīng)是不可缺少,并且貫穿芯片設(shè)計(jì)的前后端整個(gè)流程。了解低功耗技術(shù)對(duì)芯片設(shè)計(jì)也是極其重要的。
2. 功耗的組成
低功耗技術(shù)就是一系列的降低功耗的技術(shù)。
在了解低功耗技術(shù)之前,我們必須先了解功耗的構(gòu)成。
一個(gè)SOC芯片的功耗由兩部分組成:動(dòng)態(tài)功耗和靜態(tài)功耗。
動(dòng)態(tài)功耗是設(shè)備運(yùn)行時(shí)或者說信號(hào)改變時(shí)所消耗的功耗;
靜態(tài)功耗是設(shè)備上電但是信號(hào)沒有改變時(shí)所消耗的功耗;
這里要注意的是:在設(shè)備運(yùn)行時(shí),也需要消耗靜態(tài)功耗的,因?yàn)樵O(shè)備運(yùn)行時(shí)也是上電狀態(tài)。功耗分類把靜態(tài)功耗單獨(dú)拿出來,只是為了理論分析方便。
2.1 動(dòng)態(tài)功耗
動(dòng)態(tài)功耗可以分為:
1.翻轉(zhuǎn)功耗(有的地方稱為開關(guān)功耗,但是筆者認(rèn)為這個(gè)名字不準(zhǔn)確,因?yàn)殚_關(guān)包含的功耗很多,其實(shí)是從英文switching power翻譯過來,從switching可以看到,名稱想表現(xiàn)是動(dòng)作。所以稱為翻轉(zhuǎn)功耗比較準(zhǔn)確)
- 短路功耗(或者稱為內(nèi)部功耗,英文是internal power)
2.1.1 翻轉(zhuǎn)功耗(switching power)
Switching power 是一個(gè)門電路對(duì)輸出電容進(jìn)行充電和放電需要的功耗。簡(jiǎn)單的說就是一個(gè)門電路輸出從0變到1和從1變到0所需要消耗的功耗。
Switching power 是動(dòng)態(tài)功耗最主要的組成部分。
下面是一個(gè)CMOS非門(反相器)的門電路,輸出接了一個(gè)輸出電容:
清晰一點(diǎn)的符號(hào)圖如下:
每次傳輸?shù)哪芰肯臑椋?/p>
CL是輸出的電容大??;Vdd是供電電壓。這樣我們可以計(jì)算出傳輸?shù)墓臑椋?/p>
f是傳輸?shù)念l率;Ptrans是輸出翻轉(zhuǎn)的概率;fclock是時(shí)鐘頻率。
這里用fclock*Ptrans=f是合理的,因?yàn)闀r(shí)鐘就是輸出是否改變的參考,乘以概率,就是翻轉(zhuǎn)的頻率。
如果我們定義:
即把電容乘以翻轉(zhuǎn)概率定義為有效電容,那么我們可以得到經(jīng)常見到的計(jì)算公式如下:
推導(dǎo)過程其實(shí)很簡(jiǎn)單,但是這個(gè)最終的結(jié)果卻十分重要。
- Switching power 和電壓,翻轉(zhuǎn)率,負(fù)載電容有關(guān);
- Switching power和數(shù)據(jù)無關(guān),也就傳輸?shù)臄?shù)據(jù)不會(huì)影響翻轉(zhuǎn)功耗,但是數(shù)據(jù)的翻轉(zhuǎn)率會(huì)影響翻轉(zhuǎn)功耗;
- Switching power和傳輸?shù)拇笮∫矡o關(guān)
由這個(gè)公式我們很容易得到如果想減少功耗,那么方法就是:
- 降低電壓;
- 降低翻轉(zhuǎn)率;
- 減少負(fù)載電容
當(dāng)然,這些方法的前提永遠(yuǎn)是 芯片的功能要滿足要求 。功率再低,功能不滿足的芯片和板磚有什么區(qū)別,起碼板磚還能拍人。
芯片的功能要滿足要求這個(gè)基礎(chǔ)就決定了這些方法有一些限制,比如不可能把電壓降到0,不可能讓信號(hào)永遠(yuǎn)不翻轉(zhuǎn),不可能電容減少到0。這些都是前提。
2.1.2 內(nèi)部功耗(internal power)
內(nèi)部功耗又可以稱為短路功耗,因?yàn)橹饕蚴怯捎诙搪吩斐傻?。短路功耗是因?yàn)樵谳斎胄盘?hào)進(jìn)行翻轉(zhuǎn)時(shí),信號(hào)的翻轉(zhuǎn)不可能瞬時(shí)完成,因此PMOS和NMOS不可能總是一個(gè)截止另外一個(gè)導(dǎo)通,總有那么一段時(shí)間是使PMOS和NMOS同時(shí)導(dǎo)通,那么從電源VDD到地VSS之間就有了通路,就形成了短路電流,如下面的反相器電路圖所示:
加上短路功耗后,總的動(dòng)態(tài)功耗如下:
后面的部分就是短路功耗。tsc是短路電流持續(xù)的時(shí)間,Ipeak是總的短路電流(包含了內(nèi)部電容充電的電流)
由于傳輸中短路持續(xù)的時(shí)間特別短,短路功耗相比翻轉(zhuǎn)功耗來說小很多。所以一般情況下會(huì)忽略短路功耗,把翻轉(zhuǎn)功耗就當(dāng)作動(dòng)態(tài)功耗,那么動(dòng)態(tài)功耗的簡(jiǎn)化公式就是:
但是值得注意的是,有的情況下,還是要考慮短路功耗,比如如何處理門控模塊的懸空的輸出的時(shí)候。
2.2 靜態(tài)功耗
靜態(tài)功耗是由于漏電流引起的,在CMOS 門中,漏電流主要來自4個(gè)源頭:
- 亞閾值漏電流(Sub-thresholdLeakage, ISUB): 亞閾值泄漏電流是晶體管應(yīng)當(dāng)截止時(shí)流過的電流.
- 柵極漏電流(GateLeakage, Igate): 由于柵極氧化物隧穿和熱載流子注入,從柵極直接通過氧化物流到襯底的電流。
- 柵極感應(yīng)漏電流(GateInduced Drain Leakage, IGIDL): 結(jié)泄漏電流發(fā)生在源或漏擴(kuò)散區(qū)處在與襯底不同電位的情況下。結(jié)泄漏電流與其他泄漏電流相比時(shí)通常都很小。
- 反向偏置結(jié)泄漏(ReverseBias Junction Leakage ,IREV):由少數(shù)載流子漂移和在耗盡區(qū)產(chǎn)生電子/空穴對(duì)引起。
MOS管的結(jié)構(gòu)圖如下:
漏電流組成如下圖所示:
2.2.1亞閾值漏電流(Sub-thresholdLeakage)
亞閾值漏電流(Sub-thresholdLeakage)發(fā)生在CMOS gate沒有完全關(guān)斷時(shí)。一個(gè)比較好的計(jì)算公式如下:
W/L是晶體管的尺寸,Vth是熱相關(guān)常量;Cox/Vth/W/L都是工藝相關(guān),不可以調(diào)整。VGS就是VDD;
VT 是閾值電壓 ;可以看到,閾值電壓越高,漏電功耗就越低。但是閾值電壓越高,對(duì)應(yīng)的翻轉(zhuǎn)速度就會(huì)越慢,延時(shí)就會(huì)越大,性能就越差。
- 可以通過調(diào)整VDD/VT來降低漏電流,從而減少漏電功耗。
- 增加VT會(huì)帶來性能損失,只能在滿足功能需求前提下增加VT;
- ISUB只和VDD/VT有關(guān),和信號(hào)翻轉(zhuǎn)這些都沒關(guān)系。這是一個(gè)工藝強(qiáng)相關(guān)的電流,RTL設(shè)計(jì)對(duì)其無影響。
亞閾值泄漏電流隨溫度呈指數(shù)增長(zhǎng)(Vth)。這大大增加了設(shè)計(jì)低功率系統(tǒng)的復(fù)雜性。即使在室溫下的泄漏是可以接受的,在最壞的情況下,溫度會(huì)超過芯片的設(shè)計(jì)目標(biāo)。
2.2.2柵極漏電流(Gate Leakage)
柵極泄漏電流發(fā)生在一個(gè)電壓加到柵上時(shí)(例如當(dāng)門導(dǎo)通時(shí))載流子遂穿通過薄柵介質(zhì)的情況下。
泄漏電流與介質(zhì)厚度有極強(qiáng)的關(guān)系。工藝中通過選擇合適厚度的介質(zhì)將柵泄漏電流限制到一個(gè)可接受的水平上。泄漏電流還取決于柵極電壓。通過使晶體管堆疊起來并使截止晶體管靠近電源/地線可以使柵泄漏電流減小。
在以往的技術(shù)節(jié)點(diǎn)中,漏電電流一直以亞閾值漏電為主。但是從90nm開始,門極漏電幾乎是亞閾值漏電的1/3。在某些情況下,在65nm工藝下,它可以等于亞閾值泄漏。低于65nm,high-k介電材料必須進(jìn)行保持門級(jí)泄漏電流檢查,這似乎是唯一有效減少門泄漏電流的方法。
其他兩種流電流占比比較小,所以一般不做分析。有時(shí)會(huì)把靜態(tài)功耗統(tǒng)一為一個(gè)公式:
Ipeak為泄露電流,減少靜態(tài)功耗的方法就是減小VDD和Ipeak。
2.3 不同結(jié)構(gòu)的功耗組成
SOC中不同結(jié)構(gòu)的對(duì)功耗的消耗是不一樣的。有幾個(gè)功耗大戶如下:
- 時(shí)鐘樹功耗:時(shí)鐘樹的功耗通常占整個(gè)SOC功耗的40%左右,這是因?yàn)闀r(shí)鐘是一直在翻轉(zhuǎn)的信號(hào),所以動(dòng)態(tài)功耗特別大。所以門控時(shí)鐘技術(shù)就特別重要。
- CPU: CPU是SOC主控制器,工作時(shí)CPU一般都必須要打開,隨著CPU頻率越來越高,功耗也越來越大。所以現(xiàn)在的多核,大小核就比較流行,不同場(chǎng)景下用不同功耗的CPU核;
- GPU: GPU是并行處理單元,由于其算力主要來自多個(gè)模塊并行計(jì)算,為了正常工作,通常需要很多模塊同時(shí)運(yùn)算,功耗也很大,所以很多SOC都不帶GPU或者默認(rèn)關(guān)掉;
- 存儲(chǔ)器:DDR這些存儲(chǔ)器作為SOC主存也需要時(shí)刻使用,也是功耗消耗的大戶。
SOC還有很大其他模塊,但是時(shí)鐘樹,CPU/GPU, 存儲(chǔ)器占了絕大部分的功耗。在AI芯片的時(shí)代,CCN IP也是功耗的主要來源,和GPU比較類似。
后記
為了方便理解和總結(jié),本文的思維導(dǎo)圖如下:
低功耗技術(shù)是SOC芯片設(shè)計(jì)必須掌握的技術(shù),不是之一。因?yàn)槲覀冋幵诘凸男酒O(shè)計(jì)的時(shí)代。如果你不懂低功耗技術(shù),那么可能你就很難理解整個(gè)芯片設(shè)計(jì)中各種做法的原因,甚至很難聽懂別人討論時(shí)的“行話”,這些才是最致命的,可能會(huì)讓人覺得你還沒“入行”。
版權(quán)聲明:
本文作者:烓圍瑋未。主要從事ISP/MIPI/SOC/車規(guī)芯片設(shè)計(jì)
首發(fā)于知乎專欄:芯片設(shè)計(jì)進(jìn)階之路
轉(zhuǎn)發(fā)無需授權(quán),請(qǐng)保留這段聲明。
評(píng)論