淺析芯片功耗的控制方法與驗證方式_第1頁
淺析芯片功耗的控制方法與驗證方式_第2頁
淺析芯片功耗的控制方法與驗證方式_第3頁
淺析芯片功耗的控制方法與驗證方式_第4頁
淺析芯片功耗的控制方法與驗證方式_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第第頁淺析芯片功耗的控制方法與驗證方式

一、(芯片)功耗概述隨著移動設(shè)備的興起和芯片工藝的提升,功耗成為近年來芯片設(shè)計越來越關(guān)注的(話題)。對功耗關(guān)注度的提升大致可以從兩方面進行分析,用戶角度和芯片設(shè)計者角度。

從用戶角度來看:

如今(手機)、PAD、TWS耳機等便攜式設(shè)備在生活中扮演著重要的角色,芯片功耗越大,對于同等的電池容量意味著使用時間越短;如果使用時間過短,對于現(xiàn)代人們的出行、支付、交流等方面帶來不便,會使我們?nèi)粘I畹陌踩薪档?。芯片功耗越高,手機等便攜式設(shè)備消耗的能量越多,進而產(chǎn)生的熱量也會越多。發(fā)熱越嚴重,熱噪聲越大,就會影響器件的正常工作,導(dǎo)致手機運行速度變慢等問題,會大大影響用戶。

從芯片設(shè)計者來看:

隨著工藝的進步,芯片內(nèi)部(集成電路)的密度越來越高,運行速度越來越快,而片上的連線越來越細,片上的(供電)(網(wǎng)絡(luò))必須將電力以更少連線資源送至每個單元,這就要求芯片設(shè)計者在設(shè)計階段減少功耗的需求。另外如果不注意低功耗設(shè)計,還會導(dǎo)致后期成本增加,例如,芯片低功耗設(shè)計不好,發(fā)熱量就可能增加,在封裝的時候,就需要考慮怎么給芯片進行散熱,從而增加了封裝的散熱成本。成本的增加還會進一步導(dǎo)致芯片的市場競爭力降低,所以對芯片進行低功耗設(shè)計是十分必要的。

二、功耗來源對芯片進行低功耗設(shè)計時要首先搞清芯片功耗的來源,這樣才能有針對性的進行控制。從功耗的種類來看,功耗主要來自三個地方,如下圖所示。

1.開關(guān)功耗

在數(shù)字CMOS電路中,對負載(電容)進行充放電時消耗的功耗。比如對于下面的CMOS非門中:當Vin=0時,上面的PMOS導(dǎo)通,下面的NMOS截止,VDD對負載電容Clo(ad)進行充電,充電完成后,Vout的電平為高電平;當Vin=1時,上面的PMOS截止,下面的NMOS導(dǎo)通,負載電容通過NMOS進行放電,放電完成后,Vout的電平為低電平。這樣一開一閉的變化,(電源)的充放電,就形成了開關(guān)功耗

開關(guān)功耗Pswitch的計算公式如下所示,其中VDD為供電電壓,Cload為后級電路等效的電容負載大小,Tr為輸入(信號)的翻轉(zhuǎn)率

2.短路功耗

短路功耗也稱為內(nèi)部功耗,短路功耗是因為在輸入信號進行翻轉(zhuǎn)時,信號的翻轉(zhuǎn)不可能瞬時完成,因此PMOS和NMOS不可能總是一個截止另外一個導(dǎo)通,總有那么一段時間是使PMOS和NMOS同時導(dǎo)通,那么從電源VDD到地VSS之間就有了通路,就形成了短路(電流)。

短路功耗Pshort的計算公式如下所示,其中Vdd為供電電壓,Tr為翻轉(zhuǎn)率,Qx為一次翻轉(zhuǎn)過程中從電源流到地的電荷量。

3.靜態(tài)功耗

在CMOS電路中,靜態(tài)功耗主要是漏電流引起的功耗,漏電流有下面幾個部分組成:

