目录

Cache 验证项目

本项目基于 Python + Verilog,针对 Cache.v RTL 模块完成功能验证与测试,采用 Toffee 测试框架,通过 pytest 驱动仿真验证。

目录结构

.
├── LICENSE                         # Apache 2.0 开源协议
├── README.md                       # 项目说明
├── .gitignore                      # Git 忽略规则
├── docs/                           # 项目文档
│   ├── guide/                      # 设计规范与指导文档
│   ├── reports/                    # 验证报告与总结
│   └── ai_fixes.md                 # 人工修改记录(AI 辅助痕迹说明)
├── scripts/                        # 辅助脚本
│   ├── run_verification.sh         # 一键运行所有测试
│   ├── check_env.sh                # 环境检查
│   └── record_fix.sh               # 记录修复过程
├── src/                            # 核心源码
│   ├── rtl/                        # RTL 硬件代码
│   │   └── Cache.v
│   └── main/                       # 主代码
│       ├── python/                 # Python 驱动与核心逻辑
│       │   ├── Cache_api.py
│       │   ├── Cache_function_coverage_def.py
│       │   └── generate_contribution_report.py
│       └── resources/              # 配置文件
│           ├── config.yaml
│           └── genspec.yaml
└── tests/                          # 测试用例
    ├── test_Cache_api.py
    ├── test_Cache_basic.py
    ├── test_Cache_env_fixture.py
    ├── test_Cache_mmio.py
    └── test_Cache_random.py

环境依赖

  • Python 3.8+(推荐 3.10)
  • Toffee 测试框架
  • pytest
  • iverilog / Verilator(用于 RTL 仿真)

安装依赖(示例):

pip install toffee toffee-test pytest

快速启动

1. 环境检查

./scripts/check_env.sh

2. 运行全部测试

./scripts/run_verification.sh

或直接使用 pytest:

pytest tests/

3. 查看测试报告

测试输出及覆盖率报告默认生成在 docs/reports/ 目录下。

验证覆盖重点

  • 基础功能:读写命中/缺失(test_Cache_basic.py
  • MMIO 寄存器:配置与状态读取(test_Cache_mmio.py
  • 随机激励:边界与随机组合(test_Cache_random.py
  • API 接口:驱动封装正确性(test_Cache_api.py
  • 环境固件:仿真环境初始化与复位(test_Cache_env_fixture.py

人工参与声明

本项目在 AI 辅助生成初版框架的基础上,核心逻辑与关键测试场景均由人工深度设计并反复修正
主要人工介入点包括(详细记录见 docs/ai_fixes.md):

  • 重构 Cache_api.py 中的驱动封装,修正仿真时序错误;
  • 补充边界条件测试(地址越界、未对齐访问);
  • 优化覆盖率模型,增加关键功能点(FG-CORNER 等);
  • 修复 AI 生成代码中的多处空指针与资源泄漏隐患。

许可证

本项目采用 Apache 2.0 开源协议,详见根目录下的 LICENSE 文件。

关于

Cache_Verif

170.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号