降低視頻密集型便攜式產(chǎn)品的能耗
隨著3G無線網(wǎng)的發(fā)展,加上集成電路(IC)技術(shù)的不斷進(jìn)步,便攜式消費(fèi)電子設(shè)備擁有了令人目眩的播放各種視頻內(nèi)容的能力。不斷增加的移動產(chǎn)品讓用戶進(jìn)入了多彩的視覺體驗(yàn)之中,如實(shí)時視頻、交互式游戲、交互式地圖、網(wǎng)頁瀏覽還有高分辨率照片。并且,不論是基本的手機(jī),還是全功能的PDA,這些功能都在產(chǎn)品的吸引力方面起著至關(guān)重要的作用,從而對其市場成功也影響巨大。
但是,實(shí)現(xiàn)這此功能的圖像處理器能耗都很大,因而給便攜系統(tǒng)設(shè)計(jì)師提出了挑戰(zhàn)。圖像處理總是需要密集的計(jì)算,同時所需時間周期也會延長。舉例來說,能處理視頻的移動設(shè)備必須能夠?qū)斎氲拿恳粠M(jìn)行解壓、解碼、調(diào)整尺寸并對之施加圖形過濾器。然后它還要按每秒30次的頻率重復(fù)這些計(jì)算,才能保證輸出到移動設(shè)備顯示屏的視頻流。這是實(shí)實(shí)在在的工作負(fù)載,對電能的胃口也非常大。
消費(fèi)者對富視頻產(chǎn)品的渴求看上去無窮無盡,而盡量降低能耗、延長電池使用時間對便攜式移動產(chǎn)品來說將一直是個穩(wěn)定的需求。解決這種互相沖突的目標(biāo)需要一個全面綜合的方法來節(jié)省電能。便攜產(chǎn)品設(shè)計(jì)師備必須在整個設(shè)計(jì)流程上部署節(jié)能技術(shù),以便在待機(jī)能耗和運(yùn)行能耗兩方面都達(dá)到要求。
耗電的器件
要想對移動設(shè)備的能耗進(jìn)行優(yōu)化,首先必須理解靜態(tài)和動態(tài)耗能器件。靜態(tài)能耗是待機(jī)能耗的主要組成部分,主要來自于晶體管的泄露電流??s小器件尺寸的一個副產(chǎn)品就是增加了晶體管的泄露電流。
對設(shè)計(jì)師來說有一點(diǎn)是幸運(yùn)的,即泄露可以在綜合階段使用多電壓臨限單元進(jìn)行自動的標(biāo)定。在綜合過程中,可以根據(jù)電能和性能的折衷選擇單元。高臨限電壓的單元可以減少泄露電流,但相對于低臨限電壓的單元,它的開關(guān)要慢許多。在時序要求不嚴(yán)格、開關(guān)可以慢一點(diǎn)的電路中,可以使用高臨限電壓單元來降低靜態(tài)能耗。技術(shù)的進(jìn)步帶來了一系列不同臨限電壓的單元,靜態(tài)能耗也就通過低能耗的實(shí)現(xiàn)工具得到了自動的優(yōu)化,因此大體上這個問題對設(shè)計(jì)者來說已經(jīng)是透明的了。
活動能耗,也就是動態(tài)能耗,是器件運(yùn)行的結(jié)果,通過消除不必要的開關(guān)活動就能降低一些。寄存器傳輸級(RTL)時鐘門控是降低動態(tài)能耗最常用的技術(shù)。時鐘門控通過有選擇地關(guān)閉時鐘來消除不必要的開關(guān)活動,從而極大地降低計(jì)算密集型應(yīng)用如圖像處理中的動態(tài)能耗。
時鐘門控技術(shù)
現(xiàn)在有兩種類型的時鐘門控技術(shù),分別是合并型(Combinational)和順序型(Sequential)(見圖1)。合并型時鐘門控是直接在RTL代碼中取代條件聲明,把時鐘門控單元插入到寄存器的時鐘通路中。低能耗的RTL綜合工具會在模式匹配的基礎(chǔ)上自動識別并插入合并型的時鐘門控。至于低能耗綜合工具在多大程度上可以使用時鐘門控這個問題,它要受到RTL如何編碼的制約。低能耗的綜合工具是通過在RTL代碼中,通過在定義聲明之前找到明顯的“如果(IF)”條件來找到可以插入時鐘門控的機(jī)會的。但是,這些工具并不能分析并決定何時在何處給RTL代碼插入這種“如果(IF)條件”以便降低能耗。還是要依賴RTL設(shè)計(jì)者在代碼中明顯地寫上這種“如果(IF)條件”,低能耗綜合工具才能把它們翻譯成節(jié)能的時鐘門控。
順序型時鐘門控是一種更強(qiáng)大的優(yōu)化技術(shù),它在計(jì)算密集型應(yīng)用中降低能耗的能力已經(jīng)得到驗(yàn)證。與合并型時鐘門控不同,順序型時鐘門控并不是簡單的翻譯。它包含了對設(shè)計(jì)行為的序列分析。序列分析會對整個電路功能進(jìn)行設(shè)計(jì)狀態(tài)和周期的巡視,識別出不必要的開關(guān)動作,諸如并發(fā)中無用的數(shù)據(jù)計(jì)算等。之后它能找出相關(guān)的邏輯條件來消除這種開關(guān)動作。
舉例來說,當(dāng)一個寄存器的輸出被留在當(dāng)前電路周期中的時候,序列分析就能用邏輯條件來關(guān)閉合并邏輯中和在前一個周期中生成這個數(shù)據(jù)的寄存器中的開關(guān)。這種序列關(guān)系可能向前或向后在多個周期中傳播。RTL設(shè)計(jì)總是包含有多重序列關(guān)系,它可以用來減少開關(guān)動作,并且因此可以優(yōu)化寄存器、內(nèi)存、時鐘以及合并邏輯的電能消耗。
序列時鐘門控能帶來的節(jié)能效果是非常顯著的,特別是在諸如視頻處理這類應(yīng)用中,這種應(yīng)用一般都會支持多種視頻格式和依賴于數(shù)據(jù)的算法。根據(jù)輸入視頻流的不同,通常只需要對其中的一部分進(jìn)行解碼計(jì)算和過濾器操作。因此,如果設(shè)計(jì)師能充分理解設(shè)計(jì)中的序列關(guān)系,就會發(fā)現(xiàn)這里有許多可以使用時鐘門控的機(jī)會。
部署時鐘門控
在實(shí)現(xiàn)時鐘門控方法學(xué)時有三個關(guān)鍵因素:完全地識別出所有可用的時鐘門控機(jī)會;精確地生成可以利用這些機(jī)會的RTL代碼;有效地對這些加入了時鐘門控的RTL代碼進(jìn)行驗(yàn)證以確保它仍然保留著原有功能。
只到最近,加入時鐘門控的一般方法還是要設(shè)計(jì)者自己去查看代碼,尋找時鐘門控的機(jī)會并手工在RTL代碼中加入所需的IF條件。典型的時鐘門控設(shè)計(jì)工作流包括手工加入時鐘門控優(yōu)化代碼,使用RTL能耗估計(jì)方法來評測這些優(yōu)化方法的效果,最后運(yùn)行模擬回歸來驗(yàn)證所需要的功能都還在。最后是對RTL代碼進(jìn)行綜合,同時可以對門級的電能消耗進(jìn)行估算以便決定是否還需要更多的時鐘門控(見圖2)。
在這個方法中還有許多低效率的地方。由于電路中時鐘門控的機(jī)會點(diǎn)非常多,而且使用條件又非常復(fù)雜,設(shè)計(jì)師總會在審查并修改RTL代碼方面花費(fèi)大量的時間。同時,由于并非所有的時鐘門控優(yōu)化方法都能帶來節(jié)電效果,其中甚至有一些會對時序和面積有不良影響,所以還需要用試算的方法來得到最低能耗的設(shè)計(jì)。這種手工工作是勞動密集型的,它會延長開發(fā)周期并給RTL模擬帶來額外的要求。又因?yàn)闀r鐘門控優(yōu)化方法不能用傳統(tǒng)的合并等效檢測工具進(jìn)行驗(yàn)證,所以還必須開發(fā)新的模擬測試基準(zhǔn)和評測工具,來驗(yàn)證新的時鐘門控方法沒有影響原有的功能。解決這一困境的自然方案就是設(shè)計(jì)自動化。
在RTL設(shè)計(jì)流中增加能耗優(yōu)化工具
在采用新的能耗優(yōu)化工具時,設(shè)計(jì)團(tuán)隊(duì)要隨時記著幾個關(guān)鍵考慮。第一,新工具帶來的電能節(jié)省可以補(bǔ)充并累積到現(xiàn)有能耗優(yōu)化工具上,這一點(diǎn)非常重要。第二,為了避免學(xué)習(xí)曲線過長并增加腳本開發(fā)工作,新工具應(yīng)該能使用標(biāo)準(zhǔn)的文件格式,并且能夠加入現(xiàn)有的設(shè)計(jì)流程之中。第三,非常重要的一點(diǎn)是新工具應(yīng)該提供一個全面的解決方案,不能在設(shè)計(jì)流中的其他地方帶來新問題。比如,自動識別時鐘門控機(jī)會是很有用的,但如果這個工具不能生成優(yōu)化過的RTL代碼、并全面驗(yàn)證所有原有功能都沒有失效,那它就會對生產(chǎn)率帶來負(fù)面沖擊。
最近,可以自動進(jìn)行識別、在RTL設(shè)計(jì)中插入并驗(yàn)證序列時鐘門控的商業(yè)解決方案已經(jīng)上市了(圖3)。使用這種自動序列時鐘門控和驗(yàn)證工具為視頻密集型便攜式應(yīng)用帶來了巨大的節(jié)能效果。
這些功能包含在Calypto系統(tǒng)公司的PowerPro CG(時鐘門控)及SLEC CG中。PowerPro CG是一款自動化的RTL電能優(yōu)化解決方案,經(jīng)驗(yàn)證它可以帶來最高達(dá)60%的電能節(jié)省,同時對面積和性能影響很小甚至沒有影響。SLEC CG是一個序列等效檢測工具,它可以驗(yàn)證序列時鐘門控的優(yōu)化。這些工具補(bǔ)充了現(xiàn)有的低能耗設(shè)計(jì)工具流,它們可以分析RTL設(shè)計(jì)中的序列行為,識別出時鐘門控機(jī)會,比已有的工具更強(qiáng)大。它們可以讀取標(biāo)準(zhǔn)的、可綜合的Verilog及VHDL RTL代碼,從而可以嵌入到現(xiàn)有的設(shè)計(jì)流中去。
另外,生成的能耗優(yōu)化的RTL代碼同原來的帶有額外時鐘門控邏輯的RTL設(shè)計(jì)是一樣的。能耗優(yōu)化的RTL代碼還要使用序列邏輯等效檢測工具進(jìn)行全面的驗(yàn)證,以確保沒有帶來功能上的改變。能耗優(yōu)化的RTL設(shè)計(jì)可以直接進(jìn)入低能耗綜合,以便擁有下游電能優(yōu)化能力的更多優(yōu)勢。通過把設(shè)計(jì)師從繁雜的設(shè)計(jì)分析、手工修改RTL代碼以及費(fèi)時的模擬工作中解放出來,生產(chǎn)效率和節(jié)能
評論