PN結(jié)反向電流I1(PN-junc(ti)onReverseCurrent)源極和漏極之間的亞閾值漏電流I2((Sub)-thresholdCurrent)柵極漏電流,包括柵極和漏極之間的感應(yīng)漏電流I3(GateInducedDrainLeakage)柵極和襯底之間的隧道漏電流I4(GateTunneling)

靜態(tài)功耗的計算公式如下所示,其中Vdd為供電電壓,Ipeak為所有泄漏電流之和,除了式中列出的影響因素外,溫度對靜態(tài)功耗也有顯著影響,一般靜態(tài)功耗會隨著溫度的升高呈指數(shù)上升。

三、功耗控制方法從第二節(jié)的描述中可以看出芯片的功耗的大小主要與供電電壓、運行頻率和電路負載相關(guān),針對這些影響因素芯片設(shè)計者主要采用了如下辦法:

1.clockgating

在芯片中翻轉(zhuǎn)率最高的路徑就是clockpath,clkpath上的功耗消耗會占據(jù)到整個芯片功耗比例的40%甚至更多。clock經(jīng)pll和預(yù)分頻器輸出后,后面會驅(qū)動成千上萬(寄存器),并且為了增加clock的驅(qū)動能力,在clockpath上會插入許多buffer,而clock每個cycle翻轉(zhuǎn)就會帶動整條path上所有cell翻轉(zhuǎn)。如果當某一個subsys或者module不工作時clock仍在toggle,那么就會產(chǎn)生很大的功耗浪費。如果能夠根據(jù)系統(tǒng)或者任務(wù)的需要對clock做動態(tài)的關(guān)斷就能極大地節(jié)省功耗消耗,這種對clock進行關(guān)斷的技術(shù)就是clockgating((時鐘)門控)。如下圖,clockgating技術(shù)主要就是在原來的clockpath上加入enable信號,使clock在滿足一定條件后才能往后傳輸。

根據(jù)clockgating所加的層次,大體可以分為三個類型:

粗粒度門控:這種clockgating主要由架構(gòu)師決定,他們根據(jù)整個soc的工作情況來決定在那些pll或者預(yù)分頻器的輸出端添加門控邏輯。中粒度門控:這種clockgating由模塊設(shè)計師決定,他們根據(jù)模塊的功能決定是否在模塊外部或者模塊內(nèi)部的子模塊處添加門控邏輯;細粒度門控:這種主要是面向寄存器級別,可以使寄存器idle時將寄存器前端的clock關(guān)掉。這種設(shè)計的優(yōu)勢是即使模塊正在工作,模塊內(nèi)部某些處于空閑狀態(tài)寄存器的clcok也會被關(guān)掉,進一步節(jié)省模塊內(nèi)部的功耗。這種gating對designer的編碼有一定要求,當designer按照如下圖所示模式進行(硬件)編碼時,綜合工具會自動在插入門控邏輯。

Clockgating方式可以分為autogating和f(or)cegating,autogating為系統(tǒng)正常工作時的方式,門控單元根據(jù)自己所負責(zé)的cell/module/subsys的工作狀態(tài)動態(tài)的關(guān)斷和打開clock;forcegating多用在調(diào)試階段或者作為備用方法,強制關(guān)掉或打開某個clock觀察其運行情況或者功耗變化。

2.DVFS

DVFS技術(shù)即dynamicvoltagedynamicfrequencyscaling,動態(tài)電壓頻率技術(shù),是系統(tǒng)根據(jù)負載的變化來動態(tài)地調(diào)整電壓和頻率的技術(shù)。如果一個電路能夠估算出它必須做多少工作才能完成當前的任務(wù),那么理論上講就可以將時鐘頻率調(diào)低到剛好能適時完成該任務(wù)的水平。時鐘頻率和電壓緊密相關(guān),降低時鐘頻率意味著可以同時降低供電電壓。頻率和電壓同時降低,功耗就大大降低了。

DVFS一般流程如下:

