soc/sw/NEW_TESTS_README.md
新增测试说明
概述
根据验证脚本分析,已添加以下缺失的测试用例:
新增的测试
1. C 语言测试
1.1 spi_test
- 路径:
soc_test_c/spi_test/spi_test.c - 说明: SPI0 (QSPI控制器0) 的基础测试
- 基地址: 0x20000000
- 功能: 测试 SPI 读写操作
- 验证脚本: 已在
soc_test.py中定义(已修复配置)
1.2 i2c1_read_test
- 路径:
soc_test_c/i2c1_read_test/i2c1_read_test.c - 说明: I2C1 控制器读测试
- 基地址: 0x20050000
- 功能: 测试 I2C1 读操作
- 验证脚本: 已添加到
soc_test.py
1.3 i2c1_write_test
- 路径:
soc_test_c/i2c1_write_test/i2c1_write_test.c - 说明: I2C1 控制器写测试
- 基地址: 0x20050000
- 功能: 测试 I2C1 写操作
- 验证脚本: 已添加到
soc_test.py
2. UVM 测试
2.1 i2c1_read_uvm_test
- 路径:
soc_test_uvm/i2c1_read_uvm_test/i2c1_read_uvm_test.sv - 说明: I2C1 控制器读测试(UVM 环境)
- 基地址: 0x20050000
- 功能: 使用 UVM 验证环境测试 I2C1 读操作
- 验证脚本: 已添加到
soc_test.py
2.2 i2c1_write_uvm_test
- 路径:
soc_test_uvm/i2c1_write_uvm_test/i2c1_write_uvm_test.sv - 说明: I2C1 控制器写测试(UVM 环境)
- 基地址: 0x20050000
- 功能: 使用 UVM 验证环境测试 I2C1 写操作
- 验证脚本: 已添加到
soc_test.py
验证脚本更新
修改内容
- 修复
spi_test配置 - 原配置:
uvm_en=''且使用+UVM_TESTNAME=1111(配置不一致) -
新配置:
uvm_en='0'且移除 UVM_TESTNAME(改为标准 C 测试) -
添加 I2C1 测试
- 添加
i2c1_read_test(C 测试) - 添加
i2c1_write_test(C 测试) - 添加
i2c1_read_uvm_test(UVM 测试) -
添加
i2c1_write_uvm_test(UVM 测试) -
删除重复定义
- 删除了重复的
soc_dma_test定义(原第 120-127 行)
地址映射
| 外设 | 基地址 | 说明 |
|---|---|---|
| SPI0 | 0x20000000 | QSPI 控制器 0 |
| SPI1 | 0x20040000 | QSPI 控制器 1 |
| UART0 | 0x20010000 | UART 控制器 |
| I2C0 | 0x20030000 | I2C 控制器 0 |
| I2C1 | 0x20050000 | I2C 控制器 1 |
测试覆盖度更新
更新前
- C 测试: 15/16 (93.75%)
- UVM 测试: 13/13 (100%)
- 总体: 28/29 (96.55%)
更新后
- C 测试: 18/18 (100%) ✅
- UVM 测试: 15/15 (100%) ✅
- 总体: 33/33 (100%) ✅
新增测试统计
- C 测试: +3 个(spi_test, i2c1_read_test, i2c1_write_test)
- UVM 测试: +2 个(i2c1_read_uvm_test, i2c1_write_uvm_test)
- 总计: +5 个测试用例
运行测试
运行单个测试
cd /root/project/yueanic_code_lj_debug/SOC3.0/soc/sim
source env.csh
yrun -testfile soc_test -testname spi_test
yrun -testfile soc_test -testname i2c1_read_test
yrun -testfile soc_test -testname i2c1_write_test
运行 UVM 测试
yrun -testfile soc_test -testname i2c1_read_uvm_test
yrun -testfile soc_test -testname i2c1_write_uvm_test
运行所有测试
yrun -testfile soc_test -testlist all_test
注意事项
- I2C1 基地址: 确认 I2C1 的基地址为 0x20050000(根据 APB 地址映射)
- Makefile: 新测试目录已包含必要的 Makefile 和链接脚本
- 依赖文件: 所有测试都依赖
common/common.c中的辅助函数
验证状态
- ✅ 所有测试文件已创建
- ✅ 验证脚本已更新
- ✅ 重复定义已删除
- ✅ 配置问题已修复
测试覆盖度已达到 100%(从验证脚本角度)。