樊持杰 司巧梅 張 丹
(牡丹江師范學(xué)院,黑龍江 牡丹江 157011)
VLSI低功耗設(shè)計(jì)方法的研究
樊持杰 司巧梅 張 丹
(牡丹江師范學(xué)院,黑龍江 牡丹江 157011)
針對近年來VLSI功耗問題越來越被關(guān)注,尤其是在電池供電的便攜式設(shè)備中CMOS電路的功耗問題尤為重要。本文對VLSI的低功耗設(shè)計(jì)方法進(jìn)行了研究,首先對VLSI作了簡介,其次分析了VLSI的功耗來源,最后就如何實(shí)現(xiàn)VLSI開關(guān)功耗的低功耗設(shè)計(jì),著重討論了幾項(xiàng)技術(shù)。本文對電子行業(yè)從業(yè)人員有一定的積極意義。
VLSI;CMOS;低功耗;設(shè)計(jì)方法
近年來,隨著電路規(guī)模逐漸擴(kuò)大,其處理數(shù)據(jù)速度越來越快,而其集成度也不斷提高,功耗越來越大。如今人們對便攜式設(shè)備越來越依賴,但其不給力的電池續(xù)航能力,以及設(shè)備大功耗帶來的溫度過高而致系統(tǒng)不穩(wěn)定的問題,都迫使我們就如何降低大規(guī)模集成電路的功耗進(jìn)行思考。選擇合適的低功耗方法,必須首先要對VLSI中芯片的功耗進(jìn)行預(yù)估分析,通過早期的分析,我們可以使用不同設(shè)計(jì)層次的技術(shù)來降低大量的功耗,從而更容易達(dá)到功耗的要求。下面本文主要對VLSI進(jìn)行功耗分析,并重點(diǎn)研究降低其功耗的設(shè)計(jì)方法。
VLSI中CMOS電路的功耗來源主要有兩種:動(dòng)態(tài)功耗和靜態(tài)功耗。
2.1 動(dòng)態(tài)功耗
(1)開關(guān)功耗
開關(guān)功耗是指當(dāng)反相器的輸入是理想階躍波時(shí),純電容負(fù)載CL進(jìn)行充放電所消耗的功耗。其公式為:
公式中,f為時(shí)鐘頻率,a為翻轉(zhuǎn)活動(dòng)因子,也就是每個(gè)時(shí)鐘周期中,狀態(tài)發(fā)生變化的器件的個(gè)數(shù),Vdd為供應(yīng)電壓,CL為負(fù)載電容,不僅依靠電路結(jié)構(gòu),還依靠系統(tǒng)的輸入類型。如圖1所示為CMOS電路的開關(guān)功耗。
圖1 CMOS電路的開關(guān)功耗
(2)短路功耗
反相器輸入是非理想階躍波時(shí),會(huì)在輸入波上升或下降沿的瞬間,有一個(gè)N管與P管同時(shí)導(dǎo)通的區(qū)域存在,這一過程引起的功耗我們稱為短路功耗。其公式為:
PS=ISTVdd
公式中,IST為電路的短路電流值,VDD為電源電壓值。如圖2所示為CMOS電路的短路功耗。
圖2 CMOS電路的短路功耗
2.2 靜態(tài)功耗
靜態(tài)功耗在理論上講是不存在的,因?yàn)樵诜€(wěn)定狀態(tài)下,CMOS電路不存在電源到地的直接路徑。然而,實(shí)事上,擴(kuò)散器與襯底間的PN結(jié)上會(huì)存在反向泄漏電流,而造成一定的功耗。CMOS電路主要存在以下幾種泄漏電流:柵泄漏電流、亞閾值泄漏電流、反偏結(jié)泄漏電流,以及門柵感應(yīng)漏極泄漏電流。這些泄漏電流所引起的功耗之和就是芯片的靜態(tài)功耗。其計(jì)算公式為:
PL=IleakageVdd
公式中,Ileakage為泄漏電流的值,Vdd為電源電壓值。
通過上述分析,動(dòng)態(tài)功耗與靜態(tài)功耗之和就是電路的總功耗:
P=PD+PS+PL
其中,短路功耗PS和靜態(tài)功耗PL占總功耗的比例很小,而且PS和PL與工藝密切相關(guān),在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)很難控制,因此本文主要是對如何降低電路的開關(guān)功耗進(jìn)行討論。
降低VLSI功耗有很多方法,主要分為對其系統(tǒng)層、算法層、結(jié)構(gòu)層、邏輯層以及物理層的設(shè)計(jì)方法研究。其中對系統(tǒng)層、算法層和結(jié)構(gòu)層的設(shè)計(jì)改善,對VLSI整體功耗的降低有著非常明顯的作用,也是本文下面重點(diǎn)研究的內(nèi)容。
3.1 動(dòng)態(tài)功耗管理
動(dòng)態(tài)功耗管理是系統(tǒng)層的低功耗設(shè)計(jì)技術(shù),主要是指對電路在正常工作狀態(tài)時(shí)產(chǎn)生的功耗進(jìn)行管理。在電路正常工作時(shí),由于各模塊的活動(dòng)級別有所不同,因此有的會(huì)被系統(tǒng)調(diào)用,有的不被調(diào)用。動(dòng)態(tài)功耗管理的核心思想就是:在執(zhí)行某一操作時(shí),將電路中不被調(diào)用的模塊掛起,來降低電路功耗。如在進(jìn)行浮點(diǎn)運(yùn)算時(shí),整數(shù)運(yùn)算單元處于不被調(diào)狀態(tài),我們可以將其掛起以降低功耗。
3.2 算法層設(shè)計(jì)技術(shù)
在這一算法級設(shè)計(jì)層面上,我們通過使用恰當(dāng)?shù)木幋a技術(shù)來降低翻轉(zhuǎn)活動(dòng),從而來降低功耗。事實(shí)證明,這是一個(gè)比較有效的方法,對于如總線這種結(jié)點(diǎn)電容較大的信號線,效果尤為明顯??偩€的編碼技術(shù)有多種:如獨(dú)熱編碼(One-Hot)、格雷碼(Gray2code)、T0編碼等,其中One-Hot編碼通過對二進(jìn)制數(shù)進(jìn)行編碼,實(shí)現(xiàn)在一個(gè)二進(jìn)制數(shù)中,僅允許有一位不同于其它位的值。如表1所示,為獨(dú)熱編碼(One-Hot)與三位二進(jìn)編碼的比較。
表1 三位二進(jìn)制編碼和One-Hot的比較
從表1可知,在連續(xù)變化時(shí),二進(jìn)制編碼可能會(huì)有多個(gè)數(shù)位同時(shí)發(fā)生變化,而One-Hot編碼僅有一個(gè)數(shù)位發(fā)生變化。這樣在訪問相鄰兩個(gè)地址內(nèi)容時(shí),總線的翻轉(zhuǎn)活動(dòng)次數(shù)比較少,從而來降低功耗。
在算法級設(shè)計(jì)中,還存在一種基于減少翻轉(zhuǎn)電容的設(shè)計(jì)方法,主要是對執(zhí)行算法所需的操作類型和操作個(gè)數(shù)進(jìn)行充分考慮。不同類型的操作,其所消耗的功耗也不同,如乘法器操作的功耗要比加法器操作的功耗大,因此我們既要減少算法的操作個(gè)數(shù),也要考慮操作的類型。
3.3 結(jié)構(gòu)層設(shè)計(jì)技術(shù)
結(jié)構(gòu)層也稱為RTL(Register Transfer Level,寄存器傳輸層),在這一層的設(shè)計(jì)中會(huì)常用到加法器、乘法器、存儲器以及寄存器堆等。結(jié)構(gòu)層的優(yōu)化設(shè)計(jì)技術(shù)有并行結(jié)構(gòu)、流水線結(jié)構(gòu)等。
(1)并行結(jié)構(gòu)
如圖3所示,為16位乘法器應(yīng)用參考結(jié)構(gòu)與并行結(jié)構(gòu)的比較圖。
圖3 參考結(jié)構(gòu)與并行結(jié)構(gòu)示意圖
由圖3可知,并行結(jié)構(gòu)是通過犧牲芯片面積來降低功耗的,與參考結(jié)構(gòu)具有相同的計(jì)算速度的前提下,其工作頻率能夠降為原來的1/2,而且電源電壓也可以降低。并行結(jié)構(gòu)將一個(gè)功能模塊“復(fù)制”為N(N≥2)份,因?yàn)橛蠳個(gè)同樣的模塊同時(shí)工作,所以每個(gè)模塊的時(shí)鐘頻率就成為1/N分頻,每個(gè)模塊的工作速度同樣降為原來的1/N,基于上面公式中延時(shí)與工作電壓的線性關(guān)系,電路面積增長N倍,同時(shí)電容增長N倍,但電壓和頻率卻下降N倍,則最后功耗降低了N2倍。
并行結(jié)構(gòu)可以應(yīng)用多個(gè)單元并行,但同時(shí)隨著單元數(shù)的增加,則可能會(huì)出現(xiàn)一些問題:一是芯片面積增大,造成成本增加;二是布線長度增加,造成線電容增加;三是電壓的降低會(huì)受閾值電壓的限制,因此電壓接近閾值電壓時(shí),會(huì)造成延遲退化?;谝陨蠁栴}的影響,如果并行單元過多,反而會(huì)使功耗增加,所以在設(shè)計(jì)時(shí)要充分考慮這些因素,從而使并行效果達(dá)到最優(yōu)。
(2)流水線結(jié)構(gòu)
流水線結(jié)構(gòu)的核心思想是:控制通過數(shù)據(jù)通路指令流,來獲得最大的吞吐量,從而提高電路性能。這種結(jié)構(gòu)將指令分為多個(gè)步驟,利用模塊的時(shí)鐘周期來并行處理多條指令,從而提高電路的性能。如圖4所示為CPU的流水線結(jié)構(gòu)圖。
圖4 CPU流水線結(jié)構(gòu)圖
圖4中將CPU數(shù)據(jù)通路分為5段流水作業(yè),其中每段由一個(gè)模塊完成,模塊與模塊之間插入寄存器來驅(qū)動(dòng)這些模塊。利用這種方法,我們可以實(shí)現(xiàn)與并行結(jié)構(gòu)相似的低功耗結(jié)果,而電路面積其本保持不變。但流水線結(jié)構(gòu)也有其自身的缺陷:一是這種結(jié)構(gòu)設(shè)計(jì)具有較高的復(fù)雜性,需要插入流水線寄存器,從而會(huì)導(dǎo)致芯片面積增加,而且由于寄存器還需要增加時(shí)鐘控制,這樣就會(huì)造成時(shí)鐘單元負(fù)載增大;二是在一些算法的流水線結(jié)構(gòu)設(shè)計(jì)中,會(huì)出現(xiàn)“管道冒險(xiǎn)”現(xiàn)象,損害流水線的操作效率。
除了上面分析到的技術(shù),VLSI低功耗設(shè)計(jì)技術(shù)還有多種,如:閾值電壓設(shè)計(jì)技術(shù)、門控時(shí)鐘技術(shù)、SOI(硅絕緣體)設(shè)計(jì)技術(shù)等。由于篇幅問題,本文就不再詳述??傊?,隨著技術(shù)的發(fā)展,人們已不只關(guān)心設(shè)備的運(yùn)行速度,還很關(guān)注設(shè)備的工作壽命。而高功耗必然會(huì)導(dǎo)致低壽命,因此對器件的低功耗設(shè)計(jì)研究具有戰(zhàn)略意義,它關(guān)系到企業(yè)產(chǎn)品的市場競爭力,甚至是企業(yè)的生死存亡。
由于作者水平有限,本文還有很多不足之處,希望通過今后不斷的學(xué)習(xí)進(jìn)步,能對VLSI的低功耗設(shè)計(jì)方法有更深的理解與研究,彌補(bǔ)本文的缺憾。
[1]陳秀華.基于圖論的VLSI中最小斯坦納樹問題及其改進(jìn)算法[J].南京師范大學(xué)學(xué)報(bào):工程技術(shù)版,2015(4):47-52.
[2]許斌,羅俊.VLSI CMOS模擬集成電路可靠性仿真設(shè)計(jì)技術(shù)[J].微電子學(xué),2013(2):250-256.
[3]陳耀.計(jì)算機(jī)硬件組裝虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦與電信,2014(12):67-69.
Research on Low Power Design Method of VLSI
Fan Chijie Si QiaomeiZhang Dan
(Mudanjiang Normal College,Mudanjiang 157011,Heilongjiang)
In recent years,VLSI power problems have been paid more and more attention,especially the power consumption problem of CMOS circuit in battery powered portable devices.This paper studies on the low power design method of VLSI.Firstly, VLSI is introduced;then the VLSI power consumption source is analyzed;finally,several techniques to achieve low power consumption design of VLSI switch power are discussed.This paper has a certain positive significance for the electronic industry practitioners.
VLSI;CMOS;low power consumption;design method
TN47
A
1008-6609(2016)05-00101-03
樊持杰,女,湖南寧遠(yuǎn)人,副教授,研究方向:計(jì)算機(jī)教育,數(shù)據(jù)挖掘。