編寫(xiě)代碼前,在系統(tǒng)與架構(gòu)層次上制定完善低功耗方案,可以節(jié)省 50% 以上的功耗。此類低功耗設(shè)計(jì)和代碼描述基本沒(méi)有關(guān)系,往往由系統(tǒng)和架構(gòu)人員進(jìn)行設(shè)計(jì)。此類人員需要較豐富的硬件經(jīng)驗(yàn),能對(duì)系統(tǒng)有一個(gè)良好的整體把握。方案制定后,再交予功能設(shè)計(jì)人員(例如 IC 前端設(shè)計(jì)、FPGA 工程師等)實(shí)現(xiàn)。
一般來(lái)說(shuō),電壓越低,功耗越低,但是性能往往會(huì)越差。綜合功耗與性能的考慮,可以對(duì)不同的模塊采用不同的電壓設(shè)計(jì)。
多電壓技術(shù)主要有 3 種:
一般來(lái)說(shuō),供電電壓越大,電路延遲越小,性能越高。例如,芯片的處理器核、存儲(chǔ)器一般需要較高的性能,所以可以采用較高的電壓方案。其他外部設(shè)計(jì),可以采用較小的電壓方案,來(lái)降低功耗。
一般來(lái)說(shuō),頻率越高,性能越好,但功耗越大。通過(guò)合理的時(shí)鐘分配,也能有效的降低功耗,一般有以下幾種方法:
一般 CPU 總線需要較高的時(shí)鐘來(lái)滿足較高的設(shè)計(jì)需求,而 uart,spi 等外設(shè)工作頻率不會(huì)很高。如果設(shè)計(jì)中一視同仁都采用較高的工作頻率,顯然會(huì)增加無(wú)端的功耗。
將高速時(shí)鐘進(jìn)行一定的分頻,分別賦予不同的模塊。在滿足工作性能的條件下看,采用較低的工作時(shí)鐘頻率,可以有效減少功耗。
設(shè)計(jì)中加入多種低功耗時(shí)鐘分配方案,人為的來(lái)選擇一種工作模式,可以降低功耗。各種低功耗模式設(shè)計(jì)可以參考如下:
模式 | 說(shuō)明 |
---|---|
Normal | 主時(shí)鐘使用較高頻率的鎖相環(huán)時(shí)鐘,送入到設(shè)計(jì)電路中 |
Slow | 主時(shí)鐘使用較低的本地時(shí)鐘 |
Low-Power | 總線時(shí)鐘關(guān)閉,只保留一些外設(shè)的工作時(shí)鐘 |
Sleep | 時(shí)鐘全部關(guān)閉,全設(shè)計(jì)進(jìn)入睡眠狀態(tài) |
和多電壓技術(shù)的電壓自適應(yīng)調(diào)整類似,根據(jù)當(dāng)前的工作狀態(tài)來(lái)選擇合適的工作頻率,也可以降低功耗。
例如電腦在處理一些簡(jiǎn)單的文檔時(shí),可以選擇相對(duì)較低的工作頻率;而電腦在處理一些視頻渲染工作時(shí),則需要相對(duì)較高的工作頻率。
工作頻率和電壓的動(dòng)態(tài)調(diào)整,往往是低功耗設(shè)計(jì)中同時(shí)需要的策略。
系統(tǒng)中的功耗都是硬件單元消耗的。在設(shè)計(jì)過(guò)程中,系統(tǒng)的功能可以用硬件實(shí)現(xiàn),也可以使用軟件實(shí)現(xiàn)。
系統(tǒng)設(shè)計(jì)者根據(jù)設(shè)計(jì)規(guī)范和自身經(jīng)驗(yàn)對(duì)系統(tǒng)性能進(jìn)行推測(cè)(仿真建模),決定哪一部分使用硬件來(lái)實(shí)現(xiàn),哪一部分使用軟件來(lái)實(shí)現(xiàn),從而達(dá)到性能和功耗的最佳平衡。例如一些參數(shù)的計(jì)算,軟件計(jì)算完成后直接輸入給硬件,是比較合理的設(shè)計(jì)。
總之,軟硬件劃分可以很大程度上降低功耗,這是系統(tǒng)設(shè)計(jì)者需要慎重考慮的。
現(xiàn)在很多設(shè)計(jì)也依賴于 IP 的集成。選擇 IP 時(shí),在滿足工作性能的條件下,也需要合理的選擇功耗相對(duì)較低的 IP 。
設(shè)計(jì)中使用到的標(biāo)準(zhǔn)單元庫(kù),雖然實(shí)現(xiàn)的邏輯功能相同,但也會(huì)因?yàn)楣に噹?kù)的不同具有不同的電壓閾值。
LVT(Low Voltage Threshold),閾值電壓低,飽和電流小,所以此類單元庫(kù)具有更高的速度和更大的泄漏電流。
HVT(High Voltage Threshold)單元漏電流小,但速度較慢。
SVT/RVT(Standard/Regular Voltage Threshold) 的性能介于 LVT 與 HVT 之間。
所以選用標(biāo)準(zhǔn)單元庫(kù)的時(shí)候,需要綜合速度和功耗兩個(gè)方面來(lái)考慮。
例如,可以在關(guān)鍵路徑使用 LVT 單元,在非關(guān)鍵路徑使用 HVT 單元。
還有一些其他可以減少功耗的系統(tǒng)方法,如下一些舉例:
更多建議: