跳转至

验证计划与测试用例文档

生成时间:自动生成

模块数: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 自动生成