楊瑞瑞,唐偉文
(成都三零嘉微電子有限公司,四川 成都 610041)
應(yīng)用于便攜式、手持設(shè)備、物聯(lián)網(wǎng)等環(huán)境的低功耗或微功耗SoC芯片,對(duì)功耗指標(biāo)的要求非常嚴(yán)格。如果芯片實(shí)際功耗消耗值不能滿足能耗比指標(biāo)要求,那么即使芯片功能沒(méi)有問(wèn)題,但由于功耗消耗過(guò)大也將無(wú)法進(jìn)行推廣應(yīng)用。所以,SoC集成電路功耗控制,在低功耗芯片的設(shè)計(jì)中至關(guān)重要。
低功耗芯片設(shè)計(jì)過(guò)程中,在方案階段采用低功耗架構(gòu)、RTL代碼設(shè)計(jì)時(shí)采用低功耗設(shè)計(jì)電路,在后端設(shè)計(jì)中采用低功耗的設(shè)計(jì)流程等,以保障芯片的能耗比滿足設(shè)計(jì)需求。但是,如何確定采取低功耗策略的電路是否滿足指標(biāo)要求、是否可以進(jìn)入下一步的設(shè)計(jì)流程是關(guān)鍵。因此,在每個(gè)階段的設(shè)計(jì)中,通過(guò)功耗評(píng)估方法驗(yàn)證采用的低功耗策略是否滿足要求至關(guān)重要。
本文針對(duì)設(shè)計(jì)過(guò)程中的功耗控制,提出在三個(gè)階段進(jìn)行功耗評(píng)估,分別是方案階段功耗評(píng)估、RTL代碼階段功耗評(píng)估以及流片前簽核階段的功耗評(píng)估。在每個(gè)階段進(jìn)行的功耗評(píng)估方法不同,得到的準(zhǔn)確度將不同,達(dá)到的目的也不同。表1介紹了在芯片全流程設(shè)計(jì)過(guò)程中,在不同設(shè)計(jì)階段進(jìn)行的功耗評(píng)估。
圖1 低功耗芯片設(shè)計(jì)流程
方案階段進(jìn)行的功耗評(píng)估,主要使用公式計(jì)算的方法。此階段評(píng)估值誤差較大,但能夠輔助確定方案設(shè)計(jì)的合理性,驗(yàn)證所選擇工藝平臺(tái)的正確性,與設(shè)計(jì)結(jié)果不產(chǎn)生較大差異。
RTL階段的功耗評(píng)估,是在電路功能設(shè)計(jì)完成后,通過(guò)專業(yè)的功耗評(píng)估工具,加入合理的約束,通過(guò)不同應(yīng)用模式激勵(lì)產(chǎn)生的波形,得到比較準(zhǔn)確的邏輯門翻轉(zhuǎn)率,從而對(duì)不同應(yīng)用模式的功耗進(jìn)行評(píng)估。此階段的評(píng)估準(zhǔn)確率可達(dá)70%。
后端物理版圖設(shè)計(jì)完成后簽核階段的功耗評(píng)估,是流片前的最后一次功耗評(píng)估。由于后端版圖設(shè)計(jì)完成后,用于功耗評(píng)估的門電路是芯片實(shí)際物理門電路,因此準(zhǔn)確率可達(dá)85%~90%。評(píng)估方法是讀入后仿網(wǎng)表和SDF反標(biāo)文件,產(chǎn)生不同應(yīng)用模式激勵(lì)下的后仿波形,得到準(zhǔn)確的物理門電路翻轉(zhuǎn)率,通過(guò)專業(yè)工具計(jì)算得到功耗值。下面對(duì)三個(gè)階段的功耗評(píng)估方法分別做詳細(xì)介紹。
首先要分析功耗的來(lái)源和組成部分。在一個(gè)完整的SoC設(shè)計(jì)電路中,功耗從頂層劃分主要有三部分:
其中,Pdigital是芯片中使用的模擬IP在工作時(shí)消耗的功耗,模擬部分的功耗值通過(guò)查詢模擬IP的數(shù)據(jù)手冊(cè)獲得,數(shù)據(jù)手冊(cè)會(huì)詳細(xì)介紹模擬IP工作在不同模式或者不同配置下的功耗值。Pdigital是芯片中數(shù)字標(biāo)準(zhǔn)單元部分的功耗消耗值,工作電壓為內(nèi)核電壓。Ppad是芯片管腳在工作時(shí)消耗的功耗值,當(dāng)芯片與外部通信時(shí),芯片的管腳會(huì)進(jìn)行翻轉(zhuǎn)產(chǎn)生功耗。當(dāng)然,如果芯片工作的場(chǎng)景只有內(nèi)部模塊在工作,接口不進(jìn)行數(shù)據(jù)傳輸,那么Ppad只產(chǎn)生較小的漏電功耗。
按照理論公式計(jì)算[1-2]:
其中f是系統(tǒng)工作頻率;A是跳變因子,即整個(gè)電路的平均翻轉(zhuǎn)比例;C是門電路的總電容;V是供電電壓;τ是電平信號(hào)上升/下降的時(shí)間;Ileak是漏電電流;Pswitch是跳變功耗,是器件在工作過(guò)程中對(duì)電容充放電形成的;Pshortcircuit是短路功耗,是器件在工作時(shí)由電源到地形成的通路造成的;Pleakage是漏電流功耗,也叫靜態(tài)功耗,是由亞閾值電流和反向偏壓電流造成的。
假設(shè)已經(jīng)選定某一工藝平臺(tái),如果使用式(2),其中門電路的電容C以及電平信號(hào)上升/下降的時(shí)間τ,基本無(wú)法填入合適的值。因此,本文使用其他方法完成內(nèi)核功耗的評(píng)估。在本階段進(jìn)行功耗評(píng)估計(jì)算,需要已知芯片設(shè)計(jì)的電路門數(shù)(大部分?jǐn)?shù)字IP具備繼承性,可以獲得電路的門數(shù),文中使用的計(jì)算單位為最小二輸入與非門NAND2)、工作模式頻率以及芯片管腳在工作模式時(shí)的使用情況。查詢工藝庫(kù)里面最小二輸入與非門NAND2短路功耗表,結(jié)合工作頻率進(jìn)行如下計(jì)算:
其中k1表示電路工作時(shí)的翻轉(zhuǎn)率,即由于翻轉(zhuǎn)產(chǎn)生短路功耗門電路的比例,根據(jù)經(jīng)驗(yàn),值為1/20;N表示電路的等效門數(shù);f表示電路的工作頻率;Pshortcircuit_nand2表示工藝庫(kù)中最小二輸入與非門NAND2的短路功耗,可以通過(guò)查工藝庫(kù)獲得;k2表示翻轉(zhuǎn)功耗與短路功耗比,根據(jù)經(jīng)驗(yàn),值為(0.8~1);Pleakage_nand2表示工藝庫(kù)中最小二輸入與非門NAND2的漏電功耗,可以通過(guò)查工藝庫(kù)獲得。
以SMIC55nm LL工藝為例,門電路約90萬(wàn)邏輯門,工作頻率為50 MHz。查詢工藝庫(kù)中NAND2的短路功耗為0.002 825 pW[3],漏電功耗為23.39 pW[3],代入公式得到內(nèi)核工作時(shí)的功耗值:
查詢工藝庫(kù)中使用管腳庫(kù)的短路功耗表,結(jié)合工作頻率,評(píng)估芯片管腳 PAD 的工作功耗:
其中k1表示PAD工作時(shí)的翻轉(zhuǎn)率,根據(jù)經(jīng)驗(yàn),值為1/20;N表示工作PAD的個(gè)數(shù);f表示PAD工作的時(shí)鐘頻率;Pshortcircuit_pad表示工藝庫(kù)中PAD工作時(shí)產(chǎn)生的短路功耗,可以通過(guò)查工藝庫(kù)獲得;C為等效電容,根據(jù)經(jīng)驗(yàn),值為20 pF;V為PAD工作電壓,一般為3.3 V/2.5 V;Pleakage_pad為PAD的漏電功耗,可以通過(guò)查工藝庫(kù)獲得。
以SMIC55nm LL工藝為例,4個(gè)PB8的管腳工作,工作頻率為50 MHz。查詢工藝庫(kù)中PB8的短路功耗為99.32 pW[3],漏電功耗是0.012 49 μW[3],代入公式計(jì)算得到管腳PAD工作時(shí)的功耗值:
最后,通過(guò)查詢數(shù)據(jù)手冊(cè),獲得模擬IP工作時(shí)的功耗值,將三部分相加,獲得總的Ptotal功耗值。本階段的功耗評(píng)估通過(guò)公式計(jì)算以及引入一些經(jīng)驗(yàn)值,方法簡(jiǎn)單,準(zhǔn)確率較低,主要目的是確認(rèn)低功耗芯片方案階段所使用的工藝、電路規(guī)模、以及工作頻率的合理性,為后期設(shè)計(jì)打下基礎(chǔ)。
代碼階段的功耗評(píng)估,是在RTL代碼設(shè)計(jì)完成后,對(duì)應(yīng)用場(chǎng)景下功耗消耗的評(píng)估,準(zhǔn)確率比方案階段高。如果在本階段評(píng)估數(shù)據(jù)與指標(biāo)存在非常大差距,可以及時(shí)更改設(shè)計(jì),造成較小的迭代。
使用的評(píng)估工具是Spyglass。在Spyglass工具中對(duì)代碼進(jìn)行綜合,工具將RTL代碼綜合成門電路網(wǎng)表,然后讀入應(yīng)用場(chǎng)景激勵(lì)下生成的VCD或者FSDB波形,對(duì)門電路進(jìn)行反標(biāo),獲得門電路在應(yīng)用場(chǎng)景下的翻轉(zhuǎn)率,讀入工藝庫(kù)進(jìn)行計(jì)算,得到功耗消耗值。
使用Spyglass進(jìn)行功耗評(píng)估的基本語(yǔ)法為[4]:
本階段的功耗評(píng)估值準(zhǔn)確率約為70%。如果評(píng)估結(jié)果能夠滿足指標(biāo)要求,設(shè)計(jì)進(jìn)入下一步后端布局布線生成物理GDS版圖。
簽核階段功耗評(píng)估是最接近真實(shí)功耗消耗的數(shù)據(jù),因?yàn)榇藭r(shí)的門電路核線延時(shí)均是物理實(shí)際電路,得到的評(píng)估值也是最準(zhǔn)確的。本階段功耗評(píng)估數(shù)據(jù)準(zhǔn)確率可達(dá)85%~90%。
本階段采用PTPX工具進(jìn)行功耗分析,方法是將完成后端布局布線、時(shí)序收斂后的版圖提取出后仿網(wǎng)表和反標(biāo)SDF文件,應(yīng)用后仿環(huán)境產(chǎn)生不同應(yīng)用場(chǎng)景激勵(lì)下的VCD或者FSDB波形。在PTPX工具中讀入已產(chǎn)生的波形,對(duì)物理門電路進(jìn)行映射,獲得門電路在應(yīng)用場(chǎng)景下的真實(shí)翻轉(zhuǎn)率,讀入工藝庫(kù)進(jìn)行計(jì)算,得到功耗消耗值。
下面以SMIC55nm LL工藝為例,介紹使用PTPX工具評(píng)估典型環(huán)境下功耗消耗的基本語(yǔ)法[5]:
通過(guò)讀入不同環(huán)境參數(shù)的工藝庫(kù),可以計(jì)算出不同環(huán)境下的功耗結(jié)果,如表1所示。
經(jīng)過(guò)工具計(jì)算不同測(cè)試環(huán)境下的功耗值,若達(dá)到預(yù)期目標(biāo),可以進(jìn)行芯片流片。
表1 測(cè)試環(huán)境電壓和溫度
在低功耗SoC芯片設(shè)計(jì)過(guò)程中,通過(guò)以上三個(gè)階段的功耗評(píng)估,不僅可以保證超低功耗芯片設(shè)計(jì)的成功,而且能夠保證芯片設(shè)計(jì)流程的順暢,無(wú)需巨大的芯片設(shè)計(jì)迭代,保障了芯片流片的成功。