首先計算系統(tǒng)當前的負載,這個負載可以軟件統(tǒng)計得出也可以由硬件計算;根據(jù)負載計算當前系統(tǒng)需要的頻率并進行設(shè)置;根據(jù)頻率選擇相應(yīng)的電壓進行設(shè)置。DVFS技術(shù)可以通過軟件和硬件的方式實現(xiàn),但電路中必須有(電源管理)模塊和時鐘管理模塊。真正硬件實現(xiàn)的dvfs結(jié)構(gòu)比較復(fù)雜,包括dvfstrigger模塊/dvfsmap模塊/votagecompare模塊/arbitration模塊等。

3.multivoltage

由第二節(jié)的描述可知,動態(tài)功耗和電壓的平方成正比,靜態(tài)功耗和電壓成正比,所以降低電壓對功耗的改善會很明顯。multi-voltage(多電壓域)設(shè)計思想就是讓SOC內(nèi)的每個模塊/IP根據(jù)自己的需要,工作在不同電壓域,這樣可以減少所有模塊共電壓域造成的功耗浪費。

信號在不同電壓域間進行傳輸時,可能會存在驅(qū)動不足或者過驅(qū)動等問題。例如當一個低電壓域的信號去驅(qū)動高電壓域的cell時,欠驅(qū)動力的信號不僅增加了輸入端的上升時間和下降時間,增加短路電流的持續(xù)時間,還會使時序變差。為了解決這個問題,需要在不同電壓域之間添加level-shif(te)r(電平(轉(zhuǎn)換器)),它可以實現(xiàn)將某個電壓域的輸出電平轉(zhuǎn)換成另一個電壓域可以識別的邏輯電平。

多電壓設(shè)計技術(shù)可以分為三種方式:

各電壓區(qū)域有固定的電壓,這種方式不能夠根據(jù)自己的負載調(diào)節(jié)電壓,如圖(a)所示;各電壓區(qū)域具有固定的多個電壓,可以根據(jù)負載調(diào)節(jié)電壓,但必須由軟件決定選擇哪一個電壓,如圖(b)所示;自適應(yīng)的方式,各電壓域具有可變的,可以根據(jù)負載調(diào)節(jié)電壓,可以由軟件或者硬件決定選擇哪一個電壓,如圖(c)所示。

4.powergating

當芯片內(nèi)部的模塊/IP不工作時,即使我們把輸入端的時鐘和數(shù)據(jù)全部隔離,仍然會有部分漏電存在。工藝提升使芯片內(nèi)部集成的(晶體管)數(shù)量越來越多,漏電功耗在芯片整體功耗的比重也越來越大,讓設(shè)計師不得不關(guān)注這部分漏電。powergating(電源門控)技術(shù)是指將芯片中某個區(qū)域的供電電源關(guān)掉,斷電后,芯片進入深度睡眠模式,其漏電功率很小,只剩powerswitch的功耗。

實現(xiàn)這種技術(shù)需要isolationcell(電源隔離單元)和retentioncell(保持寄存器)的支持。isolationcell主要使模塊的輸入/輸出在電源關(guān)掉時信號保持為常數(shù),從而避免信號懸空或者胡亂toggle;retentioncell可以在關(guān)掉電源時將寄存器的狀態(tài)保留下來,為subsys或module的喚醒保留必要的初始數(shù)據(jù)。

powergating有兩種方式:autoshutdown和forceshutdown。Autoshutdown是系統(tǒng)正常工作使用的方式,芯片ALLON區(qū)域的PMU單元會監(jiān)測個subsys內(nèi)各module的運行情況,當各module處于idle狀態(tài)時,subsys就可以進入深睡狀態(tài);一旦監(jiān)測到subsys內(nèi)module的工作請求,subsys就會自動退出睡眠狀態(tài)。Forceshutdown一般用在調(diào)試階段,也作為autoshutdown模式失效時的備用方法。

5.多(閾值電壓)設(shè)計

