第三章LPV 低功耗验证

概述

低功耗验证App 验证 UPF(Unified Power Format)或 CPF(Common Power Format)描述的电源管理行为是否正确实现。

LPV Use Models

LPV 工作流程

  1. 加载 RTL 设计和 UPF/CPF 文件
  2. 构建 Power Model
  3. 运行结构检查
  4. 运行电源复位检查
  5. 验证电源属性

加载 Power File

# 加载 UPF 文件
load_upf -file design.upf

# 或加载 CPF 文件
load_cpf -file design.cpf

构建 Power Model

LPV App 自动从 UPF/CPF 构建设计的电源模型,包括:

自动结构检查(Structural Checks)

自动验证以下结构要求:

# 运行结构检查
check_lpv -structural

电源复位检查(Power Reset Checks)

# 验证电源域关断/上电复位行为
check_lpv -power_reset

Power Properties Verification

自动生成和验证电源相关的断言:

# 验证电源属性
check_lpv -properties

Auto-Assertions / Auto-Covers

LPV 自动生成断言和覆盖点:

# 证明自动生成的断言
prove -all

LPV 低功耗验证界面

低功耗验证方法论

为什么低功耗需要形式验证

低功耗设计使用 UPF(Unified Power Format)描述电源意图:哪些域可以关断、隔离单元的位置、保持寄存器的策略。UPF 相关 bug 包括:

这些 bug 在仿真中很难触发(需要精确的电源状态转换序列),但形式验证可以穷举所有电源状态转换来检查。

结构检查 vs 功能检查

类型检查内容特点
结构检查隔离单元是否存在、连接是否正确、电源开关是否正确连接静态分析,不需要证明引擎,快速
功能检查隔离时序是否正确(关断前已隔离、打开前保持隔离)、保持寄存器 save/restore 行为需要形式引擎证明,发现动态行为 bug

常见错误模式

来源文档

  • jaspergold_lpv_userguide.pdf
  • example_jaspergold_apps/LPV/