UPF基本語法及其在 native low power verification中的典型流程
摘要:本文首先簡要介紹 UPF(Unified Power Format),然后解釋其在 native low power verification(原生低功耗驗證)中的典型流程。最后,我將使用50個具體例子來完整展示 UPF 的關鍵語法。這些例子基于 IEEE 1801 標準(UPF 3.0 或更早版本),涵蓋了 UPF 的核心命令、選項和使用場景。每個例子包括 UPF 代碼片段、簡要解釋,以及在低功耗設計中的應用點。
請注意:UPF 是一種用于描述芯片低功耗意圖的格式,常用于 RTL(Register-Transfer Level)設計驗證中。我會盡量覆蓋 UPF 的主要語法元素,包括電源域創建、供電網絡、隔離、保持、水平轉換、電源狀態表(PST)等。如果您需要更多細節或特定工具(如 Synopsys VCS 或 Cadence Xcelium)的集成,請進一步說明。
一、UPF 簡介
UPF(Unified Power Format)是 IEEE 標準,用于在芯片設計中指定低功耗結構,如電源域(Power Domain)、供電網絡(Supply Net)、隔離單元(Isolation Cells)、保持寄存器(Retention Registers)和水平轉換器(Level Shifters)。它允許設計師描述電源管理策略,并在驗證階段檢查功耗相關問題,如電源切換、數據丟失或電壓不匹配。
二、Native Low Power Verification 中的流程
Native low power verification 指的是在模擬器(如 VCS、Questa 或 Xcelium)中直接使用 UPF 文件進行低功耗驗證,而不依賴于額外的電源感知工具或后端合成。這是一種“原生”流程,強調在 RTL 級別驗證電源意圖的正確性。典型流程如下(以 VCS 為例,其他工具類似):
-
設計準備:
- 編寫 RTL 代碼(Verilog/VHDL/SystemVerilog)。
- 創建 UPF 文件(.upf),描述電源域、供電網絡、隔離/保持/水平轉換策略,以及電源狀態表(PST)。
-
UPF 加載和編譯:
- 在模擬器中加載 UPF:例如,使用命令如
vcs -upf my_design.upf -f filelist.f
來編譯設計。 - UPF 被解析為電源意圖模型,模擬器會插入虛擬的電源控制邏輯(如電源開關、隔離信號)。
- 在模擬器中加載 UPF:例如,使用命令如
-
模擬設置:
- 定義測試bench,包括電源控制序列(e.g., 通過 UVM 測試序列驅動電源切換)。
- 配置模擬器選項:如啟用低功耗檢查(
-lowpower
或類似標志),并指定 UPF 版本(e.g., UPF 2.1 或 3.0)。
-
運行模擬和驗證:
- 執行模擬:模擬器會根據 UPF 模擬電源域的開關、電壓變化,并檢查違規(如未隔離的信號穿越電源域、數據丟失)。
- 使用波形查看器(e.g., Verdi)檢查電源狀態、供電網絡電壓、隔離啟用等。
- 運行檢查:模擬器內置 checker 會報告問題,如電源域泄漏、保持失敗或水平轉換錯誤。
-
調試和迭代:
- 分析日志/報告:檢查 UPF 命令的執行結果(e.g., 電源狀態轉換是否符合 PST)。
- 如果發現問題,修改 UPF 或 RTL,并重新運行。
- 覆蓋率收集:驗證電源狀態覆蓋率(e.g., 所有 PST 狀態是否被觸發)。
-
優勢與注意事項:
- 優勢:快速迭代,早發現低功耗 bug;無需門級網表。
- 注意:模擬性能可能受影響(由于虛擬電源建模);確保 UPF 與 RTL 一致性。
此流程確保低功耗設計在早期驗證階段就符合意圖,減少后期物理實現中的問題。
三、UPF 關鍵語法的50個例子
以下是50個 UPF 語法例子,按類別組織(電源域、供電網絡、PST、隔離、保持、水平轉換等)。每個例子包括:
- UPF 代碼片段:完整的、可復制的語法。
- 解釋:命令的作用和關鍵選項。
- 在 native low power verification 中的應用:如何在上述流程中使用。
&nb