如第4小節(jié)所述,工藝的進步雖然使芯片的晶體管(門)數(shù)增多、供電電壓變低、尺寸減小,但卻使靜態(tài)功耗的比重越來越大。據(jù)統(tǒng)計在90nm或以下的工藝,靜態(tài)功耗要占整個設(shè)計功耗的20%以上,這就需要對功耗作更深層次的優(yōu)化。工藝庫中存在著不同的cell類型,cell類型的速度、電壓和漏電可以用下表表示:閾值電壓越高,cell速度越慢,功耗越??;反之閾值電壓越低,cell速度越快,功耗越高。

多閾值電壓設(shè)計的策略是:對于性能要求高的模塊,或者頻率比較高的部分,采用閾值電壓比較低的cell,以減少單元門的延遲;對于性能要求較低的模塊,或者頻率較低的部分,多采用閾值電壓比較高的cell,讓功耗更低。通過這種方法,可以實現(xiàn)在同一塊芯片上,根據(jù)性能和功耗的不同要求而調(diào)整cell的使用,從而避免在不太重要的功能上浪費過多的功耗。

6.低功耗的布局規(guī)劃

這一部分工作中沒有參與過,只簡單介紹一下為了實現(xiàn)低功耗,布局布線的規(guī)則:

對于設(shè)計中翻轉(zhuǎn)活動很頻繁的節(jié)點,采用低電容的金屬層進行布線;使高翻轉(zhuǎn)率的節(jié)點盡可能地短;對于高負載的節(jié)點與總線,采用低電容的金屬層;對于特別寬的器件,采用特殊的版圖技術(shù),以得到更小的漏極結(jié)電容;在有些布局布線工具中,可以將功耗作為優(yōu)化目標來生成時鐘。

四、功耗驗證方式為了驗證功耗的大小,在芯片tapeout之前與tapoout之后有不同的驗證工具。在tapeout之前使用工具進行(仿真)驗證;tapeout之后使用精密(電流源)精密電流源進行實測分析。

1.前仿真

一般使用Spypower,如下圖所示。但是spypower里面自帶綜合工具,不需要輸入netlist文件,可以在設(shè)計前期應(yīng)用于功耗分析。

由于spypower是利用自身的綜合引擎進行自綜合,所得功耗數(shù)據(jù)與PTPX相比,誤差較大,一般是利用spypower看不同版本間相對數(shù)據(jù)的變化。Spypower雖然在功耗準確度方面較差,但它提供了豐富的功耗優(yōu)化數(shù)據(jù)可以用于功耗優(yōu)化,如下圖所示。Cgr可以用于觀察添加時鐘門控寄存器的比例;cge可以用觀察時鐘門控的效率;rodf和rode可以用于觀察寄存器輸出端與時鐘輸入端的比值,進一步檢驗插入的clockgate是否合適。

當然,前仿真還有powerartist工具,功能類似,本文暫不展開。

2.后仿真

后仿真一般使用較多時PTPX,PTPX是芯片設(shè)計公司普遍使用的功耗仿真工具,不僅仿真精度高,而且產(chǎn)生的功耗數(shù)據(jù)豐富,便于進行功耗分析。使用PTPX工具不僅可以產(chǎn)生一段波形的平均功耗,還可以產(chǎn)生每一時刻的瞬時功耗;不僅可以產(chǎn)生基于block的功耗,還可以報告出block內(nèi)部每一個層次的功耗,甚至是每個cell的功耗;不僅可以產(chǎn)生整體的功耗,還可以按照memory、clock、pad等分類產(chǎn)生功耗。

PTPX工作流程如下圖所示,用戶提供lib、netlist、(ac)tivity和parasitic文件,然后PTPX工具按照一定的(算法)對各種數(shù)據(jù)進行統(tǒng)計和計算,最后產(chǎn)生功耗報告。各種文件的作用如下所述:

techlibrary:工藝庫文件,里面包含著各種cell在不同狀態(tài)下的功耗信息。netlist:門級網(wǎng)表電路,通過綜合得到,里面包含著芯片中使用的cell類型。parasitic:包含設(shè)計中連線等寄生參數(shù),比如寄生電容、寄生(電阻),這個一般是后端RC寄生參數(shù)工具提供。switchactivity:包含設(shè)計中每個節(jié)點的開關(guān)行為情況,比如說節(jié)點的翻轉(zhuǎn)率或者可以計算出節(jié)點翻轉(zhuǎn)率的文件,可以為saif、vcd和fadb文件。

