UnityChipForXiangShan/ut_frontend/ifu/f3predecoder/README.md

60 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# F3Predecoder 单元验证
## 测试目标
F3Predecoder的功能是从PreDecode中时序优化出来的。该模块接收16 x 4B的指令码输入负责判定该指令的CFI类型和是否为ret或call指令。
测试基本流程为:
TBD
## 测试环境 Env
本测试基于toffee封装测试环境。
其中对DUT的数据职责封装由bundle完成可参见当前目录下的bundle目录。
对DUT的行为抽象由本目录下的agent目录完成提供一个接口f3predecode该接口接受16 x 4B的指令码返回16条指令的CFI类型和是否为ret或call指令。
## 功能点和测试点
所有的测试点如下:
| 序号 | 名称 | 描述 |
|-----|--------|------------------------------------|
| 1\.1| 非CFI判定 | 对传入的非CFI指令包括RVC\.EBREAK应该判定为类型0 |
| 1\.2| BR判定 | 对传入的BR指令应该判定为类型1 |
| 1\.3| JAL判定 | 对传入的JAL指令应该判定为类型2 |
| 1\.4| JALR判定 | 对传入的JALR指令应该判定为类型3 |
## Env提供的验证接口(API)
为了让测试用例更通用具有继承性本Env提供的接口**对外屏蔽了电路引脚和时序,且接口保持稳定**
## 用例说明
TBD
## 检查列表
- [ ] 本文档符合指定[模板]()要求
- [ ] Env提供的API不包含任何DUT引脚和时序信息
- [ ] Env的API保持稳定共有[ X ]个)
- [ ] Env中对所支持的RTL版本支持版本[ X ])进行了检查
- [ ] 功能点(共有[ X ]个)与[设计文档]()一致
- [ ] 检查点(共有[ X ]个)覆盖所有功能点
- [ ] 检查点的输入不依赖任何DUT引脚仅依赖Env的标准API
- [ ] 所有测试用例(共有[ X ]个)都对功能检查点进行了反标
- [ ] 所有测试用例都是通过 assert 进行的结果判断
- [ ] 所有DUT或对应wrapper都是通过fixture创建
- [ ] 在上述fixture中对RTL版本进行了检查
- [ ] 创建DUT或对应wrapper的fixture进行了功能和代码行覆盖率统计
- [ ] 设置代码行覆盖率时对过滤需求进行了检查
## TODO
测试用例
参考模型
文档:测试流程