第七届集创赛杯赛题目——芯来RISC-V杯

芯来RISC-V杯

一、杯赛题目:蜂鸟E203 RISC-V内核的优化、扩展及应用

二、参赛组别:A组B组

三、赛题任务

基于蜂鸟E203 RISC-V内核的现有实现进行一定性能优化,以及扩展运算算子进行算力的提升。在此基础上完成系统级应用的实现,要求所实现的应用系统具有创新性、实用性以及市场应用前景

具体要求如下:

1. 对蜂鸟E203 RISC-V内核的微架构实现进行一定优化,并通过Benchmark基准测试(DhrystoneCoreMarkWhetstone)来进行系统性能测试,要求在同等软件环境下与原本蜂鸟SoC测试分数相比有一定提升,对蜂鸟内核微架构所进行的具体优化方式须在报告中详细说明。

说明:蜂鸟E203(hbirdv2 SoC),在Nuclei Studio(202204版)中直接运行HBird SDK(0.1.3)中集成相关BenchMark测试分数(工程默认编译选项,程序运行在ILM模式)如下。

Ø Dhrystone:1.28 DMIPS/MHz

Ø CoreMark: 2.12 CoreMark/MHz

Ø Whetstone:0.04 MWIPS/MHz

2. 对蜂鸟E203 RISC-V内核进行运算算子(譬如加解密算法、浮点运算、矢量运算等)的扩展,可通过NICE协处理器接口进行添加,也可直接实现RISC-V指令子集(譬如P扩展、F/D扩展、V扩展、B扩展、K扩展等)。

Ø 对于采用NICE协处理器接口进行的扩展实现,需要在蜂鸟软件开发平台HBird SDK中进行相关软件驱动的添加;

Ø 对于RISC-V扩展指令(PV)的实现,可结合开源NMSIS库(DSPNN)进行使用,同时也可对NMSIS库相关软件实现进行优化;

Ø 对于RISC-V扩展指令(K)的实现,可参考开源mbedTLS库中相关API进行函数库的实现及使用。

3. 对蜂鸟E203内核的调试模块进行扩展,目前蜂鸟E203内核的调试模块仅支持软件断点,可增加硬件断点功能的支持(选做)。

4. 对蜂鸟E203内核的中断管理模块进行优化,目前蜂鸟E203内核的中断硬件实现不支持向量化中断及中断嵌套,可增加向量化中断及中断嵌套的实现(选做)。

5. 基于上述的优化及扩展,完成一定系统级应用,系统级应用方向不限,需要体现出所添加内核扩展运算算子的使用及带来的性能提升。

6. 对于项目开发中,参考或使用到的其他开源IP需在报告中注明出处。

四、技术资源及参考资料

1. 蜂鸟E203 SoC源码(https://github.com/riscv-mcu/e203_hbirdv2

2. 蜂鸟HBird SDK源码(https://github.com/riscv-mcu/hbird-sdk

3. Nuclei Studio IDEhttps://www.rvmcu.com/nucleistudio.html

4. NMSIS库源码(https://github.com/Nuclei-Software/NMSIS

5. 蜂鸟线上文档(https://doc.nucleisys.com/hbirdv2/

6. 蜂鸟书籍(《手把手教你RISC-V CPU》上下册)

7. 蜂鸟架构讲解视频(https://www.rvmcu.com/campus-courseware.html

8. RISC-V指令集架构文档(https://riscv.org/technical/specifications/

9. 往届集创赛芯来RISC-V杯优秀作品分享(https://www.rvmcu.com/column-show-id-6.html

五、提交内容:

1. 设计报告:

(1) 作品展板与PPT,包括但不限于团队介绍、项目研发情况、技术创新点、项目心得体会、后续工作。

(2) 设计报告,内容建议包括但不限于以下内容:蜂鸟E203内核微架构所做的优化工作及效果、扩展运算算子的具体实现及相关底层软件库的实现、功能仿真验证、系统整体应用及运行效果、项目总结及展望。

(3) 系统展示图片、视频

2. 设计数据:

(1) 硬件开发板原理图

(2) 软硬件设计源代码

(3) 仿真和测试结果

六、评分标准:

内容

功能实现

分值

评分标准

基础功能

在蜂鸟E203 SoC平台成功运行Benchmark测试程序(Dhrystone、CoreMark、Whetstone)。

对蜂鸟E203 RISC-V内核微架构进行了一定优化,Benchmark基准测试分数有所提升

30

Benchmark测试分数越高分值则越高;当分值接近的情况下,硬件资源消耗越小得分越高。

实现运算算子扩展,并能配合相应软件库进行使用,相较纯软件算法实现有性能提升

20

运算算子的通用性、复杂度配合软件库使用的性能;

是否有对NMSIS库相关的使用和优化

完成一定系统级应用,能体现扩展运算算子的使用及带来的性能提升

20

系统级应用的创新性、应用前景、复杂度,有对运算算子使用带来性能提升的分析

扩展功能

调试模块添加了硬件断点的功能

5

完成功能实现,可在flash运行模式进行断点调试,即可得分

中断管理部分实现了中断向量化及中断嵌套

5

完成功能实现,对中断处理性能进行一定测试分析,即可得分

项目报告与现场答辩演示

技术报告内容丰富详实,思路清晰,可读性高

PPT、展板内容完整、制作精美

展示视频描述清晰、有趣

答辩和问答表现现场演示效果

20

据提交材料及现场表现

技术分享(附加分)

RVMCU社区集创赛论坛发布项目相关技术分享文章

10

每篇可获得1~2分,依内容质量而定。上限10分

备注:技术分享项(附加分)仅在初赛评审阶段列入总分

七、参赛资源说明

1. 参赛所选用的FPGA开发平台限定于Xilinx FPGA,不得采用内含硬核处理器的FPGA芯片(包括不限于ZYNQ等),具体型号和开发板厂家不限。

2. 芯来科技将为参赛队提供免费的开发板租借服务(需要押金,参赛队伍赛后归还即可,如人为损坏或遗失将影响开发板押金的退还),在报名结束后开通借用通道。因为开发板数量有限(预计Nuclei DDR200T开发板 25块,Nuclei MCU200T开发板25块),申请者需在报名时提交一份开发板申请表(申请表下载),简述项目背景和以往成果,择优发放。借用板卡为Nuclei DDR200T开发板和Nuclei MCU200T开发板,板卡详情请访问芯来科技官网开发板页面(https://www.nucleisys.com/developboard.php)进行查看。

3. Nuclei开发板申请方式:完成报名后,填写申请表,提交至canhu@nucleisys.com,邮件主题为“报名编号(CICCXXXX+第七届集创赛芯来科技开发板申请”,待企业通过审核后,将会在RVMCU社区公布名单,同时给出淘宝地址下单。

4. 实现完整应用所需硬件扩展模块由参赛队伍自行采购。

八、注意事项:

1. 参加企业命题杯赛的作品,需进行开源分享(包括设计源码)

2. 大赛组委会和杯赛企业对参赛作品的提交材料拥有使用权和展示权

3. 参赛项目可以参考现有公开发表的文献和论文内容,但应当在技术论文和答辩PPT中注明来源,且不能将参考的内容作为自己作品的创新部分。

(请参赛团队务必添加报名杯赛的答疑钉钉群中,以便及时获取杯赛最新通知及进展,群号码及入群方式:点击查看