隨著工藝節(jié)點(diǎn)的不斷發(fā)展(現(xiàn)在普遍是28nm,22nm,16nm,14nm,甚至有的都在做7nm),芯片的性能需求越來越高,規(guī)模也越來越大,數(shù)字IC設(shè)計(jì)工程師對(duì)芯片的功耗也越來越關(guān)心了,特別是移動(dòng)端的消費(fèi)類電子產(chǎn)品,對(duì)芯片的功耗要求特別高,一旦功耗太大,整個(gè)產(chǎn)品可能就是一個(gè)暖手寶,甚至整個(gè)芯片的性能會(huì)大大地打折扣,無法滿足實(shí)際應(yīng)用需求。那么,今天小編就帶領(lǐng)大家一起來回顧下功耗的定義及其組成部分,并總結(jié)降低功耗的若干種常用方案。
芯片功耗分為動(dòng)態(tài)功耗和靜態(tài)功耗兩大部分。
圖1 動(dòng)態(tài)功耗示意圖
動(dòng)態(tài)功耗是電路在工作時(shí)(翻轉(zhuǎn)時(shí))所消耗的能量。對(duì)于CMOS電路來說,它又分為開關(guān)功耗和短路功耗。開關(guān)功耗為電路翻轉(zhuǎn)時(shí)對(duì)負(fù)載電容充電的功耗,短路功耗為輸入翻轉(zhuǎn)時(shí),PMOS和NMOS同時(shí)打開的瞬間電流形成的功耗。用公式描述可寫為:
???????Pdyn = (CL * Vdd2 * Ptran * F) + (ttran * Vdd * Ipeak * F)
其中,CL為電路總負(fù)載電容;Vdd為工作電壓;Ptran為工作電路所占比例;F為工作時(shí)鐘頻率;ttran為PMOS,NMOS同時(shí)導(dǎo)通時(shí)間;Ipeak為短路電流。
公式中第一部分為開關(guān)功耗,第二部分為短路功耗。一般來說,只要gate的slew足夠小,也就是ttran足夠快,短路功耗一般可以忽略。
?從公式中可以看到降低動(dòng)態(tài)功耗的思路,可以從Vdd、F、CL和降低gate翻轉(zhuǎn)次數(shù)等方面來設(shè)計(jì)降低功耗的方案。
再來說說靜態(tài)功耗。靜態(tài)功耗是電路在沒有翻轉(zhuǎn)時(shí),晶體管中漏電流造成的功耗。根據(jù)重要性可以分為以下四個(gè)部分:
1.亞域值漏電流Isub: 從Drain經(jīng)過弱反形層流向Source的電流
2. 柵電流Igate:由于隧道效應(yīng)和熱載流子效應(yīng),由Gate經(jīng)薄柵氧流向Sub的電流
3. 由Gate引起的Drain電流IGIDL:由于Drain端的強(qiáng)電場引起的由Drain流向Sub的電流
4.結(jié)反偏電流Irev:反偏結(jié)耗盡區(qū)少子漂移和電子空穴對(duì)產(chǎn)生形成的由Drain、Source到Sub的電流。
?圖2 ?leakage電流示意圖
那么,在數(shù)字IC設(shè)計(jì)中,我們常見的降低功耗的方法有哪些呢?小編特地做了一個(gè)小歸納,方法如下:
1.clock gating 門控時(shí)鐘技術(shù)。眾所周知,在數(shù)字IC設(shè)計(jì)中,時(shí)鐘信號(hào)的翻轉(zhuǎn)率是比較高的,因此它的功耗約占整個(gè)芯片功耗的20-30%。傳統(tǒng)的設(shè)計(jì)方法是時(shí)鐘信號(hào)一直是存活著的(常開),門控時(shí)鐘技術(shù)就是根據(jù)設(shè)計(jì),將暫時(shí)不用的模塊的時(shí)鐘信號(hào)通過一個(gè)控制信號(hào)gating住,降低這個(gè)模塊的時(shí)鐘信號(hào)翻轉(zhuǎn)率,從而降低芯片功耗的一種技術(shù)。clock gating的加法也有很多,有在rtl級(jí)就例化進(jìn)來的gating(往往是比較root的gating),也有綜合階段工具自動(dòng)加進(jìn)來的。從數(shù)字前端設(shè)計(jì)的角度,clock gating是想越靠近root端越好(因?yàn)橐粋€(gè)gating可以控制更多的寄存器或者時(shí)鐘單元),一旦將某個(gè)gating關(guān)掉,能夠節(jié)省較多的功耗。因此,在數(shù)字后端實(shí)現(xiàn)過程中,經(jīng)常會(huì)碰到到gating使能端E pin的setup比較難meet,主要原因是這類gating比較靠近root導(dǎo)致的。關(guān)于如何fix clock gating使能端的setup會(huì)在后續(xù)更新文章中做詳細(xì)的分析。
2.power gating。在數(shù)字IC后端設(shè)計(jì)中,經(jīng)常采用這個(gè)策略降低功耗。在后端實(shí)現(xiàn)過程中,加入MTCMOS來控制標(biāo)準(zhǔn)單元的開關(guān)。
3.Multi vt cells 。這個(gè)就是在數(shù)字IC后端設(shè)計(jì)實(shí)現(xiàn)過程中,將某些不是critical path的地方盡量用HVT或者RVT,降低leakage。當(dāng)然這個(gè)需要與performance,area做一個(gè)tradeoff。因?yàn)橛肏VT或者RVT,由于timing不好meet,工具優(yōu)化的比較困難,可能反而會(huì)導(dǎo)致面積越優(yōu)化越大。
4.DVFS技術(shù)。DVFS(Dynamic Voltage and Frequency Scaling)動(dòng)態(tài)電壓頻率調(diào)節(jié)本質(zhì)上是一種低功耗技術(shù),目的是根據(jù)的芯片當(dāng)時(shí)的實(shí)際功耗需要設(shè)定工作電壓和時(shí)鐘頻率,這樣可以保證提供的功率既滿足要求又不會(huì)過剩,從而可以降低功耗。比如數(shù)字芯片中,CPU模塊(比如8核cpu),在需要跑分的時(shí)候,將給cpu供電的電壓通過軟件調(diào)節(jié)到更高的電壓(overdrive),獲得一個(gè)更高的頻率。在實(shí)際某個(gè)應(yīng)用場景下,可能cpu只需要一個(gè)較低的頻率時(shí),可以將電壓調(diào)節(jié)成一個(gè)較低的電壓(underdrive)來實(shí)現(xiàn)。
一味的降頻降壓當(dāng)然是不能降低功耗的,因?yàn)榈皖l下運(yùn)行可能使系統(tǒng)處理任務(wù)的時(shí)長增加,從而整體上可能反而增加了功耗。所以DVFS的核心是動(dòng)態(tài)調(diào)整的策略,其目的是根據(jù)當(dāng)時(shí)的系統(tǒng)負(fù)載實(shí)時(shí)調(diào)整,從而提供滿足當(dāng)時(shí)性能要求的最低功率,也就達(dá)到了最低功耗。制定調(diào)整策略前,先找出系統(tǒng)中的耗電大戶即CPU GPU這些模塊。需要統(tǒng)計(jì)出這些模塊的負(fù)載情況,基本的策略當(dāng)然是工作負(fù)載增加則升頻升壓,工作負(fù)載降低則降頻降壓。
5.Well bias。這個(gè)方法可以動(dòng)態(tài)調(diào)整偏置電壓,從而實(shí)現(xiàn)降低功耗的目的。
好了,今天的碼字就到這里了,原創(chuàng)不容易,喜歡的可以幫忙轉(zhuǎn)發(fā),小編在此先謝過!