此仓库用于发布体系结构课程2019年夏季学期的实验代码和要求,同时可用于学生的意见反馈。
实验成绩占课程成绩的40%,实验验收方式主要为课堂当面验收和实验报告的提交。
本学期计划实验时长为10周
- Lab1(4-5周)【15~20%】: 熟悉RISC-V指令集,完成RV32I指令集流水线CPU的设计报告;
- Lab2(6-8周)【40%】: 配置和使用RISCV编译工具链;完成RV32I流水线CPU的Verilog代码;利用RISCV-test测试文件进行仿真和CPU功能验证
- Lab3(第9周)【10%】: 将CPU烧写到FPGA上,并进行测试
- Lab4(10-12周)【20~25%】: 进一步拓展流水线(待定,可能是要求实现分支预测器或简化Cache)
- Lab5(第13周)【10%】:学习使用提供的Tomasulo软件模拟器和多Cache一致性软件模拟器,并完成实验报告
- 学生总数220人左右,教室容量110,每周开两次实验课,内容完全一样,可二选一参加
- 验收和报告补交在一周内扣除20%成绩,介于一周两周之内补交扣除40%成绩,超过两周不予验收。
- 为了照顾对流水线不熟悉的学生和鼓励实验课出勤,每堂课设置签到。(每次实验课开始15分钟后停止签到,实验课结束半小时前可以签离,每周两个实验时间段任选其一参加,有签到和签离就算当周满勤)。
- 上周和本周连续两次满勤可以申请本周实验晚交一周不做扣分处理。(比如Lab2阶段一验收是第6周,如果到了第6周实验课结束了实验还没做完,如果你第5周和第6周都满勤,可以在第6周签离时向助教申请晚交一周同时不扣分。)希望对流水线和verilog不熟悉的同学可以积极参与实验课,届时有问题多问问助教,助教可以一对一讲解或者统一指导。
- 签到记录不以其他方式影响成绩
- 每周实验课的开始时间,助教准点(14:30或18:30)开始本周实验指导和下周实验内容简单介绍
- 每次讲解5-20分钟
-
2019.3.17 Release Lab1
请提交CPU设计报告 截止日期:2019.3.31
邮箱地址:[email protected] -
2019.3.17 Release Lab2
阶段一课堂验收 截止日期:2019.4.6
阶段二课堂验收 截止日期:2019.4.13
阶段三课堂验收 截止日期:2019.4.20
请提交实验2的实验报告 截止日期:2019.4.27
邮箱地址:[email protected]
-
lab1助教答疑 (教室容量110人,无签到)
2019.3.21下午(14:30-17:00 电三楼406)
2019.3.23晚(18:30-21:00 电三楼406) -
lab1答案分析+Lab2预先讲解(讲解大约20分钟)(教室容量110人,有签到)
2019.3.28下午(14:30-17:00 电三楼406)
2019.3.30晚(18:30-21:00 电三楼406) -
lab2阶段一课堂验收时间(教室容量110人,有签到)
2019.4.4下午(14:30-17:00 电三楼406)
2019.4.6晚(18:30-21:00 电三楼406) -
lab2阶段二课堂验收时间(教室容量110人,有签到)
2019.4.11下午(14:30-17:00 电三楼406)
2019.4.13晚(18:30-21:00 电三楼406) -
lab2阶段三课堂验收时间(教室容量110人,有签到)
2019.4.18下午(14:30-17:00 电三楼406)
2019.4.20晚(18:30-21:00 电三楼406)
1_VerilogSourceCode Verilog源代码
1_CPUCore_src CPU CPU core的verilog代码
2_Simulation 仿真用testBench代码2_BRAMInputFileGenerator 脚本文件,利用汇编文件生成对应的16进制指令流文件 4_ProjectDesignFiles 包含CPU的流水线模块设计图
5_DetailDocuments 包含每次实验的具体实验要求
- 新实验发布时会在群里面统一公告。
- 动手做新实验时,请先进入5_DetailDocuments目录下,查找本次实验对应的文档,并根据文档完成实验和试验报告。
现在是2019年夏季学期学期初,体系结构课程实验刚刚开始了它的升级换代。
嵌入式系统实验室研一的同学们(部分也是体系结构课程的助教)正在努力地设计实验和提供资料。不过由于时间和能力有限,试验过程中可能存在一些问题,希望大家多多体谅,也欢迎大家在群里或者issue中提出宝贵的意见。
感谢ESLAB的同学们为本实验付出的努力,也感谢每一位参与实验的本科生的理解与支持。