> 技术文档 > [NLP]如何在 Synopsys VCS 仿真脚本中处理多个 UPF 文件的加载

[NLP]如何在 Synopsys VCS 仿真脚本中处理多个 UPF 文件的加载


如何在 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 ,按顺序加载。
    • 通过主 UPF 文件加载子文件:在主 UPF 文件中使用 load_upf 命令加载其他 UPF 文件。这允许分层组织(e.g., 主文件加载模块特定的 UPF)。
    • 文件列表(.f 文件)