隨著便攜式消費(fèi)電子,、工業(yè),、醫(yī)療,、汽車電子及軍品應(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)一步降低功耗,,僅有這些低功耗器件并不夠。
越來越多設(shè)計(jì)人員需要功能齊備,、使用方便的開發(fā)工具套件,,經(jīng)過優(yōu)化以確定功耗源和降低功耗,并能最大限度地提高資源利用率,,以及提高性能,。有了先進(jìn)的布局布線方法和功耗分析功能,設(shè)計(jì)人員就能更有效地查找功耗源,,并實(shí)現(xiàn)最低功耗的終端產(chǎn)品解決方案,。
以功耗驅(qū)動(dòng)布局布線
現(xiàn)場(chǎng)可編程門陣列 (FPGA) 設(shè)計(jì)人員長(zhǎng)期以來一直依賴時(shí)序驅(qū)動(dòng)的布局布線工具來實(shí)現(xiàn)最高性能。現(xiàn)在,,具功耗意識(shí)的設(shè)計(jì)人員可以利用以功耗驅(qū)動(dòng)布局布線這種方法來降低功耗,,且這種方法對(duì)時(shí)序性能的影響很小,,甚至無影響,。以功耗驅(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í)體間的互連稱作“網(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) 文件來規(guī)定網(wǎng)絡(luò)的開關(guān)動(dòng)作,,該文件還允許高級(jí)用戶針對(duì)特定的網(wǎng)絡(luò)或應(yīng)用場(chǎng)景來細(xì)調(diào)開發(fā)工具的功率優(yōu)化器。用戶還可選用一些其它功能,,包括布局布線時(shí)手工輸入或直接使用工具自動(dòng)估算網(wǎng)絡(luò)活動(dòng),。自動(dòng)網(wǎng)絡(luò)活動(dòng)估算功能為用戶提供了功率驅(qū)動(dòng)布局的便利,無需首先完成后(back-annotated) 仿真,,因?yàn)椴季植季€工具將會(huì)自動(dòng)地估算網(wǎng)絡(luò)的開關(guān)動(dòng)作,。平均來說,相比單單使用帶有自動(dòng)網(wǎng)絡(luò)活動(dòng)估算工具的功率驅(qū)動(dòng)布局功能,,用戶提供的VCD可協(xié)助將總體功耗額外減少2%,。
使用VCD文件來完成功率驅(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ò),、門電路、I/O,、核心電壓及IO電壓,、時(shí)鐘域、開關(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í)間或百分比來生成功耗狀況報(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)模塊,,因此用戶可采取糾正措施來降低功耗。
另一方面,,利用開關(guān)分析功能,,用戶能夠確定組合邏輯的冒險(xiǎn)或競(jìng)爭(zhēng)的產(chǎn)生,讓用戶定位它們并加以修正,,從而降低功耗,。根據(jù)Favalli 和 Benini在1995年國際低功耗電子和設(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)鍵。有些開發(fā)工具仍讓設(shè)計(jì)人員直接輸入所希望的功耗模式和建議的電池容量,,一般為安時(shí) (Amp-hour),。然后,該工具根據(jù)目標(biāo)FPGA的功耗模式給出預(yù)期的電池供電時(shí)間,。
小結(jié)
具功耗意識(shí)的設(shè)計(jì)越來越重要,。將業(yè)界領(lǐng)先的低功耗FPGA與創(chuàng)新的功耗優(yōu)化工具相結(jié)合,能夠大幅降低在芯片和系統(tǒng)層面的功耗,。采用先進(jìn)的布局優(yōu)化和功率分析工具,,設(shè)計(jì)人員便能更高效地實(shí)現(xiàn)最低功耗的便攜應(yīng)用。