隨著便攜式消費(fèi)電子、工業(yè)、醫(yī)療、汽車(chē)電子及軍品應(yīng)用呈指數(shù)增長(zhǎng),系統(tǒng)必須采用能延長(zhǎng)電池壽命的功耗較低的半導(dǎo)體器件。為響應(yīng)這一需求,整個(gè)半導(dǎo)體行業(yè)一直努力提供高能效的芯片和系統(tǒng)。然而,如果具功耗意識(shí) (power-cONscious) 的設(shè)計(jì)人員不能在設(shè)計(jì)中進(jìn)一步降低功耗,僅有這些低功耗器件并不夠。
越來(lái)越多設(shè)計(jì)人員需要功能齊備、使用方便的開(kāi)發(fā)工具套件,經(jīng)過(guò)優(yōu)化以確定功耗源和降低功耗,并能最大限度地提高資源利用率,以及提高性能。有了先進(jìn)的布局布線方法和功耗分析功能,設(shè)計(jì)人員就能更有效地查找功耗源,并實(shí)現(xiàn)最低功耗的終端產(chǎn)品解決方案。
以功耗驅(qū)動(dòng)布局布線
現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 設(shè)計(jì)人員長(zhǎng)期以來(lái)一直依賴(lài)時(shí)序驅(qū)動(dòng)的布局布線工具來(lái)實(shí)現(xiàn)最高性能?,F(xiàn)在,具功耗意識(shí)的設(shè)計(jì)人員可以利用以功耗驅(qū)動(dòng)布局布線這種方法來(lái)降低功耗,且這種方法對(duì)時(shí)序性能的影響很小,甚至無(wú)影響。以功耗驅(qū)動(dòng)布局布線流程能根據(jù)估算的活動(dòng),減少設(shè)計(jì)“網(wǎng)絡(luò) (net)”的容性負(fù)載,從而快速實(shí)現(xiàn)減少動(dòng)態(tài)功耗。
FPGA廠商提供的以功耗驅(qū)動(dòng)布局布線功能可以利用一些成熟的模型,以便最大限度地降低總體動(dòng)態(tài)功耗。各功能實(shí)體間的互連稱(chēng)作“網(wǎng)絡(luò)”,由于其有效電容 (activity-capacitance) 乘積 ( 大,因此是優(yōu)化功率的重點(diǎn)對(duì)象。同時(shí),也應(yīng)特別重視減少時(shí)鐘網(wǎng)的橫縱時(shí)鐘源數(shù)量,因?yàn)檫@些連線通常是數(shù)量最大且最活躍的。
例如,在典型IGLOO FPGA設(shè)計(jì)中,網(wǎng)絡(luò)的功耗占據(jù)總體動(dòng)態(tài)功耗的40%以上。在進(jìn)行以功耗驅(qū)動(dòng)布局布線優(yōu)化后,低功耗FPGA的平均功耗可降低13%,在某些設(shè)計(jì)中更可降低達(dá)46%。
采用當(dāng)前的以功耗驅(qū)動(dòng)布局布線功能,設(shè)計(jì)人員可用一個(gè)VCD (value change dump) 文件來(lái)規(guī)定網(wǎng)絡(luò)的開(kāi)關(guān)動(dòng)作,該文件還允許高級(jí)用戶針對(duì)特定的網(wǎng)絡(luò)或應(yīng)用場(chǎng)景來(lái)細(xì)調(diào)開(kāi)發(fā)工具的功率優(yōu)化器。用戶還可選用一些其它功能,包括布局布線時(shí)手工輸入或直接使用工具自動(dòng)估算網(wǎng)絡(luò)活動(dòng)。自動(dòng)網(wǎng)絡(luò)活動(dòng)估算功能為用戶提供了功率驅(qū)動(dòng)布局的便利,無(wú)需首先完成后(back-annotated) 仿真,因?yàn)椴季植季€工具將會(huì)自動(dòng)地估算網(wǎng)絡(luò)的開(kāi)關(guān)動(dòng)作。平均來(lái)說(shuō),相比單單使用帶有自動(dòng)網(wǎng)絡(luò)活動(dòng)估算工具的功率驅(qū)動(dòng)布局功能,用戶提供的VCD可協(xié)助將總體功耗額外減少2%。
使用VCD文件來(lái)完成功率驅(qū)動(dòng)布局布線,用戶首先要完成時(shí)序驅(qū)動(dòng)布局布線,然后運(yùn)行布局后仿真,運(yùn)行時(shí)選擇“生成VCD文件”選項(xiàng)以生成VCD文件。這樣,設(shè)計(jì)工具會(huì)指導(dǎo)仿真程序根據(jù)仿真情況生成一個(gè)VCD文件,然后,該VCD文件被導(dǎo)入,重新運(yùn)行布局布線以完成最終的功率驅(qū)動(dòng)布局布線。
提高便攜設(shè)計(jì)能效的另一個(gè)關(guān)鍵因素,是能夠分析整個(gè)FPGA器件或設(shè)計(jì)的特定部分在實(shí)際應(yīng)用功能模式下或用戶創(chuàng)建的功率方案下的功耗,如網(wǎng)絡(luò)、門(mén)電路、I/O、核心電壓及IO電壓、時(shí)鐘域、開(kāi)關(guān)周期和競(jìng)爭(zhēng)冒險(xiǎn),這些因素會(huì)個(gè)別增加器件的總體功耗。這種分析功能為查找設(shè)計(jì)關(guān)鍵部分的主要功耗源“熱點(diǎn)”提供了新途徑,這樣用戶就能*估和修改設(shè)計(jì)以降低功耗。
很少有設(shè)計(jì),尤其是便攜設(shè)計(jì)在100%的時(shí)間內(nèi)都運(yùn)行在工作模式。大多數(shù)便攜應(yīng)用操作在靜態(tài)、待機(jī),以及睡眠模式下以節(jié)省電池電能。
以標(biāo)準(zhǔn)手機(jī)設(shè)計(jì)為例。對(duì)手機(jī)分析后可得出其使用的功率曲線。如設(shè)計(jì)要求該手機(jī)5%的時(shí)間處于工作狀態(tài),10%處于待機(jī)狀態(tài),85%處于睡眠狀態(tài),可得到其總體功耗和電池壽命數(shù)據(jù)。如果該使用模式被改變,三項(xiàng)比例分別變成5%、5%及90%,就會(huì)顯著影響功耗。此外,最好研究一下工作模式下的功率狀況。比如,設(shè)備中有一個(gè)浮點(diǎn)運(yùn)算單元,有10%的時(shí)間處于工作狀態(tài),進(jìn)行加法、乘法運(yùn)算等。如果將這個(gè)用法納入功率狀況中,便可動(dòng)態(tài)地觀察設(shè)計(jì)和做出相應(yīng)調(diào)整。
分析功能模式 (如活動(dòng)、靜態(tài)或睡眠,或者用戶定制模式) 是FPGA工具的一種獨(dú)特功能。利用這種分析功能,用戶就能根據(jù)各種模式的運(yùn)行時(shí)間或百分比來(lái)生成功耗狀況報(bào)告。用戶可創(chuàng)建和比較多種場(chǎng)景,用于*價(jià)和優(yōu)化設(shè)計(jì)的功耗。從而提供更實(shí)際的在典型運(yùn)作狀態(tài)的功耗報(bào)告。
例如,周期精確分析 (cycle-accurate) 的功耗分析可讓設(shè)計(jì)人員觀察每個(gè)時(shí)鐘周期的峰值功耗,以及整個(gè)仿真期內(nèi)的平均功耗。對(duì)于某些工具,這個(gè)分析是基于一個(gè)仿真VCD文件,并且具有交互顯示,因而能顯示每個(gè)時(shí)鐘周期的功耗,也顯示其它相關(guān)模塊,因此用戶可采取糾正措施來(lái)降低功耗。
另一方面,利用開(kāi)關(guān)分析功能,用戶能夠確定組合邏輯的冒險(xiǎn)或競(jìng)爭(zhēng)的產(chǎn)生,讓用戶定位它們并加以修正,從而降低功耗。根據(jù)Favalli 和 Benini在1995年國(guó)際低功耗電子和設(shè)計(jì)討論會(huì)的文章,在典型的設(shè)計(jì)中,冒險(xiǎn)占據(jù)總體功耗的20%。而且,在某些電路中,如組合加法器,競(jìng)爭(zhēng)產(chǎn)生的功耗有可能高達(dá)總體功耗的70%。
電池供電時(shí)間估測(cè)器對(duì)具功耗意識(shí)的設(shè)計(jì)也很關(guān)鍵。有些開(kāi)發(fā)工具仍讓設(shè)計(jì)人員直接輸入所希望的功耗模式和建議的電池容量,一般為安時(shí) (Amp-hour)。然后,該工具根據(jù)目標(biāo)FPGA的功耗模式給出預(yù)期的電池供電時(shí)間。
小結(jié)
具功耗意識(shí)的設(shè)計(jì)越來(lái)越重要。將業(yè)界領(lǐng)先的低功耗FPGA與創(chuàng)新的功耗優(yōu)化工具相結(jié)合,能夠大幅降低在芯片和系統(tǒng)層面的功耗。采用先進(jìn)的布局優(yōu)化和功率分析工具,設(shè)計(jì)人員便能更高效地實(shí)現(xiàn)最低功耗的便攜應(yīng)用。