📚 功能覆盖率 · 30章
🎯 收集·分析·策略
1
功能覆盖率基础
什么是功能覆盖率?为什么需要?与代码覆盖率的区别
2
SystemVerilog中的covergroup
covergroup定义、实例化、与class的关系
3
coverpoint与bin
coverpoint定义、自动bin、手动bin、命名规则
4
bin的高级用法
ignore_bins, illegal_bins, wildcard, cross bins
5
cross coverage
cross定义、自动/手动交叉bin、排除非法交叉
6
transition coverage
状态跳转覆盖率、transition bin、连续跳转
7
条件覆盖率
iff条件、coverpoint条件表达式、covergroup条件
8
覆盖率选项
weight, goal, auto_bin_max, per_instance, name
9
覆盖率的收集与采样
sample()方法、事件触发、clocking block触发
10
覆盖率的查询与报告
get_coverage(), get_inst_coverage(), 查询方法
11
UVM中的覆盖率集成
UVM中使用covergroup, monitor中收集覆盖率
12
覆盖率驱动的验证
覆盖率驱动流程、覆盖率闭环、收敛
13
功能覆盖率的规划
覆盖率计划、模型设计、优先级划分
14
覆盖率的合并与比较
多仿真结果合并、覆盖率差异分析
15
覆盖率的回归管理
回归测试覆盖率、增量覆盖率、累积覆盖率
16
覆盖率与随机约束
随机约束与覆盖率关系,通过约束提高覆盖率
17
覆盖率与断言
断言与覆盖率结合,cover property使用
18
覆盖率的调试
覆盖率低原因分析,定位未覆盖代码路径
19
覆盖率的优化
减少冗余bin,提高采样效率,优化covergroup
20
覆盖率的自动化
脚本化收集,自动化覆盖率报告生成
21
覆盖率的可视化
EDA工具查看覆盖率,仪表盘,热图
22
覆盖率的度量标准
功能覆盖率、代码覆盖率、断言覆盖率综合度量
23
覆盖率的验收标准
覆盖率目标设定、签收标准、评审
24
覆盖率的常见陷阱
过度覆盖、覆盖不足、bin设计不合理、采样时机错误
25
实战案例1:AHB总线协议
AHB功能覆盖率模型设计
26
实战案例2:AXI总线协议
AXI功能覆盖率模型设计
27
实战案例3:UART协议
UART功能覆盖率模型设计
28
实战案例4:DDR控制器
DDR控制器功能覆盖率模型设计
29
实战案例5:CPU指令集
CPU指令集功能覆盖率模型设计
30
覆盖率的未来趋势
机器学习在覆盖率中的应用,AI验证,标准化