“系统能力”CPU设计竞赛的技术方案
一、 评价方式的基本说明
第1条 除本技术方案特别要求、规定和禁止事项外,各参赛队自行决定CPU微架构、演示方案等。
第2条 大赛鼓励各参赛队综合运用各种知识(如流水线、超标量、预测、Cache等)并充分利用实验板硬件资源以尽可能提高CPU运行性能。
第3条 大赛鼓励各参赛队综合运用多种知识去构思并实现一个综合性的软硬件系统,以展示构造系统的想象力与能力。
第4条 为展示参赛队伍的设计水平、增加竞赛的对抗性以及体现“自主可控”的设计理念,进入决赛的参赛队还需要再实现若干条由大赛组委会定义的指令。
二、 预赛评分标准
第5条 比赛内容。开发支持MIPS基准指令集的MIPS微系统。
1. 预赛阶段的MIPS微系统使用FPGA片内存储器即可。
2. 指令存储器应不小于8KB,数据存储器应不小于8KB。
3. FPGA内部集成1个计数器(用于性能测试)。
4. FPGA支持7段数码管显示(用于性能测试)。
5. CPU核通过AHB-Lite接口或类SRAM风格接口与各I/O设备互联通信。
第6条 功能测试。以正确实现的指令数为评价依据。功能测试分值越大越好。计算方法如下:
第7条 性能测试。以FPGA运行基准测试程序所需的程序理想执行时间为评价依据。性能测试分值越大越好。基本计算方法如下:
1. 各参赛队中程序理想执行时间最小者的性能测试分值被定义为100分,最大者的性能测试分值被定义为0分;其余各队成绩被映射至[0,100]区间。
2. 程序理想执行时间计算方法如下:
3. 计数器周期数。该值是指利用计数器记录基准测试程序运行的时间。计算方法如下:
4. FPGA综合周期时间。该值是指以较严格时序为目标,由FPGA综合时序报告给出的关键路径延迟。该值越小意味着该设计可满足的最大时钟频率越高。例如,如果该值是10ns,则意味着该设计最大运行时钟频率为100MHz。
5. 大赛组委会会审查各参赛作品源代码。凡是采用单周期架构的,其程序理想执行时间被惩罚性强制乘以2。
第8条 各参赛队总成绩计算方法如下:
三、 决赛评分标准
第9条 决赛阶段的MIPS微系统内部设计可以与预赛阶段的设计不同,但必须满足下列设计约束:
1. FPGA内部集成至少1个计数器(用于性能测试)。
2. FPGA支持7段数码管显示(用于性能测试)。
第10条 比赛内容如下:
1. 性能测试。运行基准测试程序测量CPU的性能。
2. 系统展示。运行操作系统(可以是大赛提供的操作系统,也可以自行选择操作系统选型)以及应用程序的实际效果。
3. 实现自定义指令。在进行系统展示的MIPS微系统基础上,在规定时间内再实现若干条由大赛组委会定义的指令。大赛仅测试自定义指令的功能是否正确实现。
4. 答辩。解读设计思路并回答专家问题。7分钟汇报,8分钟提问。
第11条 决赛总成绩100分,各分项成绩权重如下:
1. 基准测试程序运行成绩:30%
2. 系统展示成绩:30%
3. 自定义指令功能正确性成绩:20%
4. 答辩成绩:20%
四、 竞赛环节及奖励方案
第12条 竞赛分预赛和决赛2个阶段。
第13条 在预赛阶段,各参赛队需在大赛网站提交各自作品。大赛组委会统一测试并决定最终入围决赛的10支队伍。
第14条 预赛阶段极端情况考虑。假设所有参赛队均无法通过性能测试,则总成绩计算方法调整如下。
1. 首先按功能测试得分排序。
2. 功能测试得分相同者,按照FPGA综合周期时间排序。
第15条 大赛设一等奖1名,二等奖3名,三等奖6名。
第16条 一等奖奖金5万元,二等奖奖金1万元,三等奖奖金3000元。
第17条 参赛选手学籍在报名时必须是本科生。
第18条 每支参赛队的选手人数不超过4人。每个学校的参赛队不超过2支队伍。
五、 参赛作品提交
第19条 各参赛队预赛阶段需要在大赛网站提交完整的设计内容:
1. MIPS微系统硬件设计的完整工程文件(必须包含全部VerilogHDL源代码、FPGA管脚分配文件、FPGA二进制下载文件)
2. MIPS微系统设计文档。
第20条 如果决赛阶段的硬件设计与预赛阶段的硬件设计有任何不同,均需要再次提交设计内容:
1. MIPS微系统硬件设计的完整工程文件(必须包含全部VerilogHDL源代码、FPGA管脚分配文件、FPGA二进制下载文件)。
2. MIPS微系统设计文档。
3. 说明与预赛阶段设计方案主要不同的设计文档。
第21条 如果需要使用第三方IP或者借鉴他人的部分源码,必须在设计文档中予以明确说明。
第22条 参赛队必须严守学术诚实。一经发现代码抄袭,取消参赛队的成绩。
六、 测试程序
第23条 大赛提供的基准测试程序包括功能测试程序和性能测试程序,分别用于测试MIPS微系统能否执行正确的基准指令集及其性能。两者均与操作系统功能无关。
第24条 自定义指令测试程序为汇编程序,仅用于测试自定义指令功能正确性。自定义指令测试程序与性能测试无关。
七、 软硬件系统规范
第25条 MIPS基准指令集是MIPS32标准指令集的子集,只包括定点指令(含部分CP0相关指令),不含浮点及MMU等相关指令。
第26条 自定义指令由大赛组委会在决赛阶段发布。
1. 自定义指令为定点指令,且与CP0无关。
2. 自定义指令包括:计算、分支与访存三大类。
3. 自定义指令符合MIPS指令架构基本设计理念。
第27条 大赛提供一个小型操作系统供各参赛队在决赛阶段选用。各参赛队也可自行选择操作系统,以充分展示MIPS微系统的全系统功能和应用水平。
第28条 为确保大赛提供的测试程序可以正确运行,MIPS微系统必须在下列方面符合第35条 中的“MIPS微系统体系结构规范”:
1. 存储器地址空间。
2. I/O设备地址空间。
第29条 大赛指定的FPGA实验设备主要参数如下:
1. FPGA型号:XILINX公司Artix-7 FPGA。
2. DDR3 SDRAM:16位,128MB。
3. SPI FLASH:4MB。
4. RS-232接口:1个。
5. 7段数码管:8个。
6. 拨动开关:8位。
第30条 EDA及软件开发环境如下:
1. 大赛指定龙芯体系结构教学实验平台作为MIPS运行环境。
2. 大赛指定龙芯MIPS-GCC交叉编译器为C编译器。
3. 大赛指定XILINX公司的Vivado2015.2为FPGA综合工具。
4. 除C编译器和FPGA综合工具为大赛指定工具外,各参赛队可使用其他各种开发工具。
八、 大赛网站
第31条 大赛网站网址为:www.nscscc.org。
第32条 大赛网站提供多种软件开发工具及设计资料,包括但不限于下列内容:
1. MIPS微系统体系结构规范。
2. MIPS基准指令集。
3. 基准测试程序。
4. 龙芯体系结构教学实验平台体系结构规范,及FLASH编程工具。
5. 龙芯MIPS-GCC交叉编译器使用手册。
6. 小型操作系统源代码及工程文件、编译说明、系统加载说明等。
7. IP核(AMBA总线控制器、DDR3 SDRAM控制器、FLASH控制器、计数器控制器、定时器控制器、UART控制器、PLL等)及编程规范。
8. 部分IP核调用的VerilogHDL参考样例程序。
9. AHB-Lite接口规范及使用参考样例程序。
下载附件:
15867系统能力培养大赛章程.pdf
下载附件:
15867系统能力大赛通知.pdf