软件驱动的功率分析
軟件驅(qū)動(dòng)的功率分析
Software-driven power analysis
功率成本高;功率成本高。這是對阿克頓勛爵名言的一種強(qiáng)迫性的改編,抓住了半導(dǎo)體設(shè)計(jì)和功耗的兩個(gè)重要方面。從一段時(shí)間內(nèi)的平均功耗來看,很明顯高功耗的芯片將產(chǎn)生高成本。在便攜式設(shè)備中,更大的功率意味著電池體積更大、價(jià)格更高,或者電池壽命縮短。此外,更大的功率意味著更先進(jìn)和更昂貴的包裝來散熱。這三個(gè)因素在產(chǎn)品定價(jià)、利潤率和市場成功的可能性方面也會(huì)產(chǎn)生連鎖反應(yīng)。
對功耗的擔(dān)憂遠(yuǎn)遠(yuǎn)超出了至少部分時(shí)間使用電池的便攜式設(shè)備。壁掛式設(shè)備在包裝、電源和配電系統(tǒng)方面也會(huì)產(chǎn)生額外的成本。這些相同的問題一直延伸到服務(wù)器領(lǐng)域,包括機(jī)架或計(jì)算服務(wù)器、海量數(shù)據(jù)存儲(chǔ)陣列和網(wǎng)絡(luò)交換機(jī)。服務(wù)器領(lǐng)域的運(yùn)營成本是巨大的;研究表明,在每臺(tái)服務(wù)器的生命周期中,功耗超過了硬件本身的價(jià)格。服務(wù)器場可能位于水電站大壩或大型太陽能電池陣列附近,以滿足它們的高需求。一些地方還必須符合“綠色法律”,以規(guī)范服務(wù)器的功率消耗。
在高端,過度的功率消耗可能需要液體冷卻系統(tǒng),這會(huì)增加巨大的基礎(chǔ)設(shè)施和相關(guān)成本。基于所有這些原因,降低平均功耗是幾乎所有半導(dǎo)體項(xiàng)目的目標(biāo),而不管終端市場如何。在考慮峰值功率時(shí),降低功率可能是一個(gè)關(guān)鍵需求,而不僅僅是一個(gè)目標(biāo)。有些芯片被設(shè)計(jì)成只允許某些部分同時(shí)運(yùn)行。在這種情況下,打開所有功能可能需要比設(shè)備所能處理的更多的電流消耗,從而導(dǎo)致熱擊穿和永久性損壞。
Challenges of power analysis
功率分析的挑戰(zhàn)
考慮到限制功耗的所有動(dòng)機(jī),該行業(yè)已經(jīng)開發(fā)出各種各樣的低功耗設(shè)計(jì)技術(shù)。這些范圍從布局級電路調(diào)整到系統(tǒng)級、應(yīng)用程序感知、基于軟件的電源管理。無論使用何種技術(shù),在設(shè)計(jì)和驗(yàn)證正在開發(fā)的芯片時(shí),通過估計(jì)平均功耗和峰值功耗來準(zhǔn)確評估它們的影響是非常有價(jià)值的。在制造之后才發(fā)現(xiàn)平均功率對于一個(gè)可行的產(chǎn)品來說太高了,或者峰值功率消耗破壞了芯片,這是不可接受的。需要有效的硅前功率分析,最好在項(xiàng)目的多個(gè)階段進(jìn)行。
電子設(shè)計(jì)自動(dòng)化行業(yè)傳統(tǒng)的功率分析方法依賴于仿真。芯片的功能驗(yàn)證需要開發(fā)一個(gè)測試臺(tái),然后編寫或生成一套測試,檢查芯片設(shè)計(jì)的每個(gè)功能或特征。模擬整個(gè)測試套件,或者只模擬一個(gè)具有代表性的部分,并將結(jié)果輸入傳統(tǒng)的power signoff工具是一件相對簡單的事情。由于大多數(shù)功耗只發(fā)生在電路切換狀態(tài)時(shí),模擬器可以向電源簽核工具提供切換活動(dòng)文件。當(dāng)結(jié)合目標(biāo)技術(shù)庫中的功率特性時(shí),該工具可以為平均功耗和峰值功耗提供相當(dāng)準(zhǔn)確的估計(jì)。
然而,這種準(zhǔn)確性完全與在模擬中運(yùn)行的測試有關(guān)。在實(shí)踐中,任何驗(yàn)證測試套件都不能代表生產(chǎn)軟件運(yùn)行時(shí)的芯片操作。為功能驗(yàn)證而設(shè)計(jì)的測試,其目的在于只刺激目標(biāo)特性所需的設(shè)計(jì)區(qū)域。受約束的隨機(jī)測試臺(tái)可以生成更多的并行活動(dòng),但仍然不太可能模擬真實(shí)世界的使用情況。真正精確的功率分析只能通過使用來自實(shí)際軟件工作負(fù)載的切換活動(dòng)來執(zhí)行,包括在操作系統(tǒng)(OS)上運(yùn)行的用戶應(yīng)用程序。
啟動(dòng)操作系統(tǒng)、啟動(dòng)系統(tǒng)服務(wù)和運(yùn)行應(yīng)用程序通常需要數(shù)十億個(gè)時(shí)鐘周期。這在模擬中運(yùn)行是完全不現(xiàn)實(shí)的。相比之下,模擬器通常運(yùn)行數(shù)十億個(gè)周期,從操作系統(tǒng)引導(dǎo)到多個(gè)用戶應(yīng)用程序并行運(yùn)行。仿真練習(xí)了執(zhí)行高精度功率分析所需的實(shí)際軟件工作負(fù)載。挑戰(zhàn)在于,power簽核工具被設(shè)計(jì)成可以處理數(shù)千個(gè)周期,而不是數(shù)百萬個(gè),當(dāng)然也不是數(shù)十億個(gè)。需要一種新的方法來識(shí)別仿真運(yùn)行中的幾個(gè)高活動(dòng)區(qū)域,并將重點(diǎn)放在僅使用這些窗口進(jìn)行功率分析(圖1)。
Figure 1. Power analysis using power windows
Moving to software-driven power analysis
轉(zhuǎn)向軟件驅(qū)動(dòng)的功率分析
圖1所示流程的第一個(gè)要求是仿真器生成一個(gè)概要文件,顯示設(shè)計(jì)的哪些部分在一段時(shí)間內(nèi)處于活動(dòng)狀態(tài)。此活動(dòng)配置文件可以在波形查看器或其他硬件調(diào)試工具中查看為圖形。由于電源簽準(zhǔn)不能在數(shù)十億個(gè)周期上執(zhí)行,下一步是用戶利用活動(dòng)配置文件來確定一個(gè)或多個(gè)電源關(guān)鍵型窗口,在此期間活動(dòng)最高,功耗也可能最高。如果這些窗口中的每一個(gè)都在數(shù)百萬個(gè)周期內(nèi),則可用于下一階段的功率分析。作為基準(zhǔn),模擬器應(yīng)該能夠在三個(gè)小時(shí)內(nèi)生成十億個(gè)軟件工作負(fù)載周期的活動(dòng)概要文件。
默認(rèn)情況下,模擬器不生成活動(dòng)概要文件;需要一個(gè)新的功率分析器工具來創(chuàng)建加權(quán)活動(dòng)模型,并將其與設(shè)計(jì)一起加載到模擬器中。將多線程功耗分析引擎添加到仿真運(yùn)行中,可以生成配置文件,使用戶能夠在執(zhí)行數(shù)十億個(gè)周期、復(fù)雜的軟件工作負(fù)載時(shí)系統(tǒng)地分析其設(shè)計(jì)的功耗使用情況。一旦寄存器傳輸級(RTL)設(shè)計(jì)就緒,用戶就可以運(yùn)行這個(gè)功率分析步驟。由于實(shí)現(xiàn)流程中每個(gè)階段的功率估計(jì)變得更加精確,因此用戶可以對合成后的門級(GL)網(wǎng)絡(luò)列表運(yùn)行相同的分析(請參見圖2)。由于總功耗是目標(biāo)指標(biāo),因此應(yīng)盡可能使用完整的芯片級RTL或netlist。
Figure 2. Selection of power critical windows
該過程的下一步是在模擬器中重放(重新運(yùn)行)每個(gè)功率關(guān)鍵型窗口,以生成關(guān)于功耗和切換活動(dòng)的更詳細(xì)的信息。由于這可能是大量的數(shù)據(jù),因此運(yùn)行整個(gè)數(shù)十億周期的工作負(fù)載是不切實(shí)際的。模擬器必須支持“保存”和“恢復(fù)”,以便標(biāo)識(shí)為電源關(guān)鍵型窗口的工作負(fù)載的每一部分都可以自己快速輕松地重放。對于重播,模擬可以從最接近窗口的保存/還原點(diǎn)開始。模擬器還必須能夠在測試運(yùn)行期間記錄刺激,這樣回放就可以確定地發(fā)生。這些要求同樣適用于仿真中的有效調(diào)試以及實(shí)際功率分析。
功率臨界窗口回放的結(jié)果被輸入到功率分析器中,這將產(chǎn)生兩個(gè)結(jié)果。第一個(gè)是交換活動(dòng)交換格式(SAIF)文件,它記錄了設(shè)計(jì)中每個(gè)信號的交換活動(dòng)。作為一個(gè)基準(zhǔn),這個(gè)流應(yīng)該能夠在兩個(gè)小時(shí)內(nèi)從1TB的仿真數(shù)據(jù)生成一個(gè)1億個(gè)周期的SAIF文件。給定模擬器的適當(dāng)輸出,此文件可以100%準(zhǔn)確。因此,它提供了對設(shè)計(jì)活動(dòng)的深入洞察,并使更準(zhǔn)確的功耗估計(jì)成為可能。由功率分析器生成的SAIF文件被輸入power signoff工具(參見圖3),它計(jì)算窗口期間的平均功耗。這對于試圖了解最終芯片的功率要求的用戶非常有用。
Figure 3. Estimation of average power
功率分析器還為整個(gè)功率臨界窗口生成一個(gè)周期的功耗值。用戶可以在調(diào)試工具中查看此信息,并使用它來選擇一個(gè)或多個(gè)需要高精度功率估計(jì)的電源簽出窗口(請參見圖4)。除了完整的SAIF文件外,功率分析儀還可以訪問目標(biāo)芯片技術(shù)的詳細(xì)庫,包括電源特性。因此,與最終芯片相比,此階段的功率分析通常準(zhǔn)確率為95%。用戶可以將power signoff窗口提供給power signoff工具,以進(jìn)一步完善power分析。power signoff工具可以計(jì)算窗口的峰值功率,允許用戶確保功耗保持在芯片的物理限制范圍內(nèi)。如果需要IR-drop分析,可以選擇一個(gè)或多個(gè)事件窗口在適當(dāng)?shù)墓ぞ咧羞\(yùn)行。
Figure 4.Selection of power signoff windows
由于設(shè)計(jì)流程中的后續(xù)改進(jìn)能夠?qū)崿F(xiàn)更精確的功率分析,用戶可能希望在RTL、合成后網(wǎng)絡(luò)列表和放置和路由的網(wǎng)絡(luò)列表上運(yùn)行功率分析器和電源簽出工具。用戶可能還想分析一個(gè)包含工程變更單(ECO)的網(wǎng)絡(luò)列表,以確保功耗不會(huì)受到實(shí)質(zhì)性影響。用戶應(yīng)該能夠使用后端工具功能為快速分析創(chuàng)建一個(gè)零延遲波形,或者為更精確的后端分析創(chuàng)建更精確的延遲注釋波形(參見圖5)。
Figure 5. Power analysis calculations for multiple delay models from a single emulation run
Real-world results
實(shí)際結(jié)果
Synopsys提供了一個(gè)軟件驅(qū)動(dòng)的功率分析流程,滿足了前面討論的所有需求(參見圖6)。它可以使用真實(shí)的軟件工作負(fù)載而不是合成測試,從而大大降低了丟失關(guān)鍵電源問題的風(fēng)險(xiǎn)。它為數(shù)百萬個(gè)周期的窗口提供精確的平均功率和循環(huán)功率結(jié)果,比基于模擬的方法快1000倍。下表顯示了實(shí)際客戶設(shè)計(jì)的示例:
在分析不同門級實(shí)現(xiàn)的功率時(shí),流通過重用仿真結(jié)果來支持仿真效率。功率分析流程集成了熟悉的調(diào)試技術(shù),使用戶能夠高效、準(zhǔn)確地查明和修復(fù)與電源相關(guān)的問題。
Figure 6. Synopsys software-driven power analysis flow
Summary
摘要
功耗現(xiàn)在是許多芯片和系統(tǒng)的開發(fā)人員所關(guān)心的主要問題,從便攜式、電池供電的設(shè)備到最大的計(jì)算服務(wù)器機(jī)架。即使在最早的產(chǎn)品規(guī)范中也出現(xiàn)了功率要求,在整個(gè)開發(fā)過程中都采用了低功耗設(shè)計(jì)技術(shù),并且在該過程的多個(gè)點(diǎn)都需要精確的功率估計(jì)。這些計(jì)算必須使用在仿真中運(yùn)行的實(shí)際軟件工作負(fù)載來預(yù)測平均功率和峰值功率。本文概述的軟件驅(qū)動(dòng)的功率分析流程使用了最先進(jìn)的技術(shù)和技術(shù),比傳統(tǒng)的基于仿真的方法更快、更精確。這個(gè)流的一個(gè)商業(yè)實(shí)現(xiàn)現(xiàn)在已經(jīng)可以使用了。
總結(jié)
- 上一篇: 用测试驱动开发状态机
- 下一篇: Usb-type-C端口实现的挑战与设计