本课程是计算机硬件与系统方向的综合实践课程,通过表格驱动的工程化设计方法和差分测试的处理器功能验证方法,引导同学们逐步完成以RISC-V处理器为核心的片上系统设计,训练大家综合运用数字逻辑设计、计算机组成原理等基础课程所学的数字系统设计和计算机组成知识,深度理解计算机硬件系统的工作原理及软硬件协同工作机制,培养计算机系统的设计能力、分析能力和创新能力,提高解决复杂工程问题的能力。
课程实验指导书链接:https://hitsz-cslab.gitee.io/cpu/
课程材料下载链接:https://share.weiyun.com/Ac3fecnb,访问码:xkqmh6
本课程的工程化设计方法借鉴了北京航空航天大学高小鹏教授“计算机组成与实现”课程的工程化开发方法,在此表示感谢。
训练学生综合运用“数字逻辑设计”、“计算机组成原理”、“汇编语言程序设计”基础课程的知识,系统掌握计算机硬件系统设计与实现的工程方法;通过开放式的设计要求,培养学生对计算机硬件系统的分析、设计能力和创新能力;通过从计算机部件到CPU,再到SoC的逐步实现,培养学生解决复杂工程问题能力;通过硬件描述语言和EDA开发工具的使用,训练学生计算机硬件系统的开发与调试能力。
本课程成绩由平时成绩、项目成绩、提交材料成绩3部分组成。
平时成绩
根据各章节视频的观看时长给予出勤成绩
参与课程中的讨论
根据提交的设计表给予作业成绩
项目成绩
完成RISC-V汇编编程题目
单周期CPU设计:
绘制单周期数据通路图
通过Trace功能验证
流水线CPU设计:
实现理想流水线
使用暂停法解决流水线冒险
使用旁路法解决流水线冒
SoC设计:
实现简易总线桥
实现4种基本外设的I/O接口电路
单周期SoC下板验证
流水线SoC下板验证
PS:下板运行由本地老师线下验收来确定是否通过
提交材料成绩
所编写的全部源代码
课程报告
预备知识/先修课程:数字逻辑设计、计算机组成原理、RISC-V汇编语言程序设计
David A. Patterson, John L. Hennessy. 计算机组成与设计:硬件/软件接口(RISC-V版)
课程配套的实验指导书记载了课程及实验过程中可能遇到的常见问题。建议同学们遇到问题时先自行查阅: