验证计划与测试用例文档
生成时间:自动生成
模块数:5
1. 测试概述
1.1 测试目标
本验证计划旨在验证项目中 5 个模块的功能正确性, 确保其符合规格定义的所有要求。测试将覆盖所有功能点, 并达到 95% 以上的代码覆盖率和 100% 的功能覆盖率。
1.2 测试范围
包含的模块:
- ✅
axi_master - AXI4 Master Interface - Full-featured AXI4 master controller - ✅
axi_bus_if (接口) - AXI4 接口定义
已有的 Testbench:
- 📋
axi_master_tb - 测试 AXI4 Master 接口的突发传输和地址对齐功能 - 📋
test_class_module - Class 功能测试模块 - 📋
test_svdoc_features - SvDoc 功能测试模块
1.3 参考文档
| 文档 | 版本 | 日期 |
| SvDoc 模块文档 | 自动生成 | - |
| SV 源码 | - | - |
2. 验证策略
2.1 验证方法
| 方法 | 使用场景 | 比例 |
| 定向测试 | 基本功能、边界条件 | 40% |
| 约束随机 | 复杂场景、异常处理 | 40% |
| 断言验证 | 协议检查、时序验证 | 10% |
| 形式验证 | 关键路径、死锁检测 | 10% |
2.2 验证层次
graph TB
A[模块级验证] --> B[子系统验证]
B --> C[系统级验证]
C --> D[软硬件协同验证]
2.3 验证环境
2.3.1 环境架构
graph LR
subgraph Testbench
TB[Test Sequence]
ENV[Verification Environment]
DUT[Design Under Test]
end
TB --> ENV
ENV --> DUT
2.3.2 环境组件
| 组件 | 描述 | 状态 |
| 驱动器 (Driver) | 产生激励信号 | 📝 待开发 |
| 监视器 (Monitor) | 采集信号用于检查 | 📝 待开发 |
| 记分板 (Scoreboard) | 比对预期和实际结果 | 📝 待开发 |
| 覆盖率收集 (Coverage) | 收集覆盖率数据 | 📝 待开发 |
| 参考模型 (Reference Model) | 产生预期结果 | 📝 待开发 |
2.4 验证工具
| 工具 | 版本 | 用途 |
| VCS | 2023.03 | 仿真 |
| Verdi | 2023.03 | 调试 |
3. 模块验证计划
axi_bus_if
AXI4 接口定义
验证环境
| 组件 | 描述 | 状态 |
| 驱动器 (Driver) | 产生激励信号 | 📝 待开发 |
| 监视器 (Monitor) | 采集信号用于检查 | 📝 待开发 |
| 记分板 (Scoreboard) | 比对预期和实际结果 | 📝 待开发 |
| 覆盖率收集 (Coverage) | 收集覆盖率数据 | 📝 待开发 |
测试用例
| ID | 测试名称 | 描述 | 优先级 | 状态 |
| TC_001 | 复位测试 | 验证复位后所有输出为默认值,内部状态正确初始化 | 🔴 高 | 📝 待实现 |
| TC_002 | 基本功能测试 | 验证 axi_bus_if 的基本功能操作 | 🔴 高 | 📝 待实现 |
| TC_003 | 参数化配置测试 | 验证不同参数配置下的行为 | 🟡 中 | 📝 待实现 |
| TC_004 | 异常处理测试 | 验证异常输入和错误条件下的模块行为 | 🟢 低 | 📝 待实现 |
| TC_005 | 性能测试 | 验证模块的时序性能和吞吐量 | 🟢 低 | 📝 待实现 |
覆盖率目标
| 类型 | 目标 | 当前 |
| 代码覆盖率 | 95% | - |
| 功能覆盖率 | 100% | - |
| 分支覆盖率 | 90% | - |
| FSM 覆盖率 | 100% | - |
axi_master
AXI4 Master Interface - Full-featured AXI4 master controller
验证策略
- 验证方法: constrained_random
- 占比: 60%
- 验证环境: uvm
- 参考模型: golden_axi_model
验证环境
| 组件 | 描述 | 状态 |
| 驱动器 (Driver) | 产生激励信号 | 📝 待开发 |
| 监视器 (Monitor) | 采集信号用于检查 | 📝 待开发 |
| 记分板 (Scoreboard) | 比对预期和实际结果 | 📝 待开发 |
| 覆盖率收集 (Coverage) | 收集覆盖率数据 | 📝 待开发 |
测试用例
| ID | 测试名称 | 描述 | 优先级 | 状态 |
| TC_AXI_001 | 复位测试 | 验证复位后所有输出为默认值,状态机进入 IDLE | 🔴 高 | 📝 待实现 |
| TC_AXI_002 | 写突发传输测试 (INCR) | 验证 INCR 类型突发传输的正确性,地址对齐,last 信号正确 | 🔴 高 | 📝 待实现 |
| TC_AXI_003 | 读突发传输测试 (INCR) | 验证 INCR 类型读突发传输,RDATA 顺序正确,RLAST 正确 | 🔴 高 | 📝 待实现 |
| TC_AXI_004 | WRAP 突发边界回绕测试 | 验证 WRAP 类型突发传输的边界回绕行为 | 🟡 中 | 📝 待实现 |
| TC_AXI_005 | 参数化配置测试 | 验证不同 ADDR_WIDTH/DATA_WIDTH 配置下的行为 | 🟡 中 | 📝 待实现 |
| TC_AXI_006 | valid/ready 握手协议测试 | 验证 valid/ready 握手协议,无死锁 | 🟡 中 | 📝 待实现 |
| TC_AXI_007 | 异常处理测试 | 验证异常输入和错误条件下的模块行为 | 🟢 低 | 📝 待实现 |
功能覆盖率
| 覆盖组 | 覆盖点 | Bins |
| cg_burst_type | burst_type | incr = {BURST_INCR}, wrap = {BURST_WRAP}, fixed = {BURST_FIXED} |
| cg_burst_len | burst_len | short = {[1:4]}, mid = {[5:8]}, long = {[9:16]} |
| cg_addr_align | addr_aligned | aligned = {1}, unaligned = {0} |
覆盖率目标
| 类型 | 目标 | 当前 |
| 代码覆盖率 | 95% | - |
| 功能覆盖率 | 100% | - |
| 分支覆盖率 | 90% | - |
| FSM 覆盖率 | 100% | - |
SVA 断言
| ID | 名称 | 属性 | 描述 |
| ASSERT_001 | valid 保持规则 | @(posedge clk) valid && !ready |=> valid... | valid 信号在 ready 为低时必须保持 |
| ASSERT_002 | 握手完成规则 | @(posedge clk) valid && ready |-> ##1 !v... | valid && ready 后 valid 应撤销 |
4. 覆盖率目标
4.1 代码覆盖率
| 类型 | 目标 | 当前 | 状态 |
| 行覆盖率 (Line) | 95% | 0% | ⏳ 未开始 |
| 分支覆盖率 (Branch) | 90% | 0% | ⏳ 未开始 |
| 条件覆盖率 (Condition) | 85% | 0% | ⏳ 未开始 |
| FSM 覆盖率 (FSM) | 100% | 0% | ⏳ 未开始 |
| 断言覆盖率 (Assertion) | 100% | 0% | ⏳ 未开始 |
5. 进度计划
5.1 里程碑
gantt
title 验证进度计划
dateFormat YYYY-MM-DD
section 环境搭建
Testbench 框架 :2026-05-01, 5d
参考模型 :2026-05-03, 7d
覆盖率收集配置 :2026-05-05, 3d
section 测试开发
冒烟测试 :2026-05-08, 3d
功能测试 :2026-05-11, 10d
边界/异常测试 :2026-05-21, 5d
section 回归验证
全面回归 :2026-05-26, 5d
覆盖率收敛 :2026-05-31, 5d
6. 风险与问题
6.1 已识别风险
| 风险 ID | 风险描述 | 可能性 | 影响 | 缓解措施 | 状态 |
| RISK_001 | RTL 交付延迟 | 中 | 高 | 提前沟通,准备模拟模型 | 🟡 监控中 |
| RISK_002 | 验证环境复杂 | 高 | 中 | 模块化设计,分阶段开发 | 🟡 监控中 |
| RISK_003 | 覆盖率难收敛 | 中 | 中 | 早期介入,持续监控 | 🟢 已缓解 |
7. 交付物
| 交付物 | 描述 | 预计日期 | 状态 |
| 验证计划 | 本文档 | - | ✅ 完成 |
| Testbench | 验证环境代码 | - | 📝 进行中 |
| 测试用例 | 所有测试序列 | - | 📝 计划中 |
| 验证报告 | 最终验证总结 | - | 📝 计划中 |
| 覆盖率报告 | 覆盖率分析 | - | 📝 计划中 |
📄 验证计划由 SvDoc v0.5.0 自动生成