通過省去基于文件的流程,新工具可提供完整的 RTL 功率探測和精確的門級功率分析流程。 在最近發布的一篇文章中,筆者強調了當前動態功耗估算方法的內在局限性。簡單來說,當前的方法是一個基于文件的流程,其中包括兩個步驟。第一步,軟件模擬器或硬件仿真器會在一個交換格式 (SAIF) 文件中跟蹤并累積整個運行過程中的翻轉活動,或在快速信號數據庫 (FSDB) 文件中按周期記錄每個信號的翻轉活動。第二步,使用一個饋入 SAIF 文件的功率估算工具計算整個電路的平均功耗,或使用 FSDB 文件計算設計時間和空間內的峰值功率(見圖 1)。 圖 1. 傳統的功率分析根植于基于文件的兩步法。 當被測設計 (DUT) 相對較小(約數百萬門或更少),且分析周期較短(不超過百萬個時鐘周期),這些方法可能行得通。上述時間窗口常見于自適應性功能驗證環境。 然而,如今的大型 SoC 設計具有數千萬或數億個門來執行嵌入式軟件(比如,啟動一個操作系統或運行需要數十億個周期的應用程序),若使用傳統方法就會面臨以下三大難題: 1. SAIF 文件將變得太過龐大而無法管理,FSDB 文件則更是如此。 2. 文件生成過程慢如蝸牛,短則數小時,長則超過 1 天。 文件加載到功率估算工具的速度也相當緩慢,少則幾天,多則超過 1 周。 這一切似乎注定了無法成功。 這一狀況隨著 Mentor Graphics 在 2015 年 5 月 27 日發布 Veloce 功耗應用程序而發生了改變,這款軟件包帶有 Veloce 活動圖和 Dynamic Read Waveform 應用程序編程接口 (API),接口位于 Veloce OS3 頂部(見圖 2)。 圖 2. 操作系統可保護任何應用程序不受下層硬件仿真器的干擾。 Veloce 功耗應用程序解決了影響傳統(且有爭議)的功耗評估算法速度的一些核心問題。它通過將 Veloce 硬件仿真器緊密集成到功率分析工具中而省去了基于文件的兩步流程。 設計團隊無需再處理巨大的文件。這意味著,再也沒有空間浪費,文件創建和文件加載也將節省大量時間。新方法能夠快速、簡潔、高效且全面地估算現代 SoC 設計的功耗。 Veloce 活動圖 Veloce 活動圖在一個簡單的圖表中映射出了全局設計切換活動隨時間的動態變化,例如,在啟動 OS 和/或運行動態應用程序時(見圖 3)。 圖 3. Veloce 活動圖在長時運行中識別焦點區域。 活動圖可識別高頻切換活動的時間幀,高頻切換活動可能給設計團隊帶來功耗問題。盡管此圖表并不獨特,但其生成所需的時間要比基于文件的功耗圖表快一個數量級。作為一個數據點,對于一個 1 億門設計、7500 萬設計時鐘周期的活動圖,Veloce 需花費 15 分鐘來生成。相比之下,功率分析工具則需要花費超過 1 周的時間來生成類似信息。況且,它們可能還無法處理如此巨量的數據。 隨之而來的問題則是:這些峰值出現于 DUT 中的“何處”以及是由“什么”引起的?這可通過 Dynamic Read Waveform API 來回答。 Dynamic Read Waveform API 流程 一旦高頻切換活動的時間幀在設計的頂層被識別,設計團隊就能放大這些時間幀。用戶能夠深入到設計的層次結構和嵌入式軟件中,從而找到產生此類高頻切換活動的根源。為此,用戶可以使用 Dynamic Read Waveform API。 Dynamic Read Waveform API 可通過將硬件仿真器中的切換數據實時傳送入功率分析工具中,從而取代繁瑣的 SAIF/FSDB 文件生成過程。從硬件仿真 SoC,到輸入切換數據,再到使用功率分析工具讀取切換數據,以及生成對應的功率值,所有操作都是同時運行的。其實際效果是整體性能的飛躍,而這正是啟動操作系統和運行真正的應用程序所需要的(見圖 4)。 圖 4. Veloce 電源應用程序可加快 Veloce 功耗分析速度,讓設計團隊在執行生成、分析和估算時一步到位。 作為附加好處,與基于 SAIF 的普通流程相比,Dynamic Read Waveform API 的精度更高,因此可對各內存和 IP 塊進行精確的功耗估算。 最關鍵的一點在于,Dynamic Read Waveform API 支持通過基于軟件的測試在系統級進行功耗分析與功耗探測,如果采用基于文件的流程,這幾乎是不可能的。 結論 Veloce 功耗應用程序推動了功率估算方法的轉變。Dynamic Read Waveform API 與功率分析工具的獨特整合,省去了基于文件的流程,可提供完整的 RTL 功耗分析和精確的門級功率分析流程。 這意味著,設計和驗證團隊能夠在設計周期內及早開始 RTL 功率分析。與以往相比,他們可以更早地執行功率權衡和架構調整。此外,在 RTL 合成為門級表示后,他們可以繼續使用之前的流程。在門級,他們可以獲得更為準確的功耗測量結果,并在流片前執行其他微調。此外,他們也可以通過使用該工具完成目標應用環境的功耗分析流程 作者 Lauro Rizzatti,驗證顧問 |