徐永釗,田祖?zhèn)?,陽若寧,姚麗娜,李洪濤,曾志?/p>
(①東莞理工學(xué)院,廣東 東莞 523808; ②湖南第一師范學(xué)院,湖南 長(zhǎng)沙 410000; ③湖南廣播電視大學(xué),湖南 長(zhǎng)沙 410004)
自20世紀(jì)90年代后期SoC(System on a Chip)出現(xiàn)以來,隨著超深亞微米工藝的不斷發(fā)展,SoC的發(fā)展日新月異,基于片上系統(tǒng)SoC的便攜式電子產(chǎn)品越來越廣泛地應(yīng)用于人們的日常生活和工作中[1]。隨著集成電路設(shè)計(jì)規(guī)模的增加和芯片運(yùn)行頻率的提高,集成電路設(shè)計(jì)中低功耗的需求也隨之提高。當(dāng)今SoC低功耗設(shè)計(jì)技術(shù)紛繁復(fù)雜,幾乎芯片設(shè)計(jì)的方方面面都有低功耗設(shè)計(jì)的技巧。例如系統(tǒng)級(jí)的定義和劃分、功耗管理模塊、低功耗指令集的選取、結(jié)構(gòu)級(jí)的總線低功耗方法、版圖級(jí)的縮小芯片面積、縮短互連線長(zhǎng)度,這些都是可能降低SoC芯片功耗的方法[2]。要知道這些方法是否有效地降低了芯片的功耗,需要一套比較精確的功耗分析和估計(jì)技術(shù)。一套精確有效的功耗評(píng)估方法,有利于設(shè)計(jì)人員及時(shí)了解改動(dòng)引起的功耗變化,有利于采用功耗較優(yōu)的設(shè)計(jì)細(xì)節(jié),兼顧功能的正確和功耗的優(yōu)化。
以CMOS門單元為基礎(chǔ)的SoC電路的功耗,主要有三種功耗因素[1],即:信號(hào)變化時(shí),電路電容充放電功耗;信號(hào)有限的上升和下降時(shí)間引起的短路電流;結(jié)反偏時(shí)的漏電流。
1.1.1 充放電功耗
充放電功耗是指當(dāng) CMOS電路的輸出端電平發(fā)生變化時(shí),此輸出端的所有電容充放電所消耗的功耗,功耗大小正比于總的容性負(fù)載。
以CMOS反相器為例,如圖1所示,C是寄生電容和負(fù)載電容的總和,包括后繼單元的輸入門電容、互連電容和反相器源漏區(qū)的電容三種類型的電容。深亞微米工藝中,門的尺寸按比例縮小,互連電容將逐漸占主要作用。假設(shè)輸入信號(hào)的翻轉(zhuǎn)概率為α,電路的時(shí)鐘頻率為f,則電路功耗可粗略地估計(jì)為CV2ddfα。
圖1 CMOS反相器
動(dòng)態(tài)充放電功耗在CMOS電路中起決定作用,大約占全部功耗的70%~90%,因此,低功耗分析研究的主要重點(diǎn)就在于準(zhǔn)確地估計(jì)信號(hào)活性和節(jié)點(diǎn)的電容。信號(hào)翻轉(zhuǎn)率α是功耗估計(jì)和分析中最重要的參數(shù)。
1.1.2 短路電流功耗
理想的CMOS電路的晶體管改變狀態(tài)不需要時(shí)間,不存在從電源到地的通道。當(dāng)輸入門的上升/下降時(shí)間大于輸出的上升/下降時(shí)間時(shí),可能存在從電源到地的短路電流。如果n型 MOS管的開啟電壓是VTn,p型 MOS管的開啟電壓是VTp,則當(dāng)VTn< Vin< Vdd-|VTp|成立時(shí),將出現(xiàn)從源到地的短路電流。輸入上升/下降時(shí)間越長(zhǎng),則短路電流存在的時(shí)間越長(zhǎng),平均短路電流越大。
對(duì)于大多數(shù)芯片,短路電流功耗占總的動(dòng)態(tài)功耗的5%~10%。如果電源電壓低于兩種晶體管的開啟電壓之和,即Vdd< VTn+|VTp|,則可以消除短路電流,但低電源電壓是以降低芯片速度為代價(jià)的。
1.1.3 漏電流功耗
漏電功耗包括由寄生反向PN結(jié)漏電和亞閾區(qū)漏電引起的功耗,其中寄生反向 PN結(jié)漏電引起的功耗很小,可忽略不計(jì),而亞閾區(qū)漏電流的公式如下:
其中 Vtm = kT/q是熱效應(yīng)電壓,k是普朗克常量,q為單位電荷,T為絕對(duì)溫度,VT為閾值電壓。從公式(1)可以看出,亞閾區(qū)漏電流與閾值電壓有密切關(guān)系。當(dāng)閾值減小時(shí),亞閾區(qū)漏電流會(huì)呈指數(shù)級(jí)快速增大。
實(shí)驗(yàn)表明,對(duì)于目前國(guó)內(nèi)主流工藝下(0.18μm)的SoC,90%~99%的功耗來源于信號(hào)跳變導(dǎo)致的負(fù)載電容充放電,如圖2所示[3],功耗評(píng)估的重點(diǎn)是動(dòng)態(tài)功耗。
功耗分析可以利用不同粒度模型的層次化分析方法,從而獲得精確性和效率間的折衷[4-5]。功耗分析可分為四個(gè)層次:
1.2.1 晶體管級(jí)
晶體管級(jí)模擬采用非線性的電流、電壓和電容建模電路行為,誤差主要來源于對(duì)寄生參數(shù)的建模,它可以處理動(dòng)態(tài)的和靜態(tài)的功耗。SPICE、Nanosim是這類工具中比較典型的,但它們通常只能用來仿真數(shù)萬門規(guī)模的電路,而且要花費(fèi)數(shù)天的時(shí)間,甚至可能不收斂。
圖2 動(dòng)態(tài)功耗和靜態(tài)漏流功耗對(duì)比
1.2.2 門級(jí)
使用集總電容模型,即所有電容都?xì)w并到門的輸出結(jié)點(diǎn),其精確值由單元庫(kù)、扇出和互連決定。廠商一般會(huì)提供門單元對(duì)應(yīng)不同輸入和輸出負(fù)載情況的功耗精確值查找表,如圖3所示,通過向查找表輸入負(fù)載和輸入信號(hào)質(zhì)量就可以獲得當(dāng)前情況下的功耗估計(jì)值。
圖3 門單元電路的功耗查找表
1.2.3 寄存器傳輸級(jí)
隨著系統(tǒng)集成度的提高,功耗分析方法的重心都在向更高層移動(dòng)。寄存器傳輸級(jí)(RTL級(jí))的電路抽象為組合電路塊和其輸入輸出端狀態(tài)鎖存器的互連。在行為級(jí)仿真時(shí),獲取電路塊的輸入輸出數(shù)據(jù)的統(tǒng)計(jì)參數(shù),然后將電路模塊的電容表示為這些參數(shù)的函數(shù)。
1.2.4 行為級(jí)
動(dòng)態(tài)功耗依賴于物理電容,而在行為級(jí),設(shè)計(jì)細(xì)節(jié)未實(shí)現(xiàn)以前,估計(jì)物理電容是困難的。行為級(jí)功耗分析方法可分兩類,一是建立電路模塊電容與電路復(fù)雜性和工藝參數(shù)之間的解析關(guān)系模型,二是映射到RTL級(jí)或門級(jí),使用RTL級(jí)或門級(jí)的功耗分析技術(shù)。
要精確分析功耗,需要精確計(jì)算出電路內(nèi)部節(jié)點(diǎn)中的翻轉(zhuǎn)率(Switching Activity)。最簡(jiǎn)單的方法是使用電路仿真。晶體管級(jí)分析的優(yōu)點(diǎn)是可以比較真實(shí)地反映芯片工作狀態(tài),功耗數(shù)值的估計(jì)也比較準(zhǔn)確。但缺點(diǎn)也很明顯,對(duì)超大規(guī)模電路設(shè)計(jì)來說,需要大量的計(jì)算模擬大量?jī)?nèi)部節(jié)點(diǎn)的信號(hào)跳變,仿真速度還較慢,嚴(yán)重影響功耗分析效率。寄存器級(jí)和行為級(jí)分析方法則相反,要精確計(jì)算電路內(nèi)部節(jié)點(diǎn)在特定時(shí)間內(nèi)的平均跳變電容量是比較困難的,但因?yàn)榉抡婀?jié)點(diǎn)大大簡(jiǎn)化,速度比晶體管級(jí)快得多。門級(jí)分析則在精度和速度之間達(dá)到了很好的平衡,因?yàn)殚T級(jí)可以直接從工藝庫(kù)中提取出精確的電容信息,仿真的節(jié)點(diǎn)數(shù)又少于晶體管級(jí),是這里準(zhǔn)備重點(diǎn)介紹的功耗分析方式。
SoC電路門級(jí)功耗分析的流程如圖4所示[6-7]。
圖4 門級(jí)功耗分析流程
其中第一階段的網(wǎng)表是邏輯綜合后的門級(jí)單元,SDF文件記錄的是各門單元的門延時(shí)和門電路間的互連延時(shí),第二階段要求的線電容特性和門級(jí)電路的功耗特性都包含在門電路延時(shí)特性記錄文件(.db)中。
利用上述的門級(jí)功耗分析流程,對(duì)設(shè)計(jì)中的一個(gè)SoC子電路SPI模塊進(jìn)行了功耗分析。分析之前首先需要對(duì)已經(jīng)設(shè)計(jì)完成的SPI模塊進(jìn)行邏輯綜合,獲得門級(jí)網(wǎng)表,和門級(jí)電路的延時(shí)反標(biāo)文件;然后采用預(yù)先編制的測(cè)試激勵(lì)對(duì)綜合后的門級(jí)網(wǎng)表進(jìn)行帶延時(shí)的仿真,輸出電路各節(jié)點(diǎn)的波形變化;最后利用功耗分析工具,這里使用PrimePower,讀入網(wǎng)表信息、電路工藝信息和節(jié)點(diǎn)波形,就可以輸出SPI電路的門級(jí)功耗分析報(bào)告。
采用相同的測(cè)試激勵(lì)對(duì) SPI接口進(jìn)行仿真,門級(jí)和晶體管級(jí)功耗分析得到SPI接口電路的功耗情況如表1所示。
表1 門級(jí)和晶體管級(jí)功耗分析對(duì)比
從上述對(duì)比可以看出,門級(jí)功耗分析在與晶體管級(jí)功耗分析誤差不超過33%的情況下,分析時(shí)間縮短了近20倍,大大提高了對(duì)類似SoC這樣的大規(guī)模集成電路的處理能力。因此,對(duì)于SoC設(shè)計(jì)而言,門級(jí)功耗分析是非常有效的功耗評(píng)估手段。
[1]張志敏,常曉濤.SoC低功耗設(shè)計(jì)技術(shù)發(fā)展綜述[J].信息技術(shù)快報(bào),2005(04):5-14.
[2]LANDMAN P. Low-power Architectural Design Methodologies[D].California: University of California, Berkeley, 1994.
[3]HU J G, LIN G, LI Siyu. Simulation Platform for Smart Card Chip[J]. Journal of Information and Computational Science,2008, 5(12):2459-2464.
[4]胡建國(guó),譚洪舟,位召勤,等. 低功耗RFID 電源產(chǎn)生電路的優(yōu)化設(shè)計(jì)[J].半導(dǎo)體技術(shù),2008(09):825-839,
[5]張忠志,胡建國(guó).無源RFID標(biāo)簽天線接口電路研究與實(shí)現(xiàn)[J].通信技術(shù),2008,41(12):22-25.
[6]胡建國(guó),陳亮.面向 CPU芯片的驗(yàn)證技術(shù)研究[J].微電子學(xué),2007(02):17-23
[7]王鵬飛,鄭龍根.短波電路仿真測(cè)量研究[J].通信技術(shù),2008,41(12):104-106.