一、前言
如今注重可持續(xù)發(fā)展和節(jié)能環(huán)保的社會(huì)背景下,超低功耗MCU(Microcontroller Unit)作為一種領(lǐng)先的技術(shù),被廣泛應(yīng)用于生活中的節(jié)能要求。隨著無(wú)線手持終端和物聯(lián)網(wǎng)的發(fā)展,無(wú)線終端、智能電話、智能手表、物聯(lián)網(wǎng)模塊、智能水表電子產(chǎn)品都宣稱(chēng)比以往先進(jìn)。手持消費(fèi)類(lèi)產(chǎn)品和物聯(lián)網(wǎng)設(shè)備要求產(chǎn)品有豐富的功能、卓越的性能、小型化,在電池電量有限的情況下還要保持長(zhǎng)續(xù)航;靜態(tài)與動(dòng)態(tài)功率需求是電源管理的關(guān)鍵,同時(shí)也是設(shè)計(jì)人員面臨的挑戰(zhàn)。
現(xiàn)在低功耗芯片的應(yīng)用場(chǎng)景越來(lái)越廣,很多工程師朋友在產(chǎn)品開(kāi)發(fā)過(guò)程中遇到不少問(wèn)題,那怕最后問(wèn)題解決了,也是知其然而不知其所以然。下面帶大家來(lái)了解低功耗芯片的工作和設(shè)計(jì)原理,通過(guò)講解芯片設(shè)計(jì)中應(yīng)用了哪些技術(shù)來(lái)揭開(kāi)它的神秘面紗。
二、芯片功耗原理分析
芯片的功耗主要由動(dòng)態(tài)功耗與靜態(tài)功耗兩部分組成,動(dòng)態(tài)功耗是指信號(hào)發(fā)生改變時(shí)所消耗的功耗,靜態(tài)功耗信號(hào)沒(méi)有改變時(shí)所消耗的功耗。功耗本質(zhì)上就是電學(xué)術(shù)語(yǔ)中的功率,不同于一般簡(jiǎn)單的電學(xué)器件,芯片的整體功耗很難通過(guò)簡(jiǎn)單的電流,電壓或者電阻值的的相乘來(lái)計(jì)算。
其原因在于芯片作為具有復(fù)雜功能的器件,其功耗會(huì)根據(jù)其不同時(shí)段的不同行為和不同的外部條件而發(fā)生很大的變化。在實(shí)際設(shè)計(jì)中一般會(huì)選取一些特定的條件,并輔以特定的功能設(shè)定來(lái)計(jì)算芯片的功耗。
1. 靜態(tài)功耗(Static Power),又稱(chēng)漏電流功耗(Leakage Power)。其原理請(qǐng)參見(jiàn)下圖:
PMOS Leak 電流示意圖
上圖中紅色箭頭表明了在通電狀態(tài)下PMOS內(nèi)主要的泄露電流及其走向,意即:
泄漏電流(Leakage Current)= 漏極->N-Well + Gate->N-Well + 源極->漏極
泄露電流形成原因在MOS管中的多種摻雜區(qū)形成導(dǎo)電區(qū)域,同時(shí)這些區(qū)域會(huì)組成多個(gè)PN節(jié),從而在通電后形成一系列微小的電流。
盡管在現(xiàn)今芯片的工作電壓已經(jīng)很低的前提下,每個(gè)MOS管的漏電流很小,但由于每顆芯片中集成的晶體管至多幾億甚至幾十億,積少成多,導(dǎo)致芯片的整體leakage power變得越來(lái)越恐怖。
后端設(shè)計(jì)中每個(gè)標(biāo)準(zhǔn)單元(standard cell)的leakage都集成在其liberty庫(kù)文件(.lib)中,因此計(jì)算leakage power只需在制定條件下將design中所有的標(biāo)準(zhǔn)單元(包括各種Macro)的leakage值相加即可。目前所有的主流PR工具對(duì)此都有支持。需要指出的是,由于一個(gè)標(biāo)準(zhǔn)單元的leakage power和其面積成正比,因此在實(shí)際后端設(shè)計(jì)的各個(gè)階段,尤其是low power設(shè)計(jì)中,一般會(huì)重點(diǎn)關(guān)注芯片中邏輯門(mén)的面積變化并以此快速推斷design的leakage功耗變化。
2. 動(dòng)態(tài)功耗(Dynamic Power),主要包含翻轉(zhuǎn)功耗與短路功耗兩個(gè)部分,翻轉(zhuǎn)功耗是指電平翻轉(zhuǎn)對(duì)負(fù)載電容進(jìn)行充放電時(shí)消耗的功耗;短路功耗是指PMOS和NMOS存同時(shí)導(dǎo)通時(shí)構(gòu)成通路,形成短路電流。
翻轉(zhuǎn)功耗(Switching Power)是由充放電電容引起的動(dòng)態(tài)功耗,當(dāng)芯片中的電路出現(xiàn)任何信號(hào)翻轉(zhuǎn)都會(huì)產(chǎn)生dynamic power,其中所占最大比例的就是clock信號(hào)的翻轉(zhuǎn)。下圖展示了一個(gè)反相器(inverter)在信號(hào)翻轉(zhuǎn)時(shí)的簡(jiǎn)單模型:
Inverter Dynamic Power Consumption
當(dāng)我們把反相器簡(jiǎn)化成一個(gè)簡(jiǎn)單的rc電路時(shí),就可以清晰的看清充放電時(shí)的電流走向。當(dāng)芯片處于工作狀態(tài)時(shí),每一個(gè)工作中的標(biāo)準(zhǔn)單元都會(huì)隨著clock or/and data的翻轉(zhuǎn)而不斷重復(fù)上述過(guò)程,從而產(chǎn)生大量的動(dòng)態(tài)功耗。
短路功耗(Internal Power)又可以稱(chēng)為內(nèi)部功耗 ,主要原因是直接通路電流引起的功耗,即短路造成的。
短路功耗是因?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之間就有了通路,就形成了短路電流。
三、芯片功耗計(jì)算方法
數(shù)字芯片CMOS電路中功耗分為靜態(tài)功耗和動(dòng)態(tài)功耗,動(dòng)態(tài)功耗是由內(nèi)部功耗和開(kāi)關(guān)功耗組成的;其中動(dòng)態(tài)功耗的分析依賴(lài)于前端VCS功能仿真提供的包含Switching Activity信息的FSDB波形文件或者SAIF文件。
低功耗方法學(xué)是一項(xiàng)非常重要的學(xué)習(xí)內(nèi)容,在數(shù)字芯片設(shè)計(jì)中可以利用UPF對(duì)power domain進(jìn)行系統(tǒng)性的管理,從而提高芯片的能效比。
帶UPF的低功耗設(shè)計(jì)流程中包括了前端 VCS-NLP 功能仿真和后端 VC LP 靜態(tài)驗(yàn)證,在DC綜合和ICC2布局布線中插入標(biāo)準(zhǔn)低功耗單元,每個(gè)標(biāo)準(zhǔn)單元(standard cell)的leakage都集成在其liberty庫(kù)文件(.lib)中。Signoff階段的Formality邏輯等價(jià)性檢查以及PTPX功耗分析等。
電源控制cell基本就五種類(lèi)型:Level Shifter,Isolation Cell,Power Switches(MTCMOS),Retention Registers和Always-on Logic。其中AO包含buffer和inverter,一種取反一種不取反(新工藝庫(kù)都包含這兩種)。各種類(lèi)型的低功耗技術(shù)所需的cell如下圖所示:
1. 靜態(tài)功耗(leakage power)只需在制定條件下將design中所有的標(biāo)準(zhǔn)單元(包括各種Macro)的leakage值相加即可。需要指出的是,由于一個(gè)標(biāo)準(zhǔn)單元的leakage power和其面積成正比,因此在實(shí)際后端設(shè)計(jì)的各個(gè)階段,尤其是low power設(shè)計(jì)中,一般會(huì)重點(diǎn)關(guān)注芯片中邏輯門(mén)的面積變化并以此快速推斷design的leakage功耗變化。
2. 動(dòng)態(tài)功耗(Dynamic Power)由于和芯片的功能息息相關(guān),因此在計(jì)算的時(shí)候會(huì)引入翻轉(zhuǎn)率(toggle rate)的概念。翻轉(zhuǎn)率是衡量單位時(shí)間內(nèi)device上信號(hào)翻轉(zhuǎn)時(shí)間所占的比率。在實(shí)際計(jì)算dynamic功耗的時(shí)候,又會(huì)分成兩個(gè)部分。一部分為標(biāo)準(zhǔn)單元內(nèi)部的dynamic功耗,又名Internal Power,這部分的計(jì)算是嵌入liberty庫(kù)文件內(nèi)部,通過(guò)標(biāo)準(zhǔn)單元的input transition和output load來(lái)查表得到的;另一部分為互連線(net)上的dynamic功耗,這部分的計(jì)算通過(guò)將所有net上每個(gè)翻轉(zhuǎn)周期的功耗乘以其翻轉(zhuǎn)率并相加得到。反轉(zhuǎn)率通過(guò)某種固定格式的文件傳入EDA工具,比較常用的格式有SAIF(Switching Activity Interchange Format)、VCD(Value Change Dump)以及FSDB(Fast Signal Database)文件。
四、低功耗芯片常用技術(shù)
1. 多電壓域(Multi-Voltage )
多電壓域設(shè)計(jì)思想就是讓SOC內(nèi)的每個(gè)模塊/IP根據(jù)自己的需要,工作在不同電壓域,這樣可以減少所有模塊共電壓域造成的功耗浪費(fèi)。
信號(hào)在不同電壓域間進(jìn)行傳輸時(shí),可能會(huì)存在驅(qū)動(dòng)不足或者過(guò)驅(qū)動(dòng)的問(wèn)題。當(dāng)一個(gè)低電壓域的信號(hào)去驅(qū)動(dòng)高電壓域的cell時(shí),欠驅(qū)動(dòng)力的信號(hào)不僅增加了輸入端的上升時(shí)間和下降時(shí)間,增加短路電流的持續(xù)時(shí)間,還會(huì)使時(shí)序變差;為了解決這個(gè)問(wèn)題,需要在不同電壓域之間添加level-shifter(電平轉(zhuǎn)換器),它可以實(shí)現(xiàn)將某個(gè)電壓域的輸出電平轉(zhuǎn)換成另一個(gè)電壓域可以識(shí)別的邏輯電平。
2. 電源門(mén)控(MTCOMS Power Gating)
隨著工藝技術(shù)的發(fā)展,由漏電流所產(chǎn)生的功耗所占的總功耗比例越來(lái)越大;希望移動(dòng)設(shè)備中的SoC芯片在休眠模式下盡量節(jié)省功耗的設(shè)計(jì)來(lái)說(shuō),最好的辦法是將處于休眠模式狀態(tài)的模塊的供電電源,關(guān)斷而保持其它模塊的正常供電,這種技術(shù)叫電源門(mén)控技術(shù)。
電源門(mén)控一般有兩種方法:
內(nèi)部電源門(mén)控(on-chip power gating);內(nèi)部電源門(mén)控是指在芯片內(nèi)部用一些專(zhuān)門(mén)的邏輯單元如電源門(mén)控單元來(lái)控制所選模塊的供電情況。
外部電源門(mén)控(external power gating);實(shí)現(xiàn)電源門(mén)控最基本的方法,適于消耗漏電功耗較少但關(guān)斷時(shí)間較長(zhǎng)的設(shè)計(jì)。例如一個(gè)SoC系統(tǒng)在板極上有CPU的專(zhuān)用電源,這個(gè)電源只提供電壓給CPU;外部電源門(mén)控技術(shù)就是,可以關(guān)閉這個(gè)電源以使CPU在非活動(dòng)狀態(tài)時(shí)漏電功耗減小到零。
3. 多電壓+功耗控制+寄存器Retention技術(shù)
多電壓域與電源門(mén)控的混和應(yīng)用加在上寄存數(shù)據(jù)能夠提高系統(tǒng)的響應(yīng)時(shí)間。
芯片系統(tǒng)中的各個(gè)模塊都可以工作在不同的電壓下,同時(shí)某些模塊的供電電源還可以切斷,并且在電源切斷的情況下還要保持掉電之前的狀態(tài);因此這就需要引入Retention寄存器,當(dāng)?shù)綦姾蟮哪K再次上電后,至少經(jīng)過(guò)一個(gè)時(shí)鐘周期,之前掉電的模塊就可以恢復(fù)到掉電之前的正常狀態(tài)。
4. 低電壓standby(Low-VDD Standby)
在低功耗芯片內(nèi)核中有一個(gè)電壓域的供電電壓值VDD為0.6V,并且使用該供電電壓VDD為0.6V的模塊一直都處于Always-On狀態(tài)。
在某種情況下芯片中的其他模塊需要進(jìn)入sleep狀態(tài),這時(shí)候可以使用較低的電壓來(lái)保持芯片可以工作,同時(shí)在0.6V電壓域中放置一個(gè)小的控制單元(假如為一個(gè)小的CPU);一旦當(dāng)系統(tǒng)需要全速工作,這時(shí)候我們可以用0.6V電壓域中的小的控制單元去喚醒其他模塊。
5. 動(dòng)態(tài)電壓頻率調(diào)節(jié)(DVFS,DVS,AVS,AVFS)
自適應(yīng)的電壓頻率調(diào)節(jié)技術(shù),根據(jù)系統(tǒng)中電壓和工作頻率之間的關(guān)系,可以有效的降低系統(tǒng)功耗。實(shí)現(xiàn)最優(yōu)化性能和功耗之間的平衡,但需要考慮電壓和頻率變化對(duì)時(shí)序和穩(wěn)定性的影響問(wèn)題。更多詳細(xì)內(nèi)容請(qǐng)看《芯片動(dòng)態(tài)電壓頻率技術(shù)原理》。
6. 多閾值工藝(Well Biasing)
多閾值電壓設(shè)計(jì)的策略是:對(duì)于性能要求高的模塊,或者頻率比較高的部分,采用閾值電壓比較低的cell,以減少單元門(mén)的延遲;對(duì)于性能要求較低的模塊,或者頻率較低的部分,多采用閾值電壓比較高的cell,讓功耗更低。通過(guò)這種方法,可以實(shí)現(xiàn)在同一塊芯片上,根據(jù)性能和功耗的不同要求而調(diào)整cell的使用,從而避免在不太重要的功能上浪費(fèi)過(guò)多的功耗。
工藝中存在著不同的cell類(lèi)型,cell 類(lèi)型的速度、電壓和漏電可以用下表表示:低閾值的標(biāo)準(zhǔn)邏輯單元:速度快、漏電流大;高閾值的標(biāo)準(zhǔn)邏輯單元:速度慢、漏電流小。
通過(guò)改變器件背柵的電壓,體偏置技術(shù)可以動(dòng)態(tài)地控制器件的門(mén)限電壓。過(guò)去通過(guò)復(fù)雜的摻雜技術(shù)來(lái)控制的門(mén)限電壓參數(shù),現(xiàn)在可以通過(guò)軟件來(lái)編程從而實(shí)現(xiàn)動(dòng)態(tài)的控制。設(shè)計(jì)者可以利用這種功能來(lái)動(dòng)態(tài)地管理產(chǎn)品的漏電狀況,有效地補(bǔ)償制程和環(huán)境溫度等效應(yīng)造成的影響。
7. 柵極(Gate)
MOSFET結(jié)構(gòu)有三個(gè)極,分別是源極(Source),漏極(Drain),柵極(Gate),可以理解成電流從源極進(jìn)去,從漏極出來(lái),而柵極相當(dāng)于水龍頭的作用,加電壓就形成導(dǎo)通,沒(méi)有電壓就關(guān)斷(這是常關(guān)型MOS特性,如果是常通型MOS則是加負(fù)電壓關(guān)斷)。形成導(dǎo)通和關(guān)斷就能代表0和1,這就是計(jì)算機(jī)的基礎(chǔ)工作原理,對(duì),0和1,二進(jìn)制,德國(guó)數(shù)學(xué)家萊布尼茨發(fā)明的,其還發(fā)明了微積分。
柵極的開(kāi)關(guān)速度和開(kāi)啟/關(guān)斷的閾值電壓,決定了晶體管工作的頻率,速度,柵極大小和功耗密切相關(guān),柵極越小,溝道就越小,但是溝道越小就更容易漏電,因此得到更高頻率更好性能的芯片,帶來(lái)的副作用就是面臨更大損耗,同時(shí)發(fā)熱量也越大。
柵極厚度,大小,結(jié)構(gòu)和材料,很大程度上決定了晶體管的極限工作狀態(tài)下的開(kāi)關(guān)速度,頻率以及功耗大小,換柵極材料就能繼續(xù)提高晶體管的性能和控制功耗。
8. 疊加效應(yīng)(Stack Effect)
疊加效應(yīng)可以將一個(gè)MOS管強(qiáng)制拆分成2個(gè)堆疊的MOS管,2個(gè)串聯(lián)的MOS管有相同的輸入。
效果:從圖中可以看到,在采用Two-stack的MOS管之后,在休眠狀態(tài)下,Low-Vt的管子leakage power至少降低了2個(gè)數(shù)量級(jí)(從1降低到1e-2以下),而High-Vt的管子leakage power至少降低了3個(gè)數(shù)量級(jí)(從1e-1降低到1e-4以下)。
注意:其實(shí)這是在leakage power與速度之間的折衷,最好將這種技術(shù)應(yīng)用到那些有timing slack的單元上,對(duì)于timing critial path不能使用。
9. 門(mén)控時(shí)鐘(Clock Gating)
芯片中翻轉(zhuǎn)率最高的路徑就是clock path,clk path上的功耗消耗會(huì)占據(jù)到整個(gè)芯片功耗比例的40%甚至更多。clock經(jīng)pll 和預(yù)分頻器輸出后,后面會(huì)驅(qū)動(dòng)成千上萬(wàn)寄存器,并且為了增加clock的驅(qū)動(dòng)能力,在clock path上會(huì)插入許多buffer,而clock 每個(gè)cycle翻轉(zhuǎn)就會(huì)帶動(dòng)整條path上所有cell 翻轉(zhuǎn)。如果當(dāng)某一個(gè)subsys 或者module 不工作時(shí)clock仍在toggle,那么就會(huì)產(chǎn)生很大的功耗浪費(fèi)。
如果能夠根據(jù)系統(tǒng)或者任務(wù)的需要對(duì)clock 做動(dòng)態(tài)的關(guān)斷就能極大地節(jié)省功耗消耗,這種對(duì)clock 進(jìn)行關(guān)斷的技術(shù)就是clock gating(時(shí)鐘門(mén)控)。如上圖,clock gating 技術(shù)主要就是在原來(lái)的clock path上加入enable 信號(hào),使 clock 在滿足一定條件后才能往后傳輸。這種方法可以減少信號(hào)翻轉(zhuǎn)和短路電流,但需要考慮時(shí)鐘網(wǎng)絡(luò)的設(shè)計(jì)、時(shí)鐘分布的平衡和時(shí)鐘毛刺的消除問(wèn)題。
五、結(jié)語(yǔ)
UPF(Unified Power Format)用來(lái)描述芯片設(shè)計(jì)中的低功耗意圖,包括芯片工作的“電特性”、工作電壓、電壓的開(kāi)關(guān)、低功耗cell插入的策略和芯片的power state等。低功耗設(shè)計(jì)流程中加入U(xiǎn)PF可以保證功耗意圖在IC設(shè)計(jì)中的一致性,使低功耗意圖在仿真驗(yàn)證、邏輯綜合、物理實(shí)現(xiàn)、等價(jià)性驗(yàn)證和最終簽核更容易實(shí)現(xiàn)。
1. 芯片的功能及時(shí)序設(shè)計(jì)與優(yōu)化已相對(duì)成熟,但功耗上的優(yōu)化還有很多空間可做。
2. 功耗會(huì)影響電路性能、芯片散熱、芯片可靠性的問(wèn)題;電池容量的增加相對(duì)有限,而且受到安全因素的限制。
3. 降低功耗方法還能提高工藝,使用新型低功耗器件和材料;減少晶體管尺寸,如從40nm、28nm到14nm、7nm等。用先進(jìn)工藝要做好性能和成本的平衡,詳細(xì)請(qǐng)看《芯片設(shè)計(jì)、流片、驗(yàn)證、成本的那些事!》