如何在 Synopsys VCS 仿真腳本中處理多個 UPF 文件的加載
摘要:我將詳細解釋在 Synopsys VCS(VCS)模擬腳本中如何處理多個 UPF 文件的加載,包括原理、命令選項、示例腳本以及注意事項。這基于 VCS 的 native low power verification 支持(IEEE 1801 UPF 標準)。如果您使用的是特定 VCS 版本(如 VCS 2023 或更早),請驗證兼容性;一般來說,以下方法適用于大多數版本。
一、VCS 中加載多個 UPF 文件的原理
- VCS 支持:VCS 允許在編譯階段加載多個 UPF 文件。這些文件可以描述不同的電源意圖層級(如一個 UPF 用于頂層域,另一個用于子模塊策略)。VCS 會按加載順序解析它們:
- 第一個 UPF 文件作為基礎。
- 后續 UPF 文件可以覆蓋或擴展前面的定義(例如,更新電源域或添加隔離策略)。
- 如果有沖突(e.g., 同名電源域的不同定義),VCS 會報告錯誤或警告,具體取決于
-upf_mode
設置(e.g., strict 或 lenient)。
- 加載方式:
- 直接使用多個
-upf
選項:在 vcs 命令行中重復使用-upf <file>
,按順序加載。 - 通過主 UPF 文件加載子文件:在主 UPF 文件中使用
load_upf <sub_upf_file>
命令加載其他 UPF 文件。這允許分層組織(e.g., 主文件加載模塊特定的 UPF)。 - 文件列表(.f 文件)
- 直接使用多個