莫東杰
(廣東工業(yè)大學,廣東 廣州 510006)
隨著半導體行業(yè)的快速發(fā)展,消費電子和無線設(shè)備的盛行,集成電路的制造和工藝的進步,芯片的體積越來越小的同時其規(guī)模和復雜程度也越來越大,對于芯片的性能和功耗的要求也越來越苛刻, 特別是近年來被廣泛應(yīng)用的移動電子設(shè)備對電池續(xù)航的依賴越來越大,設(shè)計人員必須重點關(guān)注產(chǎn)品的續(xù)航能力。因此,在集成電路芯片設(shè)計領(lǐng)域中,低功耗設(shè)計是最受人們關(guān)注的領(lǐng)域之一。
為了降低微控制器的功耗,本文提出并實現(xiàn)了一種低功耗時鐘管理技術(shù)。該技術(shù)根據(jù)微控制器中處理器核的運行狀態(tài)的變化,實現(xiàn)工作模式的切換和時鐘狀態(tài)的調(diào)節(jié),在保證一定的工作效率的條件下降低了功耗。該技術(shù)成功應(yīng)用于微控制器仿真驗證平臺,功耗仿真驗證結(jié)果表明,該技術(shù)能有效的降低微控制器的功耗,有一定的實際意義。
在數(shù)字集成電路中,功耗主要來自以下三個方面:
式(1)中,表示對CMOS電路中電容充放電所消耗的開關(guān)功耗,和分別代表短路功耗和漏電功耗。
其中,開關(guān)功耗可以近似表示為:
式(2)中是信號變化翻轉(zhuǎn)率的活動因子,CL表示節(jié)點電容,為工作電壓,是時鐘頻率。
由式(2)可以明顯看出,降低工作電壓就能有效的減少開關(guān)功耗,但由于工作電壓跟電路的性能關(guān),降低工作電壓會損害到性能,同時芯片中的降壓電路實現(xiàn)困難,所以降壓并不是減小動態(tài)功耗的首選;而活動因子一般與系統(tǒng)的實際運行程序有關(guān),操作困難;節(jié)點電容則是由制造實現(xiàn)的工藝所決定,所以本文主要考慮通過時鐘優(yōu)化來降低功耗,著重在對系統(tǒng)時鐘的開關(guān)、工作狀態(tài)以及頻率的管理上。本文中的低功耗動態(tài)時鐘管理技術(shù)主要包括門控時鐘和多模式切換,通過這兩項技術(shù),能有效的對系統(tǒng)的時鐘進行管理,降低系統(tǒng)的功耗。
門控時鐘是寄存器傳輸級的低功耗設(shè)計技術(shù),就是當系統(tǒng)某一部分處于空閑狀態(tài)時關(guān)閉其時鐘從而消除時鐘驅(qū)動的功耗。門控時鐘作用范圍越大,功耗優(yōu)化的效果就越明顯。門控時鐘有兩種實現(xiàn)形式:基于鎖存器的門控時鐘和基于兩輸入與門的門控時鐘,前者較穩(wěn)定不易出現(xiàn)毛刺,但會在設(shè)計中引入鎖存器,而后者容易導致時鐘的毛刺,但面積小。在一般的情況下,門控時鐘的選擇和運用可以通過電子設(shè)計自動化(EDA)軟件工具實現(xiàn),也可以手工在在寄存器轉(zhuǎn)換級電路(RTL)代碼內(nèi)插入;通常會一些模塊級或系統(tǒng)級的門控時鐘是通過手工插入基于鎖存器的門控時鐘的,而其他寄存器的門控時鐘則是通過EDA軟件自動插入的。
在微控制器執(zhí)行任務(wù)時,不可能一直處在工作狀態(tài),系統(tǒng)總會有空閑的時候,這時候就要對時鐘進行有效的管理,避免不必要的功耗。通過對時鐘的管理來把系統(tǒng)分為5種工作模式:NORMAL、IDLE、WAIT、STOP和SLEEP。在NORMAL模式下,主系統(tǒng)時鐘(MCLK)、子系統(tǒng)時鐘(SMCLK)均由片外高頻時鐘發(fā)生器(DCO)提供,輔助系統(tǒng)時鐘(ACLK)由外接高頻晶振(HFXT)或低頻晶振(LFXT)提供;在IDLE模式時,MCLK停止工作,SMCLK由DCO提供,ACLK由外接LFXT提供;在WAIT模式時,MCLK停止工作,SMCLK和ACLK均由LFXT提供;STOP模式下,MCLK和SMCLK停止工作,僅有ACLK由LFXT提供;SLEPP模式下所有時鐘停止工作。
DCMM主要由DCO,高低頻晶振接口,時鐘源選擇器、時鐘分頻器和模式轉(zhuǎn)換狀態(tài)機以及時鐘輸出門控電路組成。首先DCMM的寄存器組通過配置模式轉(zhuǎn)換狀態(tài)機決定輸出時鐘的工作狀態(tài),模式轉(zhuǎn)換狀態(tài)機的輸出就會驅(qū)動時鐘源選擇器適當?shù)倪x擇各時鐘來源,然后選出的時鐘經(jīng)過獨立的時鐘分頻器進行分頻處理(可配置1:1,1:2,1:4,1:8,1:16分頻);最后,時鐘輸出門控電路是各個子模塊的時鐘的總開關(guān),當微控制器內(nèi)的某一個子模塊不需要工作時可以暫時切斷時鐘,減少不必要的功耗。系統(tǒng)復位的同時,DCMM寄存器就會開始初始化默認配置,配置完成后就可以讓DCMM自主開始工作。同時,工作過程中也可以通過寄存器接口對相關(guān)寄存器的配置進行改動來實現(xiàn)各種工作模式和時鐘頻率。
圖1 基于openMSP430的微控制器仿真驗證平臺
本設(shè)計采用基于openMSP430嵌入式微處理器的微控制器平臺進行仿真驗證。如圖1。它是由待測設(shè)計(DUT),也就是本設(shè)計中的DCMM,和其他輔助模塊所組成的。由于DCMM是微控制器中的一個外設(shè)模塊,它主要由嵌入式處理器驅(qū)動的,所以對DCMM的測試激勵主要由嵌入式處理器控制。當完成測試激勵的編寫后,要先通過MSPGCC編譯器進行編譯并寫入程序存儲器,然后啟動VCS仿真軟件使測試平臺對微控制器進行初始化并開始執(zhí)行程序,這時測試激勵向量就會由處理器加載到DCMM中開始仿真驗證,當程序執(zhí)行完后,就會輸出仿真波形和工作報告等測試結(jié)果文件。
驗證結(jié)果表明,微控制器在NORMAL、IDLE、WAIT、STOP和SLEEP五種不同的工作模式進行切換,其對應(yīng)功耗和輸出時鐘如圖2。在NORMAL模式下,微控制器正常工作,時鐘頻率達到最大,實時的功耗也最大;關(guān)閉MCLK,則微控制器進入IDLE模式,動態(tài)功耗大幅降低,此時SMCLK仍由DCO提供;當把SMCLK切換到LFXT時,系統(tǒng)會進入WAIT模式,此時系統(tǒng)時鐘主要由LXFT供給,功耗有進一步的降低;關(guān)閉MCLK和SMCLK,僅留下ACLK為部分模塊提供時鐘來保證其運行,處理器進入STOP模式,功耗又有小幅降低;當所有時鐘停止工作,系統(tǒng)進入SLEEP模式,這時功耗最低,幾乎為零。
圖2 仿真工作模式波形結(jié)果
在對微控制器驗證平臺仿真不同的任務(wù)程序時,我們利用功耗分析估計的方法統(tǒng)計比較了原始設(shè)計和加入動態(tài)時鐘管理技術(shù)時的面積和功耗情況如表1,結(jié)果表明,加入動態(tài)時鐘管理技術(shù)的設(shè)計在面積增大3.2%的情況下,對功耗的優(yōu)化最多能達到15.6%,效果較為顯著。由此可見,該技術(shù)能有效的降低微控制器的功耗。
表1 仿真結(jié)果對比
本文提出并設(shè)計實現(xiàn)了一種應(yīng)用于微控制器的低功耗時鐘管理技術(shù)。該技術(shù)包括門控時鐘和多種工作模式切換。該技術(shù)主要在硬件上實現(xiàn)了對微控制器時鐘進行管理,讓系統(tǒng)處于適當?shù)墓哪J较拢M可能的減少動態(tài)功耗?;趏penMSP430嵌入式處理器的微控制器仿真驗證平臺的實驗結(jié)果表明,引入動態(tài)時鐘管理單元的嵌入式微控制器能在一定程度上降低功耗,具有一定的應(yīng)用意義。
[1] 孫大鷹,徐申,徐玉珉,孫偉鋒,陸生禮. 應(yīng)用于低功耗嵌入式處理器的功耗動態(tài)管理策略設(shè)計[J]. 東南大學學報(自然科學版),2013,04:695-700.
[2] 孫大成,趙斌. 門控時鐘技術(shù)在RTL功耗優(yōu)化上的應(yīng)用[J]. 中國集成電路,2013,11:40-44.
[3] 陳黎明,鄒雪城,雷鑑銘,付智輝. 應(yīng)用于低功耗SoC的動態(tài)時鐘管理技術(shù)[J]. 微電子學,2007,01:45-48.
[4] 趙爾寧,邵高平. 基于先驗預(yù)知的動態(tài)電源管理技術(shù)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2003,12:9-11.
[5] 王延升,劉雷波. SoC設(shè)計中的時鐘低功耗技術(shù)[J]. 計算機工程,2009,24:257-258+261.