forked from XS-MLVP/env-xs-ov-00-bpu
update tasks and milestone
This commit is contained in:
parent
a0bba518af
commit
2717cb499f
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 244 KiB |
|
@ -61,8 +61,7 @@
|
|||
|
||||
请访问以下链接报名参与本活动:
|
||||
|
||||
https://www.example.com
|
||||
|
||||
[报名问卷](https://iz9a87wn37.feishu.cn/share/base/form/shrcnwpiyWaVUzyo47QdPBGy5Yd)
|
||||
|
||||
## 加入讨论群
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
若需要一次性运行所有测试用例,可以运行如下命令:
|
||||
|
|
139
doc/join_cn.md
139
doc/join_cn.md
|
@ -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. 最终汇报得分
|
Loading…
Reference in New Issue