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