雖然不同的功耗類型,PTPX的計算公式不同,但都是通過從netlist文件中確定使用的cell類型,從activity文件中確定cell的狀態(tài),從parasitic文件中確定對應(yīng)狀態(tài)的負載大小,然后再去lib文件中查找cell在當前狀態(tài)下的功耗,最后將所有cell的功耗相加。

拿leakage的計算舉例說明,cell的leakage在工藝庫中描述如下,其中Leakage_power_unit標示leakagepower的單位;cell_leakage_power標示固定的leakagepower值,如果library里沒有該變量的定義,或者該變量是個負值,工具會用default_cell_leakage_power的值,如果default_cell_leakage_power也沒有指定,則用default_leakage_power_density的值乘以該cell的面積來計算得出一個leakage值,如果這三個變量都沒有定義,則leakage的值為0;

leakage_power()這一部分就是用來定義跟輸入狀態(tài)相關(guān)的leakagepower,其中"when"用于定義輸入的狀態(tài),如果某種狀態(tài)沒有定義,則用cell_leakage_power定義的值來計算leakage;power_level用于多電壓cell中指定是跟哪個電壓相關(guān)的leakagepower。

單個cellleakagepower計算公式如下,其中K表示cell包含的state數(shù)量;Pstate_leakage表示cell在當前state的功耗大??;probability表示每種狀態(tài)的占比。PTPX工具就是按照如下公式逐個統(tǒng)計cell的功耗,最后相加。

3.精密電流源

芯片tapout之后,功耗測試主要依靠精密電流源進行,將精密電流的輸出端連接芯片的供電端,就可以得到芯片工作時的電流。精密電流源具有如下特點:

精度高,擁有三種測量范圍可(編程)(接口),方便自動化測試可以顯示電流圖,方便進行功耗分析具有trigger功能,能夠抓住具有明顯特征的波峰擁有多個輸出通道,可以測量多個powerrail4.其他(IC設(shè)計)相關(guān)工具和方法

U(TF)(UnifiedPowerFormat),其作用是把功耗設(shè)計意圖(powerintent)傳遞給(EDA工具),從而幫助實現(xiàn)物理設(shè)計。這就類似于綜合時的約束,是把跟時序相關(guān)的設(shè)計意圖傳達給(EDA)。說簡單一些,UPF就是一些tcl命令,系統(tǒng)架構(gòu)師通過這些命令的組合,把真實的低功耗設(shè)計意圖傳遞給工具。

CLP(ConformalLowPower),低功耗檢查是低功耗設(shè)計必不可少的一個環(huán)節(jié),此處所謂的低功耗設(shè)計指:多電壓域設(shè)計,實現(xiàn)過程中在原有功能邏輯基礎(chǔ)上插入低功耗單元,如:isolationcell,levelshiftercell,retentionregister,powerswitch等。

此外,還有RTL級功耗優(yōu)化平臺PowerPro。

五、功耗評估內(nèi)容利用上節(jié)所述的功耗驗證工具,一般會進行如下功耗評估:

1.場景功耗分析

場景功耗分析一般是為大系統(tǒng)軟件服務(wù),為大系統(tǒng)軟件提供場景的功耗target和golden配置。場景功耗分析之前首先要定義功耗需求,進行競品分析,確定功耗目標,分解功耗場景,然后才利用工具進行場景功耗分析。

場景功耗分析的流程一般為:

定義場景,包括場景數(shù)據(jù)流、場景代碼流、場景各powerdomain狀態(tài)等;根據(jù)場景定義進行coding;將編好的代碼在(仿真器)上運行,并抓取activity文件;利用PTPX工具對activity文件進行功耗分析;確定功耗達標后,導(dǎo)出寄存器信息。2.leakage分析

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論