第四章BPS 行为属性综合

概述

行为属性综合App 从仿真波形(SHM/FSDB 或 VCD)自动学习设计行为,生成候选属性(property candidate),帮助用户快速发现设计中隐含的不变量和协议规则。

Exploring the Console

BPS Console 提供 POI(Point of Interest)浏览器和属性候选面板。

指定环境

# 启动 BPS App
# jg -bps script.tcl

# 分析设计
analyze -verilog rtl/*.v
elaborate -top top

# 自动时钟检测
# BPS 自动检测时钟和复位,也可手动指定
clock clk
reset ~rstN

# 指定波形复位(用于波形分析)
wave_reset ~rstN

# 保存/恢复工作
save_session bps_session
restore_session bps_session

行为属性综合流程

  1. 加载波形:导入仿真波形文件
  2. POI Browser:选择感兴趣的信号/模块作为 POI
  3. 扫描波形:BPS 分析波形中的模式
  4. Property Candidates:生成候选属性列表
  5. 审查和选择:用户筛选有意义的属性
  6. 形式证明:用 JasperGold 证明选中的属性是否在所有情况下成立
BPS App POI Browser 和 Property Candidates 界面
BPS App POI Browser 和 Property Candidates 界面

配置扫描

# 配置扫描设置
set_bps_scan_config -depth 5
set_bps_scan_config -poi_scope u_dut.control

# 扫描文件
scan_waveform -file waveform.shm

生成配置文件

# 生成 DDK 文件(Design Knowledge)
generate_bps_config -output ddk.cfg

# 从 PLI 配置生成 DDK
generate_bps_config -pli_config pli.cfg

附录

BPS 行为属性综合界面

BPS 使用方法论

BPS 适合什么场景

属性分类与处理

分类含义处理
certified在所有扫描的波形中一致成立可以作为断言使用,建议再用 FPV 深度证明
unclassified只在部分波形中出现,未确认用 FPV 证明或添加更多波形扫描
coverage_hole应该出现但波形中未出现的行为补充仿真激励覆盖这些场景
关键认知:BPS 综合出的属性是"从波形中观察到的模式",不是"设计规格要求的行为"。它帮你发现设计行为,但你需要 review 这些行为是否符合设计意图——bug 也会被 BPS 当作"行为模式"学习到。

来源文档

  • BPS_user_guide.pdf
  • example_jaspergold_apps/BPS/