Verdi 波形實用性:以更快的執行時間和更少的記憶體完成更多工作

海浪滔滔,大海裡蘊藏著無法計量的水。這就像是各種驗證程序產生的龐大波形檔案。要分析這麼大量的資料令人望而生畏。然而,就像新型波浪渦輪機可以利用海浪的力量一樣,Synopsys Verdi utilities 可以處理波形檔案以進行強大的分析。此外,新一代的 Verdi 波形工具可提供更高的效能和生產力。

想要從波形檔案中生成報告嗎?需要從模擬或仿真大型設計生成的波形檔案中提取有用的數據嗎?新一代 Verdi 波形工具,簡稱為「WaveUtils」,提供各種功能來協助處理。WaveUtils 可以處理儲存在通用訊號波形 FSDB 檔案中的訊號波形結果,並提供給 Verdi 偵錯(debug)使用者。Verdi WaveUtils 提供以下功能:

  • Extract – 提取訊號
  • Report – 報告訊號和事件
  • 2vcd – 將 FSDB 檔案轉換為 VCD 檔案

由於晶片複雜性增加,針對每一代新設計的偵錯都需要更多的時間。Verdi 偵錯平台以加速用戶發現功能錯誤或「bug」的能力而聞名。在尋找錯誤的過程中,您可能需要波形的特定資訊或分析。例如,您可能想要一份特定訊號及其值變化的報告。WaveUtils 簡便地提供多種方法來批量分析和操作 FSDB 檔案。然後,報告功能可以產生一個文字檔案,包含來自FSDB 檔案中的特定訊號列表,並列出用戶指定時間軸的每個關鍵點相應的訊號值變化。

Verdi WaveUtils 也可以依需求讀取 FSDB 資料庫檔案,使用節省時間的多執行緒處理來寫入訊號值,並處理大型設計。為了進一步改善執行時間,WaveUtils 也使用多元處理來提取訊號。因此可縮短整體執行時間,並減少記憶體的使用。

提取功能 (Extract)

「提取」功能可用在從 FSDB 資料庫中提取選定的範圍,並將結果寫入新的 FSDB 資料庫。測試結果顯示,相較於早期版本,加速執行時間最高可達 15 倍。

案例 1

  • FSDB 大小 7.5G
  • Gate-level部分訊號/時間提取

案例 2

  • FSDB 大小 6.1G
  • RTL
  • 完整訊號/時間提取

案例 3

  • FSDB 大小 1.6G
  • 僅Hierarchy
  • 部分訊號/時間提取
  • 48 個訊號列表字串

報告功能 (Report)

「報告」功能可用於將選定的訊號值輸出到報告中。測試結果顯示,改善幅度可超過 700 倍。

案例 1

  • FSDB 大小 7.5G
  • 所有訊號:51M
  • 部分訊號/時間提取

案例 2

  • FSDB 大小 1.6G
  • 所有訊號:516M
  • 完整訊號/時間提取

2vcd 功能

「2vcd」功能可用於將 FSDB 檔案轉換為 VCD 格式。測試結果顯示,改善幅度高達 3 倍。

案例 1

  • 827MB FSDB
  • Gate-level
  • 根據時間範圍轉換為 VCD,結果 VCD 為 40G

案例 2

  • 371MB FSDB
  • 從案例 1 提取
  • 指定時間範圍
  • 轉換為不包含時間範圍的 VCD,結果 VCD 為 40G

結論

如您所見,使用 Verdi WaveUtils 可以顯著提高執行速度。試試看,快速了解 FSDB 波形。迎接模擬和仿真資料的浪潮吧!