update tasks and milestone

This commit is contained in:
Makiras 2024-05-07 02:39:19 +00:00
parent a0bba518af
commit 2717cb499f
8 changed files with 69 additions and 76 deletions

View File

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 244 KiB

View File

@ -61,8 +61,7 @@
请访问以下链接报名参与本活动:
https://www.example.com
[报名问卷](https://iz9a87wn37.feishu.cn/share/base/form/shrcnwpiyWaVUzyo47QdPBGy5Yd)
## 加入讨论群

View File

@ -128,7 +128,7 @@ make TEST=uFTB_raw run
该命令会自动运行 `uFTB_raw` 测试用例,并生成波形、覆盖率和测试报告等信息。测试报告会被保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/report.html` 查看本次测试报告内容,测试报告样式如下图所示,其余文件也会在 `tests` 目录下生成。
<div style="text-align: center;">
<img src="../image/test-report.png" width="700">
<img src="./image/test-report.png" width="700">
</div>
若需要一次性运行所有测试用例,可以运行如下命令:

View File

@ -6,7 +6,7 @@
参与验证的流程如下图所示:
<img src="../image/ov-pipline.svg" width="800px">
<img src="./image/ov-pipline.svg" width="800px">
#### 0在线报名
@ -48,12 +48,75 @@ Fork本仓库然后在本地进行环境搭建参与测试任务。
编写PPT在线进行对整个验证任务的答辩。答辩根据给队伍的完成情况集中组织。
## 任务
### uFTB
1. 完成对 uFTB 子预测器的代码及文档阅读,了解 uFTB 的工作原理及模块功能。明确 uFTB 使用的 FTB 项缓存的结构。
2. 根据给出的参考功能点,完善 uFTB 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 uFTB 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 uFTB 的测试用例的代码编写,建议完成**参考模型的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 uFTB 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/uFTB-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
### TageSC
1. 完成对 TageSC 子预测器的代码及文档阅读,了解 Tage 及 SC 单个模块的工作原理及功能,再了解 TageSC 整体模块的功能。明确使用的 Tage 表项及 SC 表项的结构,以及分支折叠历史的工作原理。
2. 根据给出的参考功能点,完善 Tage、SC、TageSC 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 TageSC 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 TageSC 的测试用例的代码编写,要求完成**参考模型的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 TageSC 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/TageSC-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
### FTB
1. 完成对 FTB 子预测器的代码及文档阅读,了解 FTB 的工作原理及模块功能。明确 FTB 使用的 FTB 项缓存的结构,了解条件分支指令和间接跳转指令的不同。
2. 根据给出的参考功能点,完善 FTB 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 FTB 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 FTB 的测试用例的代码编写,建议完成**参考模型的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 FTB 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/FTB-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
### ITTAGE
1. 完成对 ITTAGE 子预测器的代码及文档阅读,了解 ITTAGE 的工作原理及模块功能。明确 ITTAGE 使用的 Tage 表项的结构,了解 ITTAGE 的预测器结构。同时了解分支折叠历史的工作原理。
2. 根据给出的参考功能点,完善 ITTAGE 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 ITTAGE 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 ITTAGE 的测试用例的代码编写,要求完成**参考模型的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 ITTAGE 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/ITTAGE-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
### RAS
1. 完成对 RAS 子预测器的代码及文档阅读,了解 RAS 的工作原理及模块功能。了解程序运行时栈帧的工作原理,再明确 RAS 的 RAS 栈的工作原理。最明确 RAS 的预测器如何为 call 和 ret 指令提供预测。
2. 根据给出的参考功能点,完善 RAS 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 RAS 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 RAS 的测试用例的代码编写,要求完成**参考模型的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 RAS 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/RAS-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
### BPU Top
1. 完成对 BPU Top 子预测器的代码及文档阅读,了解 BPU Top 的工作原理及模块功能。了解 BPU Top 的预测器结构,明确 BPU Top 的预测器如何为不同类型的分支提供预测。同时了解 BPU Top 如何与外界的 FTQ 模块进行交互。
2. 根据给出的参考功能点,完善 BPU Top 需要验证的功能点,并针对这些功能点分解出具体的测试点。同时解释每个测试点对验证功能点的意义。
3. 依据分解出的测试点,完成对 BPU Top 的测试用例编写。测试用例需要覆盖到所有的测试点。同时,需要对测试用例进行详细的说明,包括测试用例的目的、输入、输出、预期结果及原理等。
4. 完成对 BPU Top 的测试用例的代码编写,要求完成**参考模型以及FTQ模拟验证环境的编写**。确保测试用例能够通过验证环境的运行。在编码的过程中,需要保证代码的质量,包括代码的可读性、可维护性、可扩展性等。
5. 完成对 BPU Top 的测试用例的运行,生成测试报告。测试报告需要包括测试用例的运行结果、代码行覆盖率、功能覆盖率等信息。测试报告需要保存在 `tests/report` 目录中,可通过浏览器打开 `tests/report/BPU-Top-yourId.html` 查看本次测试报告内容。
6. 最终提交前需要对测试报告进行检查确保测试报告符合提交PR的基本要求。
## 里程碑
1. 完成功能点及测试点分解:经过`1.`的阅读工作完成学习后,进行`2.`。与我们进行沟通确认完成`2.`后才可以开始后面的工作。
2. 完成测试用例沟通:完成`3.`后,与我们进行沟通确认完成`3.`的行为符合预期及原理正确后才可以开始后面的工作。
3. 完成测试报告:经过`4.`和`5.`的过程会生成一个测试报告。当经过不断迭代报告最终满足PR提交基本要求后同时我们审核通过即认为验证任务完成。在完成迭代的过程中如果遇到bug需要和我们进行沟通我们会给予相应的积分。同时如果有**值得提问的问题**,可以在讨论群中进行讨论。
## PR提交基本要求
覆盖率要求:
1. 代码行覆盖率需要大于 95%
1. 代码行覆盖率需要大于 95% ,并解释未覆盖到的代码原因。
1. 功能覆盖率必要达到 100%
1. 覆盖率有验证环境运行得到,不可对报告和生成逻辑进行修改
@ -70,74 +133,4 @@ Fork本仓库然后在本地进行环境搭建参与测试任务。
1. 验出bug并分析出bug原因按bug确认等级获取积分
1. 修复本项目中文档,代码中出现的错误,按错误等级获取积分
1. 提交最终验证报告,按报告质量,覆盖率获得积分
1. 最终汇报得分
## 任务里程碑
### uFTB
1. 驱动 uFTB ,并正常读取预测块信息、获取更新信息、输出预测信息。
2. 完成 Refrence Model 的编写能够正确输出预测信息且更新策略与RTL一致。
3. 完成 uFTB 的测试用例编写,覆盖 50% 功能点。
4. 完成 uFTB 的测试用例编写,覆盖 100% 功能点。
5. 完成 uFTB 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
6. 解释未覆盖的代码行。
7. 解释功能点的测试用例设计,如何保证覆盖了该功能。
8. 根据要求,提交最终验证报告。
### TageSC
1. 驱动 TageSC ,并正常读取预测块信息、获取更新信息、输出预测信息。
2. 完成 Tage 的 Refrence Model 编写能够正确输出预测信息且更新策略与RTL一致。
3. 完成 SC 的 Refrence Model 编写能够正确输出预测信息且更新策略与RTL一致。
4. 完成 TageSC 的测试用例编写,覆盖 50% 功能点。
5. 完成 TageSC 的测试用例编写,覆盖 100% 功能点。
6. 完成 TageSC 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
7. 解释未覆盖的代码行。
8. 解释功能点的测试用例设计,如何保证覆盖了该功能。
9. 根据要求,提交最终验证报告。
### FTB
1. 驱动 FTB ,并正常读取预测块信息、获取更新信息、输出预测信息。
2. 完成 FTB 的 Refrence Model 编写能够正确输出预测信息且更新策略与RTL一致。
3. 完成 FTB 的测试用例编写,覆盖 50% 功能点。
4. 完成 FTB 的测试用例编写,覆盖 100% 功能点。
5. 完成 FTB 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
6. 解释未覆盖的代码行。
7. 解释功能点的测试用例设计,如何保证覆盖了该功能。
8. 根据要求,提交最终验证报告。
### ITTAGE
1. 驱动 ITTAGE ,并正常读取预测块信息、获取更新信息、输出预测信息。
2. 完成 ITTAGE 的 Refrence Model 编写能够正确输出预测信息且更新策略与RTL一致。
3. 完成 ITTAGE 的测试用例编写,覆盖 50% 功能点。
4. 完成 ITTAGE 的测试用例编写,覆盖 100% 功能点。
5. 完成 ITTAGE 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
6. 解释未覆盖的代码行。
7. 解释功能点的测试用例设计,如何保证覆盖了该功能。
8. 根据要求,提交最终验证报告。
### RAS
1. 驱动 RAS 并正常读取预测块信息、获取更新commit信息、输出预测信息。
2. 完成 RAS 的 Refrence Model 编写能够正确输出预测信息且更新策略与RTL一致。
3. 完成 RAS 的测试用例编写,覆盖 50% 功能点。
4. 完成 RAS 的测试用例编写,覆盖 100% 功能点。
5. 完成 RAS 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
6. 解释未覆盖的代码行。
7. 解释功能点的测试用例设计,如何保证覆盖了该功能。
8. 根据要求,提交最终验证报告。
### BPU Top
1. 驱动 BPU Top ,并且能正常控制各个子预测器。
2. 完成驱动 BPU Top 所需的 FTQ 环境开发,并使用该环境结合真实 Trace 进行驱动。
2. 完成 BPU Top 的 Refrence Model 编写,能够生成符合文档描述的流水线控制信号及重定向信号。
3. 完成 BPU Top 的测试用例编写,覆盖 50% 功能点。
4. 完成 BPU Top 的测试用例编写,覆盖 100% 功能点。
5. 完成 BPU Top 的测试用例编写,覆盖 100% 功能点,且代码行覆盖率大于 95%。
6. 解释未覆盖的代码行。
7. 解释功能点的测试用例设计,并解释测试用例的运行流程。
8. 根据要求,提交最终验证报告。
1. 最终汇报得分

1
image Symbolic link
View File

@ -0,0 +1 @@
.github/image