數(shù)字語音解碼器的低功耗設(shè)計策略
近年來,隨著個人手持多媒體設(shè)備的快速增長,低功耗設(shè)計變得越來越重要,甚至成為決定產(chǎn)品是否成功的關(guān)鍵,如筆記本電腦、PDA、移動電話等時尚消費(fèi)和商務(wù)類電子產(chǎn)品,對電池的供電時間要求越來越高,高功耗成為延長電池使用時間突出的制約因素。
CMOS數(shù)字電路的功耗主要由3部分組成:跳變功耗、短路功耗和靜態(tài)漏電功耗。其中占系統(tǒng)功耗比例大于90%的為跳變功耗,也稱動態(tài)功耗。對于SoC而言,所有的設(shè)計方法都是圍繞著動態(tài)功耗來進(jìn)行。如何從各個層次、各個方面盡量減少動態(tài)功耗,將是語音解碼設(shè)計中的重點內(nèi)容。
1 語音解碼器的低功耗設(shè)計策略
SoC低功耗的設(shè)計應(yīng)該從頂層到底層各個階段進(jìn)行優(yōu)化設(shè)計的工作,主要運(yùn)用各級的低功耗策略,通常在系統(tǒng)級、算法級、結(jié)構(gòu)級、電路級、布局布線以及制造工藝等層次上綜合考慮。有研究表明,除了制造工藝外,高抽象層次(系統(tǒng)級、算法級、結(jié)構(gòu)級)的設(shè)計因素對功耗的影響比其他層次要大的多。因此系統(tǒng)級、算法級、結(jié)構(gòu)級的低功耗設(shè)計技術(shù)的研究非常重要。
1.1 系統(tǒng)級的低功耗設(shè)計策略
降低系統(tǒng)級的功耗實際上是減少動態(tài)功耗。主要方法是時鐘采用power-down管理模式,在SoC處于空閑狀態(tài)時,使SoC運(yùn)作于休眠狀態(tài)(只有部分設(shè)備處于工作之中);在預(yù)設(shè)時間到來時,產(chǎn)生一個中斷,由該中斷喚醒其他設(shè)備;或采用門生時鐘技術(shù)停掉未工作模塊的時鐘,從而降低系統(tǒng)功耗。
另外,多時鐘設(shè)計也是降低系統(tǒng)功耗的有效方法,即讓運(yùn)算量小的模塊采用低頻率時鐘;而運(yùn)算量大的模塊使用高頻率時鐘。
本設(shè)計綜合使用了上述設(shè)計策略以降低系統(tǒng)功耗。使用一個系統(tǒng)主頻,通過對時鐘的精細(xì)控制,即時鐘使能&禁止以控制模塊的工作狀態(tài);使用雙向不交疊時鐘技術(shù),提高運(yùn)算量大的模塊的操作頻率,同時消除了競爭與冒險的可能。雙向不交疊時鐘由系統(tǒng)時鐘Cp分為2個不交疊的時鐘,yCp和zCp,如圖1所示在運(yùn)算時,由yCp時鐘控制輸入數(shù)據(jù),由zCD時鐘控制取出結(jié)果。
1.2 算法級低功耗設(shè)計策略
算法級低功耗設(shè)計主要在于軟件代碼的優(yōu)化,減少由于算法的低效率引起的不必要功耗。一方面是對標(biāo)準(zhǔn)C代碼的優(yōu)化。C語言具有易讀性、可移植性,但是C語言在實際工程應(yīng)用中,不便于對系統(tǒng)硬件資源的直接控制,無法發(fā)揮SoC的特點。用匯編語言編程,可以根據(jù)芯片自身硬件結(jié)構(gòu)特點,對匯編程序進(jìn)行優(yōu)化與精簡,往往能夠使一些復(fù)雜的算法和功能模塊在實時處理方面取得非常好的效果。另一方面分析了影響執(zhí)行效率的數(shù)據(jù)相關(guān)、控制相關(guān)和資源沖突等因素后,在手工匯編的基礎(chǔ)上充分挖掘算法的潛力,最大限度發(fā)揮硬件性能,以達(dá)到實時要求和低功耗設(shè)計的指標(biāo)。
評論